diff --git a/common/src/main/java/com/viaversion/viabackwards/api/rewriters/EntityRewriterBase.java b/common/src/main/java/com/viaversion/viabackwards/api/rewriters/EntityRewriterBase.java index a80c762d..c9d49cb1 100644 --- a/common/src/main/java/com/viaversion/viabackwards/api/rewriters/EntityRewriterBase.java +++ b/common/src/main/java/com/viaversion/viabackwards/api/rewriters/EntityRewriterBase.java @@ -253,10 +253,10 @@ protected PacketHandler getPlayerTrackerHandler() { }; } - protected PacketHandler getDimensionHandler() { + protected PacketHandler getDimensionHandler(int index) { return wrapper -> { ClientWorld clientWorld = wrapper.user().getClientWorld(this.protocol.getClass()); - int dimensionId = wrapper.get(Types.INT, 1); + int dimensionId = wrapper.get(Types.INT, index); if (clientWorld.setEnvironment(dimensionId)) { onDimensionChange(wrapper.user()); } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/EntityPacketRewriter1_12.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/EntityPacketRewriter1_12.java index b6612da8..23d06457 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/EntityPacketRewriter1_12.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/EntityPacketRewriter1_12.java @@ -119,7 +119,7 @@ public void register() { map(Types.UNSIGNED_BYTE); // 1 - Gamemode map(Types.INT); // 2 - Dimension - handler(getDimensionHandler()); + handler(getDimensionHandler(1)); handler(getPlayerTrackerHandler()); handler(wrapper -> { diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java index d06de355..2cd0260c 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java @@ -304,7 +304,7 @@ public void register() { map(Types.UNSIGNED_BYTE); // 1 - Gamemode map(Types.INT); // 2 - Dimension - handler(getDimensionHandler()); + handler(getDimensionHandler(1)); handler(getPlayerTrackerHandler()); handler(wrapper -> { short difficulty = wrapper.user().get(DifficultyStorage.class).getDifficulty(); diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/Protocol1_15To1_14_4.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/Protocol1_15To1_14_4.java index 3bd59e5d..b0ad6fe8 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/Protocol1_15To1_14_4.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/Protocol1_15To1_14_4.java @@ -25,6 +25,7 @@ import com.viaversion.viabackwards.protocol.v1_15to1_14_4.rewriter.BlockItemPacketRewriter1_15; import com.viaversion.viabackwards.protocol.v1_15to1_14_4.rewriter.EntityPacketRewriter1_15; import com.viaversion.viaversion.api.connection.UserConnection; +import com.viaversion.viaversion.api.minecraft.ClientWorld; import com.viaversion.viaversion.api.minecraft.RegistryType; import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_15; import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; @@ -103,6 +104,8 @@ private int toEffectCoordinate(float coordinate) { @Override public void init(UserConnection user) { user.addEntityTracker(getClass(), new EntityTrackerBase(user, EntityTypes1_15.PLAYER)); + user.addClientWorld(getClass(), new ClientWorld()); + user.put(new ImmediateRespawnStorage()); } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/rewriter/EntityPacketRewriter1_15.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/rewriter/EntityPacketRewriter1_15.java index 516e973f..835cfd1b 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/rewriter/EntityPacketRewriter1_15.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_15to1_14_4/rewriter/EntityPacketRewriter1_15.java @@ -96,7 +96,7 @@ public void register() { public void register() { map(Types.INT); read(Types.LONG); // Seed - handler(getDimensionHandler()); + handler(getDimensionHandler(0)); } });