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-16 12:34:39 -0400
committerMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-08-16 12:34:39 -0400
commit5cd27a609cbd915fe55afa2c7bab019693d8bc62 (patch)
tree6ec67b12a1ab4d84531e635e930275ce9f43fd9a /src/main
parent986590e90fef9c058a5a02632e0de6f59dbfe828 (diff)
downloadSkytilsMod-5cd27a609cbd915fe55afa2c7bab019693d8bc62.tar.gz
SkytilsMod-5cd27a609cbd915fe55afa2c7bab019693d8bc62.tar.bz2
SkytilsMod-5cd27a609cbd915fe55afa2c7bab019693d8bc62.zip
Remove debug overlay mixin and mixin to world instead
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiOverlayDebug.java35
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/transformers/world/MixinWorld.java7
-rw-r--r--src/main/kotlin/skytils/skytilsmod/core/Config.kt7
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/WorldHook.kt11
-rw-r--r--src/main/resources/mixins.skytils.json1
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",