diff options
author | My-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com> | 2021-08-16 12:34:39 -0400 |
---|---|---|
committer | My-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com> | 2021-08-16 12:34:39 -0400 |
commit | 5cd27a609cbd915fe55afa2c7bab019693d8bc62 (patch) | |
tree | 6ec67b12a1ab4d84531e635e930275ce9f43fd9a /src/main | |
parent | 986590e90fef9c058a5a02632e0de6f59dbfe828 (diff) | |
download | SkytilsMod-5cd27a609cbd915fe55afa2c7bab019693d8bc62.tar.gz SkytilsMod-5cd27a609cbd915fe55afa2c7bab019693d8bc62.tar.bz2 SkytilsMod-5cd27a609cbd915fe55afa2c7bab019693d8bc62.zip |
Remove debug overlay mixin and mixin to world instead
Diffstat (limited to 'src/main')
5 files changed, 24 insertions, 37 deletions
diff --git a/src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiOverlayDebug.java b/src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiOverlayDebug.java deleted file mode 100644 index 6c640206..00000000 --- a/src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiOverlayDebug.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * 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.gui; - -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiOverlayDebug; -import net.minecraft.client.multiplayer.WorldClient; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; -import skytils.skytilsmod.mixins.transformers.accessors.AccessorWorldInfo; - -@Mixin(GuiOverlayDebug.class) -public class MixinGuiOverlayDebug extends Gui { - @Redirect(method = "call", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/multiplayer/WorldClient;getWorldTime()J")) - private long returnRealWorldTime(WorldClient worldClient) { - return ((AccessorWorldInfo)worldClient.getWorldInfo()).getRealWorldTime(); - } -} diff --git a/src/main/java/skytils/skytilsmod/mixins/transformers/world/MixinWorld.java b/src/main/java/skytils/skytilsmod/mixins/transformers/world/MixinWorld.java index d123dbe5..5bf5c38e 100644 --- a/src/main/java/skytils/skytilsmod/mixins/transformers/world/MixinWorld.java +++ b/src/main/java/skytils/skytilsmod/mixins/transformers/world/MixinWorld.java @@ -22,7 +22,9 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import skytils.skytilsmod.mixins.hooks.world.WorldHookKt; @Mixin(World.class) @@ -31,4 +33,9 @@ public abstract class MixinWorld implements IBlockAccess { private int lightningSkyColor(World world) { return WorldHookKt.lightningSkyColor(world); } + + @Inject(method = "getWorldTime", at = @At("HEAD"), cancellable = true) + private void fixTime(CallbackInfoReturnable<Long> cir) { + WorldHookKt.fixTime(this, cir); + } } diff --git a/src/main/kotlin/skytils/skytilsmod/core/Config.kt b/src/main/kotlin/skytils/skytilsmod/core/Config.kt index f7a784a9..60b76951 100644 --- a/src/main/kotlin/skytils/skytilsmod/core/Config.kt +++ b/src/main/kotlin/skytils/skytilsmod/core/Config.kt @@ -953,6 +953,13 @@ object Config : Vigilant(File("./config/skytils/config.toml"), "Skytils", sortin ) var fixSbaChroma = false + @Property( + type = PropertyType.SWITCH, name = "Fix World Time", + description = "Fixes world time on other mods being messed up due to certain mods.", + category = "Miscellaneous", subcategory = "Fixes" + ) + var fixWorldTime = false + /* @Property( type = PropertyType.SWITCH, name = "Block Useless Zombie Sword", diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/WorldHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/WorldHook.kt index 03a803c6..95704f90 100644 --- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/WorldHook.kt +++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/WorldHook.kt @@ -18,9 +18,18 @@ package skytils.skytilsmod.mixins.hooks.world import net.minecraft.world.World +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable import skytils.skytilsmod.Skytils +import skytils.skytilsmod.mixins.transformers.accessors.AccessorWorldInfo import skytils.skytilsmod.utils.Utils fun lightningSkyColor(world: World): Int { return if (Skytils.config.hideLightning && Utils.inSkyblock) 0 else world.lastLightningBolt -}
\ No newline at end of file +} + +fun fixTime(world: Any, cir: CallbackInfoReturnable<Long>) { + if (Utils.isOnHypixel && Skytils.config.fixWorldTime) { + world as World + cir.returnValue = (world.worldInfo as AccessorWorldInfo).realWorldTime + } +} diff --git a/src/main/resources/mixins.skytils.json b/src/main/resources/mixins.skytils.json index 3b3aa7bc..a7e69ed6 100644 --- a/src/main/resources/mixins.skytils.json +++ b/src/main/resources/mixins.skytils.json @@ -27,7 +27,6 @@ "gui.MixinGuiIngame", "gui.MixinGuiIngameForge", "gui.MixinGuiNewChat", - "gui.MixinGuiOverlayDebug", "gui.MixinGuiScreen", "inventory.MixinSlot", "item.MixinItemArmor", |