diff --git a/build.gradle.kts b/build.gradle.kts index 63c56f7c..0a29b471 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { allprojects { group = "com.viaversion" - version = "4.4.0-1.19.1-pre2-SNAPSHOT" + version = "4.4.0-1.19.1-pre3-SNAPSHOT" description = "Allow older clients to join newer server versions." } diff --git a/common/src/main/java/com/viaversion/viabackwards/api/ViaBackwardsPlatform.java b/common/src/main/java/com/viaversion/viabackwards/api/ViaBackwardsPlatform.java index abdbf784..2dd2b80b 100644 --- a/common/src/main/java/com/viaversion/viabackwards/api/ViaBackwardsPlatform.java +++ b/common/src/main/java/com/viaversion/viabackwards/api/ViaBackwardsPlatform.java @@ -113,7 +113,7 @@ public interface ViaBackwardsPlatform { protocolManager.registerProtocol(new Protocol1_17_1To1_18(), ProtocolVersion.v1_17_1, ProtocolVersion.v1_18); protocolManager.registerProtocol(new Protocol1_18To1_18_2(), ProtocolVersion.v1_18, ProtocolVersion.v1_18_2); - // 1.19.0 clients cannot join 1.19.1+ servers due to changes in the public profile key. 1.19.0 servers can use older ViaBackwards 4.3.1 snapshots + // 1.19.0 clients cannot join 1.19.1+ servers due to changes in the public profile key. 1.19.0 servers can use ViaBackwards 4.3.1 protocolManager.registerProtocol(new Protocol1_18_2To1_19_1(), ProtocolVersion.v1_18_2, ProtocolVersion.v1_19_1); } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/Protocol1_18_2To1_19_1.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/Protocol1_18_2To1_19_1.java index 35577540..cb33e80c 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/Protocol1_18_2To1_19_1.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/Protocol1_18_2To1_19_1.java @@ -52,7 +52,7 @@ import com.viaversion.viaversion.protocols.base.ClientboundLoginPackets; import com.viaversion.viaversion.protocols.base.ServerboundLoginPackets; import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.ServerboundPackets1_17; import com.viaversion.viaversion.protocols.protocol1_18to1_17_1.ClientboundPackets1_18; -import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ClientboundPackets1_19; +import com.viaversion.viaversion.protocols.protocol1_19_1to1_19.ClientboundPackets1_19_1; import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.Protocol1_19To1_18_2; import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ServerboundPackets1_19; import com.viaversion.viaversion.rewriter.CommandRewriter; @@ -62,7 +62,7 @@ import com.viaversion.viaversion.rewriter.TagRewriter; import java.time.Instant; import java.util.UUID; -public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundPackets1_19, ClientboundPackets1_18, ServerboundPackets1_19, ServerboundPackets1_17> { +public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundPackets1_19_1, ClientboundPackets1_18, ServerboundPackets1_19, ServerboundPackets1_17> { public static final BackwardsMappings MAPPINGS = new BackwardsMappings(); private static final UUID ZERO_UUID = new UUID(0, 0); @@ -72,7 +72,7 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP private final TranslatableRewriter translatableRewriter = new TranslatableRewriter(this); public Protocol1_18_2To1_19_1() { - super(ClientboundPackets1_19.class, ClientboundPackets1_18.class, ServerboundPackets1_19.class, ServerboundPackets1_17.class); + super(ClientboundPackets1_19_1.class, ClientboundPackets1_18.class, ServerboundPackets1_19.class, ServerboundPackets1_17.class); } @Override @@ -82,22 +82,22 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP entityRewriter.onMappingDataLoaded(); }); - translatableRewriter.registerComponentPacket(ClientboundPackets1_19.ACTIONBAR); - translatableRewriter.registerComponentPacket(ClientboundPackets1_19.TITLE_TEXT); - translatableRewriter.registerComponentPacket(ClientboundPackets1_19.TITLE_SUBTITLE); - translatableRewriter.registerBossBar(ClientboundPackets1_19.BOSSBAR); - translatableRewriter.registerDisconnect(ClientboundPackets1_19.DISCONNECT); - translatableRewriter.registerTabList(ClientboundPackets1_19.TAB_LIST); - translatableRewriter.registerOpenWindow(ClientboundPackets1_19.OPEN_WINDOW); - translatableRewriter.registerCombatKill(ClientboundPackets1_19.COMBAT_KILL); + translatableRewriter.registerComponentPacket(ClientboundPackets1_19_1.ACTIONBAR); + translatableRewriter.registerComponentPacket(ClientboundPackets1_19_1.TITLE_TEXT); + translatableRewriter.registerComponentPacket(ClientboundPackets1_19_1.TITLE_SUBTITLE); + translatableRewriter.registerBossBar(ClientboundPackets1_19_1.BOSSBAR); + translatableRewriter.registerDisconnect(ClientboundPackets1_19_1.DISCONNECT); + translatableRewriter.registerTabList(ClientboundPackets1_19_1.TAB_LIST); + translatableRewriter.registerOpenWindow(ClientboundPackets1_19_1.OPEN_WINDOW); + translatableRewriter.registerCombatKill(ClientboundPackets1_19_1.COMBAT_KILL); translatableRewriter.registerPing(); blockItemPackets.register(); entityRewriter.register(); final SoundRewriter soundRewriter = new SoundRewriter(this); - soundRewriter.registerStopSound(ClientboundPackets1_19.STOP_SOUND); - registerClientbound(ClientboundPackets1_19.SOUND, new PacketRemapper() { + soundRewriter.registerStopSound(ClientboundPackets1_19_1.STOP_SOUND); + registerClientbound(ClientboundPackets1_19_1.SOUND, new PacketRemapper() { @Override public void registerMap() { map(Type.VAR_INT); // Sound id @@ -111,7 +111,7 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP handler(soundRewriter.getSoundHandler()); } }); - registerClientbound(ClientboundPackets1_19.ENTITY_SOUND, new PacketRemapper() { + registerClientbound(ClientboundPackets1_19_1.ENTITY_SOUND, new PacketRemapper() { @Override public void registerMap() { map(Type.VAR_INT); // Sound id @@ -123,7 +123,7 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP handler(soundRewriter.getSoundHandler()); } }); - registerClientbound(ClientboundPackets1_19.NAMED_SOUND, new PacketRemapper() { + registerClientbound(ClientboundPackets1_19_1.NAMED_SOUND, new PacketRemapper() { @Override public void registerMap() { map(Type.STRING); // Sound name @@ -147,12 +147,12 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP tagRewriter.renameTag(RegistryType.BLOCK, "minecraft:wool_carpets", "minecraft:carpets"); tagRewriter.renameTag(RegistryType.ITEM, "minecraft:wool_carpets", "minecraft:carpets"); tagRewriter.addEmptyTag(RegistryType.ITEM, "minecraft:occludes_vibration_signals"); - tagRewriter.registerGeneric(ClientboundPackets1_19.TAGS); + tagRewriter.registerGeneric(ClientboundPackets1_19_1.TAGS); - new StatisticsRewriter(this).register(ClientboundPackets1_19.STATISTICS); + new StatisticsRewriter(this).register(ClientboundPackets1_19_1.STATISTICS); final CommandRewriter commandRewriter = new CommandRewriter1_19(this); - registerClientbound(ClientboundPackets1_19.DECLARE_COMMANDS, new PacketRemapper() { + registerClientbound(ClientboundPackets1_19_1.DECLARE_COMMANDS, new PacketRemapper() { @Override public void registerMap() { handler(wrapper -> { @@ -191,10 +191,10 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP } }); - cancelClientbound(ClientboundPackets1_19.SERVER_DATA); - cancelClientbound(ClientboundPackets1_19.CHAT_PREVIEW); - cancelClientbound(ClientboundPackets1_19.SET_DISPLAY_CHAT_PREVIEW); - registerClientbound(ClientboundPackets1_19.PLAYER_CHAT, ClientboundPackets1_18.CHAT_MESSAGE, new PacketRemapper() { + cancelClientbound(ClientboundPackets1_19_1.SERVER_DATA); + cancelClientbound(ClientboundPackets1_19_1.CHAT_PREVIEW); + cancelClientbound(ClientboundPackets1_19_1.SET_DISPLAY_CHAT_PREVIEW); + registerClientbound(ClientboundPackets1_19_1.PLAYER_CHAT, ClientboundPackets1_18.CHAT_MESSAGE, new PacketRemapper() { @Override public void registerMap() { handler(wrapper -> { @@ -223,7 +223,7 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP } }); - registerClientbound(ClientboundPackets1_19.SYSTEM_CHAT, ClientboundPackets1_18.CHAT_MESSAGE, new PacketRemapper() { + registerClientbound(ClientboundPackets1_19_1.SYSTEM_CHAT, ClientboundPackets1_18.CHAT_MESSAGE, new PacketRemapper() { @Override public void registerMap() { map(Type.COMPONENT); @@ -292,6 +292,9 @@ public final class Protocol1_18_2To1_19_1 extends BackwardsProtocol<ClientboundP create(Type.BOOLEAN, true); // Is nonce } }); + + // Can't do anything with them unless we add clutter clients with fake player profiles + cancelClientbound(ClientboundPackets1_19_1.CUSTOM_CHAT_COMPLETIONS); } @Override diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/BlockItemPackets1_19.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/BlockItemPackets1_19.java index 5fd4a5a5..b9a4c595 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/BlockItemPackets1_19.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/BlockItemPackets1_19.java @@ -32,7 +32,7 @@ import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.data.RecipeRewriter1_16; import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.ServerboundPackets1_17; import com.viaversion.viaversion.protocols.protocol1_18to1_17_1.types.Chunk1_18Type; -import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ClientboundPackets1_19; +import com.viaversion.viaversion.protocols.protocol1_19_1to1_19.ClientboundPackets1_19_1; import com.viaversion.viaversion.rewriter.BlockRewriter; import com.viaversion.viaversion.util.MathUtil; @@ -46,23 +46,23 @@ public final class BlockItemPackets1_19 extends ItemRewriter<Protocol1_18_2To1_1 protected void registerPackets() { final BlockRewriter blockRewriter = new BlockRewriter(protocol, Type.POSITION1_14); - new RecipeRewriter1_16(protocol).registerDefaultHandler(ClientboundPackets1_19.DECLARE_RECIPES); + new RecipeRewriter1_16(protocol).registerDefaultHandler(ClientboundPackets1_19_1.DECLARE_RECIPES); - registerSetCooldown(ClientboundPackets1_19.COOLDOWN); - registerWindowItems1_17_1(ClientboundPackets1_19.WINDOW_ITEMS, Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, Type.FLAT_VAR_INT_ITEM); - registerSetSlot1_17_1(ClientboundPackets1_19.SET_SLOT, Type.FLAT_VAR_INT_ITEM); - registerEntityEquipmentArray(ClientboundPackets1_19.ENTITY_EQUIPMENT, Type.FLAT_VAR_INT_ITEM); - registerAdvancements(ClientboundPackets1_19.ADVANCEMENTS, Type.FLAT_VAR_INT_ITEM); + registerSetCooldown(ClientboundPackets1_19_1.COOLDOWN); + registerWindowItems1_17_1(ClientboundPackets1_19_1.WINDOW_ITEMS, Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, Type.FLAT_VAR_INT_ITEM); + registerSetSlot1_17_1(ClientboundPackets1_19_1.SET_SLOT, Type.FLAT_VAR_INT_ITEM); + registerEntityEquipmentArray(ClientboundPackets1_19_1.ENTITY_EQUIPMENT, Type.FLAT_VAR_INT_ITEM); + registerAdvancements(ClientboundPackets1_19_1.ADVANCEMENTS, Type.FLAT_VAR_INT_ITEM); registerClickWindow1_17_1(ServerboundPackets1_17.CLICK_WINDOW, Type.FLAT_VAR_INT_ITEM); - blockRewriter.registerBlockAction(ClientboundPackets1_19.BLOCK_ACTION); - blockRewriter.registerBlockChange(ClientboundPackets1_19.BLOCK_CHANGE); - blockRewriter.registerVarLongMultiBlockChange(ClientboundPackets1_19.MULTI_BLOCK_CHANGE); - blockRewriter.registerEffect(ClientboundPackets1_19.EFFECT, 1010, 2001); + blockRewriter.registerBlockAction(ClientboundPackets1_19_1.BLOCK_ACTION); + blockRewriter.registerBlockChange(ClientboundPackets1_19_1.BLOCK_CHANGE); + blockRewriter.registerVarLongMultiBlockChange(ClientboundPackets1_19_1.MULTI_BLOCK_CHANGE); + blockRewriter.registerEffect(ClientboundPackets1_19_1.EFFECT, 1010, 2001); registerCreativeInvAction(ServerboundPackets1_17.CREATIVE_INVENTORY_ACTION, Type.FLAT_VAR_INT_ITEM); - protocol.registerClientbound(ClientboundPackets1_19.TRADE_LIST, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.TRADE_LIST, new PacketRemapper() { @Override public void registerMap() { map(Type.VAR_INT); // Container id @@ -94,9 +94,9 @@ public final class BlockItemPackets1_19 extends ItemRewriter<Protocol1_18_2To1_1 } }); - registerWindowPropertyEnchantmentHandler(ClientboundPackets1_19.WINDOW_PROPERTY); + registerWindowPropertyEnchantmentHandler(ClientboundPackets1_19_1.WINDOW_PROPERTY); - protocol.registerClientbound(ClientboundPackets1_19.BLOCK_CHANGED_ACK, null, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.BLOCK_CHANGED_ACK, null, new PacketRemapper() { @Override public void registerMap() { read(Type.VAR_INT); // Sequence @@ -104,7 +104,7 @@ public final class BlockItemPackets1_19 extends ItemRewriter<Protocol1_18_2To1_1 } }); - protocol.registerClientbound(ClientboundPackets1_19.SPAWN_PARTICLE, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.SPAWN_PARTICLE, new PacketRemapper() { @Override public void registerMap() { map(Type.VAR_INT, Type.INT); // Particle id @@ -139,7 +139,7 @@ public final class BlockItemPackets1_19 extends ItemRewriter<Protocol1_18_2To1_1 }); - protocol.registerClientbound(ClientboundPackets1_19.CHUNK_DATA, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.CHUNK_DATA, new PacketRemapper() { @Override public void registerMap() { handler(wrapper -> { diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/EntityPackets1_19.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/EntityPackets1_19.java index c265e3a8..173d4c26 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/EntityPackets1_19.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19_1/packets/EntityPackets1_19.java @@ -39,7 +39,7 @@ import com.viaversion.viaversion.libs.opennbt.tag.builtin.NumberTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.StringTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag; import com.viaversion.viaversion.protocols.protocol1_18to1_17_1.ClientboundPackets1_18; -import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ClientboundPackets1_19; +import com.viaversion.viaversion.protocols.protocol1_19_1to1_19.ClientboundPackets1_19_1; public final class EntityPackets1_19 extends EntityRewriter<Protocol1_18_2To1_19_1> { @@ -49,12 +49,12 @@ public final class EntityPackets1_19 extends EntityRewriter<Protocol1_18_2To1_19 @Override protected void registerPackets() { - registerTracker(ClientboundPackets1_19.SPAWN_EXPERIENCE_ORB, Entity1_19Types.EXPERIENCE_ORB); - registerTracker(ClientboundPackets1_19.SPAWN_PLAYER, Entity1_19Types.PLAYER); - registerMetadataRewriter(ClientboundPackets1_19.ENTITY_METADATA, Types1_19.METADATA_LIST, Types1_18.METADATA_LIST); - registerRemoveEntities(ClientboundPackets1_19.REMOVE_ENTITIES); + registerTracker(ClientboundPackets1_19_1.SPAWN_EXPERIENCE_ORB, Entity1_19Types.EXPERIENCE_ORB); + registerTracker(ClientboundPackets1_19_1.SPAWN_PLAYER, Entity1_19Types.PLAYER); + registerMetadataRewriter(ClientboundPackets1_19_1.ENTITY_METADATA, Types1_19.METADATA_LIST, Types1_18.METADATA_LIST); + registerRemoveEntities(ClientboundPackets1_19_1.REMOVE_ENTITIES); - protocol.registerClientbound(ClientboundPackets1_19.SPAWN_ENTITY, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.SPAWN_ENTITY, new PacketRemapper() { @Override public void registerMap() { map(Type.VAR_INT); // Entity id @@ -98,7 +98,7 @@ public final class EntityPackets1_19 extends EntityRewriter<Protocol1_18_2To1_19 } }); - protocol.registerClientbound(ClientboundPackets1_19.ENTITY_EFFECT, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.ENTITY_EFFECT, new PacketRemapper() { @Override public void registerMap() { map(Type.VAR_INT); // Entity id @@ -115,7 +115,7 @@ public final class EntityPackets1_19 extends EntityRewriter<Protocol1_18_2To1_19 } }); - protocol.registerClientbound(ClientboundPackets1_19.JOIN_GAME, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.JOIN_GAME, new PacketRemapper() { @Override public void registerMap() { map(Type.INT); // Entity ID @@ -180,7 +180,7 @@ public final class EntityPackets1_19 extends EntityRewriter<Protocol1_18_2To1_19 } }); - protocol.registerClientbound(ClientboundPackets1_19.RESPAWN, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.RESPAWN, new PacketRemapper() { @Override public void registerMap() { handler(wrapper -> { @@ -204,7 +204,7 @@ public final class EntityPackets1_19 extends EntityRewriter<Protocol1_18_2To1_19 } }); - protocol.registerClientbound(ClientboundPackets1_19.PLAYER_INFO, new PacketRemapper() { + protocol.registerClientbound(ClientboundPackets1_19_1.PLAYER_INFO, new PacketRemapper() { @Override public void registerMap() { handler(wrapper -> { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 72f8e562..c49f418c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ metadata.format.version = "1.1" [versions] # ViaVersion -viaver = "4.3.2-1.19.1-pre2-SNAPSHOT" +viaver = "4.4.0-1.19.1-pre3-SNAPSHOT" # Common provided netty = "4.0.20.Final"