diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/Protocol1_13_2To1_14.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/Protocol1_13_2To1_14.java index 568ecaad..d662312f 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/Protocol1_13_2To1_14.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/Protocol1_13_2To1_14.java @@ -47,7 +47,6 @@ public class Protocol1_13_2To1_14 extends BackwardsProtocol { registerOutgoing(State.PLAY, 0x15, 0x16); registerOutgoing(State.PLAY, 0x18, 0x19); - registerOutgoing(State.PLAY, 0x1B, 0x1C); registerOutgoing(State.PLAY, 0x54, 0x1D); registerOutgoing(State.PLAY, 0x1E, 0x20); registerOutgoing(State.PLAY, 0x20, 0x21); diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java index ffd344fc..beac0b65 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java @@ -4,6 +4,7 @@ import nl.matsv.viabackwards.ViaBackwards; import nl.matsv.viabackwards.api.entities.meta.MetaHandler; import nl.matsv.viabackwards.api.entities.storage.EntityData; import nl.matsv.viabackwards.api.entities.storage.EntityPositionHandler; +import nl.matsv.viabackwards.api.entities.storage.EntityTracker; import nl.matsv.viabackwards.api.exceptions.RemovedValueException; import nl.matsv.viabackwards.api.rewriters.LegacyEntityRewriter; import nl.matsv.viabackwards.protocol.protocol1_13_2to1_14.Protocol1_13_2To1_14; @@ -54,6 +55,32 @@ public class EntityPackets1_14 extends LegacyEntityRewriter { + int entityId = wrapper.passthrough(Type.INT); + byte status = wrapper.passthrough(Type.BYTE); + // Check for death status + if (status != 3) return; + + EntityTracker.ProtocolEntityTracker tracker = getEntityTracker(wrapper.user()); + EntityType entityType = tracker.getEntityType(entityId); + if (entityType != Entity1_14Types.EntityType.PLAYER) return; + + // Remove equipment, else the client will see ghost items + for (int i = 0; i <= 5; i++) { + PacketWrapper equipmentPacket = wrapper.create(0x42); + equipmentPacket.write(Type.VAR_INT, entityId); + equipmentPacket.write(Type.VAR_INT, i); + equipmentPacket.write(Type.FLAT_VAR_INT_ITEM, null); + equipmentPacket.send(Protocol1_13_2To1_14.class, true, true); + } + }); + } + }); + // Entity teleport protocol.registerOutgoing(State.PLAY, 0x56, 0x50, new PacketRemapper() { @Override diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/Protocol1_15_2To1_16.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/Protocol1_15_2To1_16.java index 861df43f..9732eead 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/Protocol1_15_2To1_16.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/Protocol1_15_2To1_16.java @@ -133,10 +133,8 @@ public class Protocol1_15_2To1_16 extends BackwardsProtocol { registerOutgoing(State.PLAY, 0x43, 0x4E); registerOutgoing(State.PLAY, 0x44, 0x43); - registerOutgoing(State.PLAY, 0x46, 0x45); registerOutgoing(State.PLAY, 0x47, 0x46); - registerOutgoing(State.PLAY, 0x49, 0x48); registerOutgoing(State.PLAY, 0x4A, 0x49); registerOutgoing(State.PLAY, 0x4B, 0x4A); @@ -144,7 +142,6 @@ public class Protocol1_15_2To1_16 extends BackwardsProtocol { registerOutgoing(State.PLAY, 0x4D, 0x4C); registerOutgoing(State.PLAY, 0x4E, 0x4D); - cancelIncoming(State.PLAY, 0x27); // Set jigsaw registerIncoming(State.PLAY, 0x10, 0x0F); registerIncoming(State.PLAY, 0x11, 0x10); @@ -169,7 +166,6 @@ public class Protocol1_15_2To1_16 extends BackwardsProtocol { registerIncoming(State.PLAY, 0x24, 0x23); registerIncoming(State.PLAY, 0x25, 0x24); registerIncoming(State.PLAY, 0x26, 0x25); - registerIncoming(State.PLAY, 0x29, 0x28); registerIncoming(State.PLAY, 0x2A, 0x29); registerIncoming(State.PLAY, 0x2B, 0x2A); diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java index de418fd1..4cb3a1df 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java @@ -149,19 +149,14 @@ public class BlockItemPackets1_16 extends nl.matsv.viabackwards.api.rewriters.It if (chunk.isBiomeData()) { for (int i = 0; i < 1024; i++) { int biome = chunk.getBiomeData()[i]; - int newId = -1; switch (biome) { case 170: // new nether biomes case 171: case 172: case 173: - newId = 8; + chunk.getBiomeData()[i] = 9; break; } - - if (newId != -1) { - chunk.getBiomeData()[i] = newId; - } } }