aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2025-01-02 17:23:57 -0500
committerGitHub <noreply@github.com>2025-01-03 06:23:57 +0800
commit18ec59c38af52b2fe3d5e315db915d6e50566d24 (patch)
tree606d6c6c3718de6d394564f841934a6974958b35 /src/main
parenta09c6ee7931a0af64f4a5be08830bbccdce4c38c (diff)
downloadSkyblocker-18ec59c38af52b2fe3d5e315db915d6e50566d24.tar.gz
Skyblocker-18ec59c38af52b2fe3d5e315db915d6e50566d24.tar.bz2
Skyblocker-18ec59c38af52b2fe3d5e315db915d6e50566d24.zip
Cancel Component Update Animation (#1116)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/HeldItemRendererMixin.java20
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json3
-rw-r--r--src/main/resources/skyblocker.mixins.json1
5 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
index 3495e1f1..38dff23f 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
@@ -90,6 +90,14 @@ public class UIAndVisualsCategory {
newValue -> config.uiAndVisuals.showEquipmentInInventory = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.config.uiAndVisuals.cancelComponentUpdateAnimation"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.cancelComponentUpdateAnimation.@Tooltip")))
+ .binding(defaults.uiAndVisuals.cancelComponentUpdateAnimation,
+ () -> config.uiAndVisuals.cancelComponentUpdateAnimation,
+ newValue -> config.uiAndVisuals.cancelComponentUpdateAnimation = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
//Chest Value FIXME change dropdown to color controller
.group(OptionGroup.createBuilder()
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
index deb981a1..c2f94a36 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
@@ -36,6 +36,9 @@ public class UIAndVisualsConfig {
public boolean showEquipmentInInventory = true;
@SerialEntry
+ public boolean cancelComponentUpdateAnimation = true;
+
+ @SerialEntry
public ChestValue chestValue = new ChestValue();
@SerialEntry
diff --git a/src/main/java/de/hysky/skyblocker/mixins/HeldItemRendererMixin.java b/src/main/java/de/hysky/skyblocker/mixins/HeldItemRendererMixin.java
new file mode 100644
index 00000000..8605fec2
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixins/HeldItemRendererMixin.java
@@ -0,0 +1,20 @@
+package de.hysky.skyblocker.mixins;
+
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+
+import com.llamalad7.mixinextras.injector.ModifyReturnValue;
+
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.client.render.item.HeldItemRenderer;
+import net.minecraft.item.ItemStack;
+
+@Mixin(HeldItemRenderer.class)
+public class HeldItemRendererMixin {
+
+ @ModifyReturnValue(method = "shouldSkipHandAnimationOnSwap", at = @At("RETURN"))
+ private boolean skyblocker$cancelComponentUpdateAnimation(boolean original, ItemStack from, ItemStack to) {
+ return Utils.isOnSkyblock() && from.getItem() == to.getItem() ? original || SkyblockerConfigManager.get().uiAndVisuals.cancelComponentUpdateAnimation : original;
+ }
+}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index 2a13cb35..e86518fe 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -774,6 +774,9 @@
"skyblocker.config.uiAndVisuals.bars": "Health, Mana, Defence, Speed & XP Bars",
"skyblocker.config.uiAndVisuals.bars.enableBars": "Enable Bars",
+ "skyblocker.config.uiAndVisuals.cancelComponentUpdateAnimation": "Cancel Component Update Animation",
+ "skyblocker.config.uiAndVisuals.cancelComponentUpdateAnimation.@Tooltip": "Cancels the down-and-up animation in your hand that plays when an item's components are updated.",
+
"skyblocker.config.uiAndVisuals.chestValue": "Chest Value",
"skyblocker.config.uiAndVisuals.chestValue.color": "Chest Value Color",
"skyblocker.config.uiAndVisuals.chestValue.enableChestValue": "Enable Chest Value",
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index 7943eb87..dc9d27cc 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -22,6 +22,7 @@
"GenericContainerScreenHandlerMixin",
"HandledScreenMixin",
"HandledScreenProviderMixin",
+ "HeldItemRendererMixin",
"InGameHudMixin",
"InGameOverlayRendererMixin",
"InventoryScreenMixin",