From 5d8f86e9ebf4dbd6d1f2b9e9747fc8bec6d897cb Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Tue, 24 Dec 2019 17:26:41 +0100 Subject: [PATCH] Change immediaterespawn flag on gamestate change --- .../Protocol1_14_4To1_15.java | 1 - .../packets/EntityPackets1_15.java | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/Protocol1_14_4To1_15.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/Protocol1_14_4To1_15.java index d3dec3c9..d0752890 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/Protocol1_14_4To1_15.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/Protocol1_14_4To1_15.java @@ -169,7 +169,6 @@ public class Protocol1_14_4To1_15 extends BackwardsProtocol { registerOutgoing(State.PLAY, 0x1C, 0x1B); registerOutgoing(State.PLAY, 0x1D, 0x1C); registerOutgoing(State.PLAY, 0x1E, 0x1D); - registerOutgoing(State.PLAY, 0x1F, 0x1E); registerOutgoing(State.PLAY, 0x20, 0x1F); registerOutgoing(State.PLAY, 0x21, 0x20); registerOutgoing(State.PLAY, 0x25, 0x24); diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/EntityPackets1_15.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/EntityPackets1_15.java index 131cb4d3..061db203 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/EntityPackets1_15.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/EntityPackets1_15.java @@ -46,6 +46,23 @@ public class EntityPackets1_15 extends EntityRewriter { } }); + // Change game state + protocol.registerOutgoing(State.PLAY, 0x1F, 0x1E, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.UNSIGNED_BYTE); + map(Type.FLOAT); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + if (wrapper.get(Type.UNSIGNED_BYTE, 0) == 11) { + wrapper.user().get(ImmediateRespawn.class).setImmediateRespawn(wrapper.get(Type.FLOAT, 0) == 1); + } + } + }); + } + }); + // Spawn Object protocol.registerOutgoing(State.PLAY, 0x00, 0x00, new PacketRemapper() { @Override