diff options
author | My-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com> | 2021-08-24 23:06:20 -0400 |
---|---|---|
committer | My-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com> | 2021-08-24 23:06:20 -0400 |
commit | 7fb798710cfdbc40e4633be147311e285e97d111 (patch) | |
tree | 65ff258a2cf6ee2740c4a31508db13ea5bc655a9 /src/main | |
parent | 7dcfffe60dfd4fa73aa045be3e6e700b074ab60f (diff) | |
download | SkytilsMod-7fb798710cfdbc40e4633be147311e285e97d111.tar.gz SkytilsMod-7fb798710cfdbc40e4633be147311e285e97d111.tar.bz2 SkytilsMod-7fb798710cfdbc40e4633be147311e285e97d111.zip |
Make disable block animation work with sk1er oam
Diffstat (limited to 'src/main')
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", |