commit 8a3b22cc159951360882b4db3b4a965f9b7efc22
parent 56bdcbb256c74640798c2cd1d143133a76474507
Author: grimmauld <soeren@benjos.de>
Date: Fri, 16 Apr 2021 16:44:06 +0200
Pause client ticking during ponder rendering
Diffstat:
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/mixin/PauseClientMixin.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/mixin/PauseClientMixin.java
@@ -0,0 +1,18 @@
+package de.oshgnacknak.create_ponder_wonder.mixin;
+
+import de.oshgnacknak.create_ponder_wonder.CreatePonderWonder;
+import net.minecraft.client.Minecraft;
+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.callback.CallbackInfo;
+
+@Mixin(Minecraft.class)
+public class PauseClientMixin {
+
+ @Inject(at = @At(value = "INVOKE"), method = "Lnet/minecraft/client/Minecraft;runTick()V", cancellable = true)
+ private void tick(CallbackInfo ci) {
+ if (CreatePonderWonder.PONDER_RENDERER.isRendering())
+ ci.cancel();
+ }
+}
diff --git a/src/main/resources/create_ponder_wonder.mixins.json b/src/main/resources/create_ponder_wonder.mixins.json
@@ -4,6 +4,7 @@
"compatibilityLevel": "JAVA_8",
"refmap": "hackforge.refmap.json",
"mixins": [
+ "PauseClientMixin",
"PauseServerMixin"
],
"injectors": {