From 4de52cfec2190dcf2b0ee864dae42a3db209b488 Mon Sep 17 00:00:00 2001 From: Brady Date: Thu, 23 Aug 2018 19:18:49 -0500 Subject: [PATCH] Fix duplicate onPlayerDeath call b/c mojang is bad, fixes #85 --- .../launch/mixins/MixinGuiGameOver.java | 39 ------------------- .../mixins/MixinNetHandlerPlayClient.java | 13 +++++++ src/main/resources/mixins.baritone.json | 1 - 3 files changed, 13 insertions(+), 40 deletions(-) delete mode 100644 src/main/java/baritone/launch/mixins/MixinGuiGameOver.java diff --git a/src/main/java/baritone/launch/mixins/MixinGuiGameOver.java b/src/main/java/baritone/launch/mixins/MixinGuiGameOver.java deleted file mode 100644 index 36ded3a2..00000000 --- a/src/main/java/baritone/launch/mixins/MixinGuiGameOver.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * This file is part of Baritone. - * - * Baritone is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Baritone 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Baritone. If not, see . - */ - -package baritone.launch.mixins; - -import baritone.Baritone; -import net.minecraft.client.gui.GuiGameOver; -import net.minecraft.util.text.ITextComponent; -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; - -/** - * @author Brady - * @since 8/22/2018 - */ -@Mixin(GuiGameOver.class) -public class MixinGuiGameOver { - - @Inject(method = "", at = @At("RETURN")) - private void onInit(ITextComponent causeOfDeathIn, CallbackInfo ci) { - Baritone.INSTANCE.getGameEventHandler().onPlayerDeath(); - } -} diff --git a/src/main/java/baritone/launch/mixins/MixinNetHandlerPlayClient.java b/src/main/java/baritone/launch/mixins/MixinNetHandlerPlayClient.java index 17d10240..2a471b25 100644 --- a/src/main/java/baritone/launch/mixins/MixinNetHandlerPlayClient.java +++ b/src/main/java/baritone/launch/mixins/MixinNetHandlerPlayClient.java @@ -22,6 +22,7 @@ import baritone.event.events.ChunkEvent; import baritone.event.events.type.EventState; import net.minecraft.client.network.NetHandlerPlayClient; import net.minecraft.network.play.server.SPacketChunkData; +import net.minecraft.network.play.server.SPacketCombatEvent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -66,4 +67,16 @@ public class MixinNetHandlerPlayClient { ) ); } + + @Inject( + method = "handleCombatEvent", + at = @At( + value = "INVOKE", + target = "net/minecraft/client/Minecraft.displayGuiScreen(Lnet/minecraft/client/gui/GuiScreen;)V" + ) + ) + private void onPlayerDeath(SPacketCombatEvent packetIn, CallbackInfo ci) { + Baritone.INSTANCE.getGameEventHandler().onPlayerDeath(); + System.out.println("DIED"); + } } diff --git a/src/main/resources/mixins.baritone.json b/src/main/resources/mixins.baritone.json index fcbfca77..69536219 100755 --- a/src/main/resources/mixins.baritone.json +++ b/src/main/resources/mixins.baritone.json @@ -13,7 +13,6 @@ "MixinEntityRenderer", "MixinGameSettings", "MixinGuiContainer", - "MixinGuiGameOver", "MixinGuiScreen", "MixinInventoryPlayer", "MixinKeyBinding",