From 6a7a92a97b3b62d38047ca64928c75efaa212900 Mon Sep 17 00:00:00 2001 From: KennyTV Date: Mon, 10 Aug 2020 21:22:01 +0200 Subject: [PATCH] Remove ClientChunk from 1.14+ chunk types Apparently multiple people (including me) blindly copied that from older versions. Also removed join/respawn from the abstract MetadataRewriter, since they were only used twice each. --- .../ViaVersion/api/minecraft/Environment.java | 16 +-------- .../api/rewriters/MetadataRewriter.java | 35 +------------------ .../Protocol1_11To1_10.java | 31 +++++++++++++--- .../Protocol1_12To1_11_1.java | 27 ++++++++++++-- .../types/Chunk1_13Type.java | 1 + .../Protocol1_14To1_13_2.java | 3 +- .../packets/WorldPackets.java | 2 +- .../types/Chunk1_14Type.java | 12 +++---- .../Protocol1_15To1_14_4.java | 3 -- .../packets/PlayerPackets.java | 23 ++---------- .../packets/WorldPackets.java | 6 ++-- .../types/Chunk1_15Type.java | 12 +++---- .../Protocol1_16_2To1_16_1.java | 4 --- .../packets/EntityPackets.java | 4 --- .../packets/WorldPackets.java | 6 ++-- .../types/Chunk1_16_2Type.java | 12 +++---- .../Protocol1_16To1_15_2.java | 4 --- .../packets/EntityPackets.java | 9 ----- .../packets/WorldPackets.java | 6 ++-- .../types/Chunk1_16Type.java | 12 +++---- .../storage/ClientWorld.java | 7 ++-- 21 files changed, 89 insertions(+), 146 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/minecraft/Environment.java b/common/src/main/java/us/myles/ViaVersion/api/minecraft/Environment.java index 37daddbf3..9bb2f1a6e 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/minecraft/Environment.java +++ b/common/src/main/java/us/myles/ViaVersion/api/minecraft/Environment.java @@ -4,8 +4,7 @@ public enum Environment { NORMAL(0), NETHER(-1), - END(1), - CUSTOM(Integer.MAX_VALUE); + END(1); private final int id; @@ -28,17 +27,4 @@ public enum Environment { return END; } } - - public static Environment getEnvironmentById(String id) { - switch (id) { - case "minecraft:the_nether": - return NETHER; - case "minecraft:overworld": - return NORMAL; - case "minecraft:the_end": - return END; - default: - return CUSTOM; - } - } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/rewriters/MetadataRewriter.java b/common/src/main/java/us/myles/ViaVersion/api/rewriters/MetadataRewriter.java index fd514ee48..0cb3bb732 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/rewriters/MetadataRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/api/rewriters/MetadataRewriter.java @@ -13,7 +13,6 @@ import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; import us.myles.ViaVersion.api.storage.EntityTracker; import us.myles.ViaVersion.api.type.Type; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import java.util.ArrayList; import java.util.List; @@ -51,39 +50,7 @@ public abstract class MetadataRewriter { } } - public void registerJoinGame(ClientboundPacketType packetType, @Nullable EntityType playerType) { - protocol.registerOutgoing(packetType, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); // 0 - Entity ID - map(Type.UNSIGNED_BYTE); // 1 - Gamemode - map(Type.INT); // 2 - Dimension - handler(wrapper -> { - ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); - int dimensionId = wrapper.get(Type.INT, 1); - clientChunks.setEnvironment(dimensionId); - - if (playerType != null) { - wrapper.user().get(entityTrackerClass).addEntity(wrapper.get(Type.INT, 0), playerType); - } - }); - } - }); - } - - public void registerRespawn(ClientboundPacketType packetType) { - protocol.registerOutgoing(packetType, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); - handler(wrapper -> { - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - int dimensionId = wrapper.get(Type.INT, 0); - clientWorld.setEnvironment(dimensionId); - }); - } - }); - } + //TODO add respawn/join once they stop changing too much public void registerTracker(ClientboundPacketType packetType) { protocol.registerOutgoing(packetType, new PacketRemapper() { diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/Protocol1_11To1_10.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/Protocol1_11To1_10.java index cffe389dc..40b69b212 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/Protocol1_11To1_10.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/Protocol1_11To1_10.java @@ -15,12 +15,12 @@ import us.myles.ViaVersion.api.remapper.ValueTransformer; import us.myles.ViaVersion.api.rewriters.SoundRewriter; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.version.Types1_9; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ClientboundPackets1_9_3; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3; import us.myles.ViaVersion.protocols.protocol1_11to1_10.metadata.MetadataRewriter1_11To1_10; import us.myles.ViaVersion.protocols.protocol1_11to1_10.packets.InventoryPackets; import us.myles.ViaVersion.protocols.protocol1_11to1_10.storage.EntityTracker1_11; import us.myles.ViaVersion.protocols.protocol1_9_1_2to1_9_3_4.types.Chunk1_9_3_4Type; +import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ClientboundPackets1_9_3; +import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class Protocol1_11To1_10 extends Protocol { @@ -235,9 +235,30 @@ public class Protocol1_11To1_10 extends Protocol { + ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); + int dimensionId = wrapper.get(Type.INT, 1); + clientChunks.setEnvironment(dimensionId); + }); + } + }); + registerOutgoing(ClientboundPackets1_9_3.RESPAWN, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); + handler(wrapper -> { + ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); + int dimensionId = wrapper.get(Type.INT, 0); + clientWorld.setEnvironment(dimensionId); + }); + } + }); /* INCOMING PACKETS diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/Protocol1_12To1_11_1.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/Protocol1_12To1_11_1.java index 5c73a9060..1e87354f4 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/Protocol1_12To1_11_1.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/Protocol1_12To1_11_1.java @@ -138,11 +138,34 @@ public class Protocol1_12To1_11_1 extends Protocol { + ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); + int dimensionId = wrapper.get(Type.INT, 1); + clientChunks.setEnvironment(dimensionId); + }); + } + }); + registerOutgoing(ClientboundPackets1_9_3.RESPAWN, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); + handler(wrapper -> { + ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); + int dimensionId = wrapper.get(Type.INT, 0); + clientWorld.setEnvironment(dimensionId); + }); + } + }); + new SoundRewriter(this, this::getNewSoundId).registerSound(ClientboundPackets1_9_3.SOUND); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java index 9b00b51fe..0732b4c95 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.logging.Level; public class Chunk1_13Type extends PartialType { + public Chunk1_13Type(ClientWorld param) { super(param, Chunk.class); } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java index c334853a6..54e6b1cbc 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java @@ -141,7 +141,8 @@ public class Protocol1_14To1_13_2 extends Protocol { +public class Chunk1_14Type extends Type { - public Chunk1_14Type(ClientWorld param) { - super(param, Chunk.class); + public Chunk1_14Type() { + super(Chunk.class); } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input) throws Exception { int chunkX = input.readInt(); int chunkZ = input.readInt(); @@ -65,7 +63,7 @@ public class Chunk1_14Type extends PartialType { } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ()); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java index 255d3c52d..eec98fab9 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java @@ -17,7 +17,6 @@ import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.packets.InventoryPacke import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.packets.PlayerPackets; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.packets.WorldPackets; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.storage.EntityTracker1_15; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class Protocol1_15To1_14_4 extends Protocol { @@ -84,7 +83,5 @@ public class Protocol1_15To1_14_4 extends Protocol { - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - int dimensionId = wrapper.get(Type.INT, 0); - clientWorld.setEnvironment(dimensionId); - }); - create(wrapper -> { - wrapper.write(Type.LONG, 0L); // Level Seed - }); + create(wrapper -> wrapper.write(Type.LONG, 0L)); // Level Seed } }); @@ -35,28 +27,19 @@ public class PlayerPackets { map(Type.INT); // 2 - Dimension handler(wrapper -> { - // Store the player - ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); - int dimensionId = wrapper.get(Type.INT, 1); - clientChunks.setEnvironment(dimensionId); - // Register Type ID EntityTracker1_15 tracker = wrapper.user().get(EntityTracker1_15.class); int entityId = wrapper.get(Type.INT, 0); tracker.addEntity(entityId, Entity1_15Types.EntityType.PLAYER); }); - create(wrapper -> { - wrapper.write(Type.LONG, 0L); // Level Seed - }); + create(wrapper -> wrapper.write(Type.LONG, 0L)); // Level Seed map(Type.UNSIGNED_BYTE); // 3 - Max Players map(Type.STRING); // 4 - Level Type map(Type.VAR_INT); // 5 - View Distance map(Type.BOOLEAN); // 6 - Reduce Debug Info - create(wrapper -> { - wrapper.write(Type.BOOLEAN, !Via.getConfig().is1_15InstantRespawn()); // Show Death Screen - }); + create(wrapper -> wrapper.write(Type.BOOLEAN, !Via.getConfig().is1_15InstantRespawn())); // Show Death Screen } }); } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java index fa76a961e..61b2e2e00 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java @@ -12,7 +12,6 @@ import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14 import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.types.Chunk1_14Type; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.types.Chunk1_15Type; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class WorldPackets { @@ -30,9 +29,8 @@ public class WorldPackets { handler(new PacketHandler() { @Override public void handle(PacketWrapper wrapper) throws Exception { - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - Chunk chunk = wrapper.read(new Chunk1_14Type(clientWorld)); - wrapper.write(new Chunk1_15Type(clientWorld), chunk); + Chunk chunk = wrapper.read(new Chunk1_14Type()); + wrapper.write(new Chunk1_15Type(), chunk); if (chunk.isFullChunk()) { int[] biomeData = chunk.getBiomeData(); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/types/Chunk1_15Type.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/types/Chunk1_15Type.java index 176f8c839..718d33b8f 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/types/Chunk1_15Type.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/types/Chunk1_15Type.java @@ -6,25 +6,23 @@ import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.minecraft.chunks.BaseChunk; import us.myles.ViaVersion.api.minecraft.chunks.Chunk; import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection; -import us.myles.ViaVersion.api.type.PartialType; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.minecraft.BaseChunkType; import us.myles.ViaVersion.api.type.types.version.Types1_13; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class Chunk1_15Type extends PartialType { +public class Chunk1_15Type extends Type { private static final CompoundTag[] EMPTY_COMPOUNDS = new CompoundTag[0]; - public Chunk1_15Type(ClientWorld param) { - super(param, Chunk.class); + public Chunk1_15Type() { + super(Chunk.class); } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input) throws Exception { int chunkX = input.readInt(); int chunkZ = input.readInt(); @@ -66,7 +64,7 @@ public class Chunk1_15Type extends PartialType { } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ()); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/Protocol1_16_2To1_16_1.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/Protocol1_16_2To1_16_1.java index 6772fc3eb..14da85422 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/Protocol1_16_2To1_16_1.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/Protocol1_16_2To1_16_1.java @@ -16,7 +16,6 @@ import us.myles.ViaVersion.protocols.protocol1_16_2to1_16_1.packets.WorldPackets import us.myles.ViaVersion.protocols.protocol1_16_2to1_16_1.storage.EntityTracker1_16_2; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.ClientboundPackets1_16; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.ServerboundPackets1_16; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class Protocol1_16_2To1_16_1 extends Protocol { @@ -113,8 +112,5 @@ public class Protocol1_16_2To1_16_1 extends Protocol { - ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); - String dimension = wrapper.get(Type.STRING, 0); - clientChunks.setEnvironment(dimension); wrapper.user().get(EntityTracker1_16_2.class).addEntity(wrapper.get(Type.INT, 0), Entity1_16_2Types.EntityType.PLAYER); }); } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/WorldPackets.java index 0441d1de0..f28084572 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/WorldPackets.java @@ -14,7 +14,6 @@ import us.myles.ViaVersion.protocols.protocol1_16_2to1_16_1.Protocol1_16_2To1_16 import us.myles.ViaVersion.protocols.protocol1_16_2to1_16_1.types.Chunk1_16_2Type; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.ClientboundPackets1_16; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.types.Chunk1_16Type; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import java.util.ArrayList; import java.util.List; @@ -34,9 +33,8 @@ public class WorldPackets { @Override public void registerMap() { handler(wrapper -> { - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - Chunk chunk = wrapper.read(new Chunk1_16Type(clientWorld)); - wrapper.write(new Chunk1_16_2Type(clientWorld), chunk); + Chunk chunk = wrapper.read(new Chunk1_16Type()); + wrapper.write(new Chunk1_16_2Type(), chunk); for (int s = 0; s < 16; s++) { ChunkSection section = chunk.getSections()[s]; diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/types/Chunk1_16_2Type.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/types/Chunk1_16_2Type.java index 9bbe8eded..08d27bc95 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/types/Chunk1_16_2Type.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/types/Chunk1_16_2Type.java @@ -6,25 +6,23 @@ import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.minecraft.chunks.BaseChunk; import us.myles.ViaVersion.api.minecraft.chunks.Chunk; import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection; -import us.myles.ViaVersion.api.type.PartialType; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.minecraft.BaseChunkType; import us.myles.ViaVersion.api.type.types.version.Types1_16; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class Chunk1_16_2Type extends PartialType { +public class Chunk1_16_2Type extends Type { private static final CompoundTag[] EMPTY_COMPOUNDS = new CompoundTag[0]; - public Chunk1_16_2Type(ClientWorld param) { - super(param, Chunk.class); + public Chunk1_16_2Type() { + super(Chunk.class); } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input) throws Exception { int chunkX = input.readInt(); int chunkZ = input.readInt(); @@ -64,7 +62,7 @@ public class Chunk1_16_2Type extends PartialType { } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ()); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/Protocol1_16To1_15_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/Protocol1_16To1_15_2.java index e2139375b..ac55f174c 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/Protocol1_16To1_15_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/Protocol1_16To1_15_2.java @@ -23,7 +23,6 @@ import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.packets.EntityPackets; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.packets.InventoryPackets; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.packets.WorldPackets; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.storage.EntityTracker1_16; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import us.myles.ViaVersion.util.GsonUtil; import java.nio.charset.StandardCharsets; @@ -270,8 +269,5 @@ public class Protocol1_16To1_15_2 extends Protocol { wrapper.write(Type.BYTE, (byte) -1); // Previous gamemode, set to none - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - String dimensionId = wrapper.get(Type.STRING, 0); - clientWorld.setEnvironment(dimensionId); - String levelType = wrapper.read(Type.STRING); wrapper.write(Type.BOOLEAN, false); // debug wrapper.write(Type.BOOLEAN, levelType.equals("flat")); @@ -196,10 +191,6 @@ public class EntityPackets { map(Type.LONG); // Seed map(Type.UNSIGNED_BYTE); // Max players handler(wrapper -> { - ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); - String dimension = wrapper.get(Type.STRING, 0); - clientChunks.setEnvironment(dimension); - wrapper.user().get(EntityTracker1_16.class).addEntity(wrapper.get(Type.INT, 0), Entity1_16Types.EntityType.PLAYER); final String type = wrapper.read(Type.STRING);// level type diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java index 84774d54b..c83e3915b 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java @@ -17,7 +17,6 @@ import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.ClientboundPackets1_15 import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.types.Chunk1_15Type; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.Protocol1_16To1_15_2; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.types.Chunk1_16Type; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import us.myles.ViaVersion.util.CompactArrayUtil; import java.util.UUID; @@ -45,9 +44,8 @@ public class WorldPackets { @Override public void registerMap() { handler(wrapper -> { - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - Chunk chunk = wrapper.read(new Chunk1_15Type(clientWorld)); - wrapper.write(new Chunk1_16Type(clientWorld), chunk); + Chunk chunk = wrapper.read(new Chunk1_15Type()); + wrapper.write(new Chunk1_16Type(), chunk); chunk.setIgnoreOldLightData(chunk.isFullChunk()); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/types/Chunk1_16Type.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/types/Chunk1_16Type.java index 0ea8f25ce..c2e2d39c4 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/types/Chunk1_16Type.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/types/Chunk1_16Type.java @@ -6,25 +6,23 @@ import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.minecraft.chunks.BaseChunk; import us.myles.ViaVersion.api.minecraft.chunks.Chunk; import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection; -import us.myles.ViaVersion.api.type.PartialType; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.minecraft.BaseChunkType; import us.myles.ViaVersion.api.type.types.version.Types1_16; -import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class Chunk1_16Type extends PartialType { +public class Chunk1_16Type extends Type { private static final CompoundTag[] EMPTY_COMPOUNDS = new CompoundTag[0]; - public Chunk1_16Type(ClientWorld param) { - super(param, Chunk.class); + public Chunk1_16Type() { + super(Chunk.class); } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input) throws Exception { int chunkX = input.readInt(); int chunkZ = input.readInt(); @@ -67,7 +65,7 @@ public class Chunk1_16Type extends PartialType { } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ()); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9_3to1_9_1_2/storage/ClientWorld.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9_3to1_9_1_2/storage/ClientWorld.java index 996891979..6131e9d12 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9_3to1_9_1_2/storage/ClientWorld.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9_3to1_9_1_2/storage/ClientWorld.java @@ -4,6 +4,9 @@ import us.myles.ViaVersion.api.data.StoredObject; import us.myles.ViaVersion.api.data.UserConnection; import us.myles.ViaVersion.api.minecraft.Environment; +/** + * Stored up until 1.14 to be used in chunk sending. + */ public class ClientWorld extends StoredObject { private Environment environment; @@ -18,8 +21,4 @@ public class ClientWorld extends StoredObject { public void setEnvironment(int environmentId) { this.environment = Environment.getEnvironmentById(environmentId); } - - public void setEnvironment(String environmentId) { - this.environment = Environment.getEnvironmentById(environmentId); - } }