diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java index b1731042e..df94577fe 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java @@ -17,6 +17,7 @@ */ package com.viaversion.viaversion.protocols.protocol1_20_2to1_20; +import com.github.steveice10.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.data.MappingData; @@ -117,7 +118,19 @@ public final class Protocol1_20_2To1_20 extends AbstractProtocol { + wrapper.cancel(); + + final ConfigurationState configurationState = wrapper.user().get(ConfigurationState.class); + if (configurationState.getReenterInfo() == null) { + return; + } + + // Reenter the configuration state + configurationState.setBridgePhase(BridgePhase.CONFIGURATION); + sendConfigurationPackets(wrapper.user(), configurationState.getReenterInfo().dimensionRegistry()); + configurationState.setReenterInfo(null); + }); cancelServerbound(ServerboundPackets1_20_2.CHUNK_BATCH_RECEIVED); registerServerbound(ServerboundPackets1_20_2.PING_REQUEST, null, wrapper -> { @@ -141,19 +154,25 @@ public final class Protocol1_20_2To1_20 extends AbstractProtocol