From 93ddc36484a925ba6b8e6d4a063756c7f99fdedb Mon Sep 17 00:00:00 2001 From: johni0702 Date: Thu, 20 Aug 2015 14:29:09 +0200 Subject: [PATCH] Disable spectator menu during replay --- .../replaymod/mixin/MixinGuiSpectator.java | 18 ++++++++++++++++++ src/main/resources/mixins.replaymod.json | 1 + 2 files changed, 19 insertions(+) create mode 100644 src/main/java/eu/crushedpixel/replaymod/mixin/MixinGuiSpectator.java diff --git a/src/main/java/eu/crushedpixel/replaymod/mixin/MixinGuiSpectator.java b/src/main/java/eu/crushedpixel/replaymod/mixin/MixinGuiSpectator.java new file mode 100644 index 00000000..050bf313 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/mixin/MixinGuiSpectator.java @@ -0,0 +1,18 @@ +package eu.crushedpixel.replaymod.mixin; + +import eu.crushedpixel.replaymod.replay.ReplayHandler; +import net.minecraft.client.gui.GuiSpectator; +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(GuiSpectator.class) +public abstract class MixinGuiSpectator { + @Inject(method = "func_175260_a", at = @At("HEAD"), cancellable = true) + public void isInReplay(int i, CallbackInfo ci) { + if (ReplayHandler.isInReplay()) { + ci.cancel(); + } + } +} diff --git a/src/main/resources/mixins.replaymod.json b/src/main/resources/mixins.replaymod.json index 72ae3dcc..8e0ac041 100644 --- a/src/main/resources/mixins.replaymod.json +++ b/src/main/resources/mixins.replaymod.json @@ -4,6 +4,7 @@ "mixins": [ "MixinEffectRenderer", "MixinEntityRenderer", + "MixinGuiSpectator", "MixinMinecraft", "MixinNetHandlerPlayClient", "MixinPlayerControllerMP",