aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-08-24 23:06:20 -0400
committerMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-08-24 23:06:20 -0400
commit7fb798710cfdbc40e4633be147311e285e97d111 (patch)
tree65ff258a2cf6ee2740c4a31508db13ea5bc655a9 /src/main
parent7dcfffe60dfd4fa73aa045be3e6e700b074ab60f (diff)
downloadSkytilsMod-7fb798710cfdbc40e4633be147311e285e97d111.tar.gz
SkytilsMod-7fb798710cfdbc40e4633be147311e285e97d111.tar.bz2
SkytilsMod-7fb798710cfdbc40e4633be147311e285e97d111.zip
Make disable block animation work with sk1er oam
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/transformers/sk1eroam/MixinAnimationHandler.java41
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonTimer.kt8
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/ItemRendererHook.kt2
-rw-r--r--src/main/resources/mixins.skytils.json1
4 files changed, 47 insertions, 5 deletions
diff --git a/src/main/java/skytils/skytilsmod/mixins/transformers/sk1eroam/MixinAnimationHandler.java b/src/main/java/skytils/skytilsmod/mixins/transformers/sk1eroam/MixinAnimationHandler.java
new file mode 100644
index 00000000..df5ff2bb
--- /dev/null
+++ b/src/main/java/skytils/skytilsmod/mixins/transformers/sk1eroam/MixinAnimationHandler.java
@@ -0,0 +1,41 @@
+/*
+ * Skytils - Hypixel Skyblock Quality of Life Mod
+ * Copyright (C) 2021 Skytils
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package skytils.skytilsmod.mixins.transformers.sk1eroam;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.item.EnumAction;
+import org.spongepowered.asm.mixin.*;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.ModifyVariable;
+import skytils.skytilsmod.mixins.hooks.renderer.ItemRendererHookKt;
+
+@Pseudo
+@Mixin(targets = "club.sk1er.oldanimations.AnimationHandler", remap = false)
+public abstract class MixinAnimationHandler {
+
+ @Shadow
+ @Final
+ private Minecraft mc;
+
+ @Dynamic
+ @ModifyVariable(method = "renderItemInFirstPerson", at = @At("STORE"))
+ private EnumAction changeEnumAction(EnumAction action) {
+ return mc.thePlayer.getItemInUse() != null ? ItemRendererHookKt.getItemInUseCountForFirstPerson(mc.thePlayer, mc.thePlayer.getItemInUse()) == 0 ? EnumAction.NONE : action : action;
+ }
+}
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonTimer.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonTimer.kt
index a6c57591..26cef7e2 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonTimer.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonTimer.kt
@@ -99,8 +99,8 @@ class DungeonTimer {
} else if (Skytils.config.necronPhaseTimer && DungeonFeatures.dungeonFloor == "F7") {
add("§bPhase 1 took ${diff(phase1ClearTime, bossEntryTime)} seconds.")
add("§cPhase 2 took ${diff(phase2ClearTime, phase1ClearTime)} seconds.")
- add("§6Phase 3 took ${diff(phase3ClearTime, phase2ClearTime)} seconds.}.")
- add("§4Phase 4 took ${diff(bossClearTime, phase3ClearTime)} seconds.}.")
+ add("§6Phase 3 took ${diff(phase3ClearTime, phase2ClearTime)} seconds..")
+ add("§4Phase 4 took ${diff(bossClearTime, phase3ClearTime)} seconds..")
}
if (Skytils.config.dungeonTimer) {
add("§bDungeon finished in ${diff(bossClearTime, dungeonStartTime)} seconds.")
@@ -200,10 +200,10 @@ class DungeonTimer {
"§aTime Elapsed: ${if (dungeonStartTime == -1L) "0s" else dungeonTimeFormat(time)}",
"§7Wither Doors: $witherDoors",
"§4Blood Open: ${
- if (bloodOpenTime == -1L) "${time.roundToPrecision(2)}" else dungeonTimeFormat(
+ if (bloodOpenTime == -1L) "${time.roundToPrecision(2)}s" else dungeonTimeFormat(
(bloodOpenTime - dungeonStartTime) / 1000.0
)
- }s",
+ }",
).apply {
if (bloodOpenTime != -1L)
add(
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/ItemRendererHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/ItemRendererHook.kt
index b75dde39..0284fd1e 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/ItemRendererHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/ItemRendererHook.kt
@@ -25,6 +25,6 @@ import skytils.skytilsmod.Skytils
import skytils.skytilsmod.utils.Utils
fun getItemInUseCountForFirstPerson(player: AbstractClientPlayer, item: ItemStack): Int {
- if (Skytils.config.disableBlockAnimation && Utils.inSkyblock && item.item is ItemSword && player.itemInUseDuration < 5) return 0
+ if (Skytils.config.disableBlockAnimation && Utils.inSkyblock && item.item is ItemSword && player.itemInUseDuration <= 7) return 0
return player.itemInUseCount
} \ No newline at end of file
diff --git a/src/main/resources/mixins.skytils.json b/src/main/resources/mixins.skytils.json
index 48ce3c2d..869ed977 100644
--- a/src/main/resources/mixins.skytils.json
+++ b/src/main/resources/mixins.skytils.json
@@ -55,6 +55,7 @@
"renderer.MixinTileEntityChestRenderer",
"renderer.MixinTileEntityItemStackRenderer",
"renderer.MixinTileEntitySkullRenderer",
+ "sk1eroam.MixinAnimationHandler",
"util.MixinIChatComponent$Serializer",
"util.MixinUtil",
"world.MixinChunk",