From 1b3c5b4032301fddfbe3c20e847576e95ada1fca Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 5 Jun 2023 09:06:15 +0200 Subject: [PATCH] Create its own packets enum for 1.14.4 Acknowledge player digging was only added then, make sure this is represented correctly --- .../ClientboundPackets1_14_4.java | 127 ++++++++++++++++++ .../Protocol1_14_4To1_14_3.java | 4 +- .../ClientboundPackets1_14.java | 3 +- .../Protocol1_15To1_14_4.java | 18 +-- .../MetadataRewriter1_15To1_14_4.java | 4 +- .../packets/EntityPackets.java | 18 +-- .../packets/InventoryPackets.java | 18 +-- .../packets/WorldPackets.java | 20 +-- 8 files changed, 169 insertions(+), 43 deletions(-) create mode 100644 common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/ClientboundPackets1_14_4.java diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/ClientboundPackets1_14_4.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/ClientboundPackets1_14_4.java new file mode 100644 index 000000000..c2a502a20 --- /dev/null +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/ClientboundPackets1_14_4.java @@ -0,0 +1,127 @@ +/* + * This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion + * Copyright (C) 2016-2023 ViaVersion and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.viaversion.viaversion.protocols.protocol1_14_4to1_14_3; + +import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType; + +public enum ClientboundPackets1_14_4 implements ClientboundPacketType { + + SPAWN_ENTITY, // 0x00 + SPAWN_EXPERIENCE_ORB, // 0x01 + SPAWN_GLOBAL_ENTITY, // 0x02 + SPAWN_MOB, // 0x03 + SPAWN_PAINTING, // 0x04 + SPAWN_PLAYER, // 0x05 + ENTITY_ANIMATION, // 0x06 + STATISTICS, // 0x07 + BLOCK_BREAK_ANIMATION, // 0x08 + BLOCK_ENTITY_DATA, // 0x09 + BLOCK_ACTION, // 0x0A + BLOCK_CHANGE, // 0x0B + BOSSBAR, // 0x0C + SERVER_DIFFICULTY, // 0x0D + CHAT_MESSAGE, // 0x0E + MULTI_BLOCK_CHANGE, // 0x0F + TAB_COMPLETE, // 0x10 + DECLARE_COMMANDS, // 0x11 + WINDOW_CONFIRMATION, // 0x12 + CLOSE_WINDOW, // 0x13 + WINDOW_ITEMS, // 0x14 + WINDOW_PROPERTY, // 0x15 + SET_SLOT, // 0x16 + COOLDOWN, // 0x17 + PLUGIN_MESSAGE, // 0x18 + NAMED_SOUND, // 0x19 + DISCONNECT, // 0x1A + ENTITY_STATUS, // 0x1B + EXPLOSION, // 0x1C + UNLOAD_CHUNK, // 0x1D + GAME_EVENT, // 0x1E + OPEN_HORSE_WINDOW, // 0x1F + KEEP_ALIVE, // 0x20 + CHUNK_DATA, // 0x21 + EFFECT, // 0x22 + SPAWN_PARTICLE, // 0x23 + UPDATE_LIGHT, // 0x24 + JOIN_GAME, // 0x25 + MAP_DATA, // 0x26 + TRADE_LIST, // 0x27 + ENTITY_POSITION, // 0x28 + ENTITY_POSITION_AND_ROTATION, // 0x29 + ENTITY_ROTATION, // 0x2A + ENTITY_MOVEMENT, // 0x2B + VEHICLE_MOVE, // 0x2C + OPEN_BOOK, // 0x2D + OPEN_WINDOW, // 0x2E + OPEN_SIGN_EDITOR, // 0x2F + CRAFT_RECIPE_RESPONSE, // 0x30 + PLAYER_ABILITIES, // 0x31 + COMBAT_EVENT, // 0x32 + PLAYER_INFO, // 0x33 + FACE_PLAYER, // 0x34 + PLAYER_POSITION, // 0x35 + UNLOCK_RECIPES, // 0x36 + DESTROY_ENTITIES, // 0x37 + REMOVE_ENTITY_EFFECT, // 0x38 + RESOURCE_PACK, // 0x39 + RESPAWN, // 0x3A + ENTITY_HEAD_LOOK, // 0x3B + SELECT_ADVANCEMENTS_TAB, // 0x3C + WORLD_BORDER, // 0x3D + CAMERA, // 0x3E + HELD_ITEM_CHANGE, // 0x3F + UPDATE_VIEW_POSITION, // 0x40 + UPDATE_VIEW_DISTANCE, // 0x41 + DISPLAY_SCOREBOARD, // 0x42 + ENTITY_METADATA, // 0x43 + ATTACH_ENTITY, // 0x44 + ENTITY_VELOCITY, // 0x45 + ENTITY_EQUIPMENT, // 0x46 + SET_EXPERIENCE, // 0x47 + UPDATE_HEALTH, // 0x48 + SCOREBOARD_OBJECTIVE, // 0x49 + SET_PASSENGERS, // 0x4A + TEAMS, // 0x4B + UPDATE_SCORE, // 0x4C + SPAWN_POSITION, // 0x4D + TIME_UPDATE, // 0x4E + TITLE, // 0x4F + ENTITY_SOUND, // 0x50 + SOUND, // 0x51 + STOP_SOUND, // 0x52 + TAB_LIST, // 0x53 + NBT_QUERY, // 0x54 + COLLECT_ITEM, // 0x55 + ENTITY_TELEPORT, // 0x56 + ADVANCEMENTS, // 0x57 + ENTITY_PROPERTIES, // 0x58 + ENTITY_EFFECT, // 0x59 + DECLARE_RECIPES, // 0x5A + TAGS, // 0x5B + ACKNOWLEDGE_PLAYER_DIGGING; // 0x5C + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } +} diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/Protocol1_14_4To1_14_3.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/Protocol1_14_4To1_14_3.java index e82720c79..96b625efb 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/Protocol1_14_4To1_14_3.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14_4to1_14_3/Protocol1_14_4To1_14_3.java @@ -22,10 +22,10 @@ import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14; -public class Protocol1_14_4To1_14_3 extends AbstractProtocol { +public class Protocol1_14_4To1_14_3 extends AbstractProtocol { public Protocol1_14_4To1_14_3() { - super(ClientboundPackets1_14.class, ClientboundPackets1_14.class, null, null); + super(ClientboundPackets1_14.class, ClientboundPackets1_14_4.class, null, null); } @Override diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java index 17b45a9b4..2a7f86c9e 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java @@ -112,8 +112,7 @@ public enum ClientboundPackets1_14 implements ClientboundPacketType { ENTITY_PROPERTIES, // 0x58 ENTITY_EFFECT, // 0x59 DECLARE_RECIPES, // 0x5A - TAGS, // 0x5B - ACKNOWLEDGE_PLAYER_DIGGING; // 0x5C + TAGS; // 0x5B @Override public int getId() { diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java index 75e1a27d7..a32fb144e 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java @@ -25,7 +25,7 @@ import com.viaversion.viaversion.api.minecraft.entities.Entity1_15Types; import com.viaversion.viaversion.api.protocol.AbstractProtocol; import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.data.entity.EntityTrackerBase; -import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; +import com.viaversion.viaversion.protocols.protocol1_14_4to1_14_3.ClientboundPackets1_14_4; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.metadata.MetadataRewriter1_15To1_14_4; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.packets.EntityPackets; @@ -35,15 +35,15 @@ import com.viaversion.viaversion.rewriter.SoundRewriter; import com.viaversion.viaversion.rewriter.StatisticsRewriter; import com.viaversion.viaversion.rewriter.TagRewriter; -public class Protocol1_15To1_14_4 extends AbstractProtocol { +public class Protocol1_15To1_14_4 extends AbstractProtocol { public static final MappingData MAPPINGS = new MappingDataBase("1.14", "1.15"); private final MetadataRewriter1_15To1_14_4 metadataRewriter = new MetadataRewriter1_15To1_14_4(this); private final InventoryPackets itemRewriter = new InventoryPackets(this); - private TagRewriter tagRewriter; + private TagRewriter tagRewriter; public Protocol1_15To1_14_4() { - super(ClientboundPackets1_14.class, ClientboundPackets1_15.class, ServerboundPackets1_14.class, ServerboundPackets1_14.class); + super(ClientboundPackets1_14_4.class, ClientboundPackets1_15.class, ServerboundPackets1_14.class, ServerboundPackets1_14.class); } @Override @@ -54,16 +54,16 @@ public class Protocol1_15To1_14_4 extends AbstractProtocol soundRewriter = new SoundRewriter<>(this); - soundRewriter.registerSound(ClientboundPackets1_14.ENTITY_SOUND); // Entity Sound Effect (added somewhere in 1.14) - soundRewriter.registerSound(ClientboundPackets1_14.SOUND); + SoundRewriter soundRewriter = new SoundRewriter<>(this); + soundRewriter.registerSound(ClientboundPackets1_14_4.ENTITY_SOUND); // Entity Sound Effect (added somewhere in 1.14) + soundRewriter.registerSound(ClientboundPackets1_14_4.SOUND); - new StatisticsRewriter<>(this).register(ClientboundPackets1_14.STATISTICS); + new StatisticsRewriter<>(this).register(ClientboundPackets1_14_4.STATISTICS); registerServerbound(ServerboundPackets1_14.EDIT_BOOK, wrapper -> itemRewriter.handleItemToServer(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM))); tagRewriter = new TagRewriter<>(this); - tagRewriter.register(ClientboundPackets1_14.TAGS, RegistryType.ENTITY); + tagRewriter.register(ClientboundPackets1_14_4.TAGS, RegistryType.ENTITY); } @Override diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/metadata/MetadataRewriter1_15To1_14_4.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/metadata/MetadataRewriter1_15To1_14_4.java index ee1144197..0a473384d 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/metadata/MetadataRewriter1_15To1_14_4.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/metadata/MetadataRewriter1_15To1_14_4.java @@ -24,13 +24,13 @@ import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.minecraft.metadata.Metadata; import com.viaversion.viaversion.api.type.types.Particle; import com.viaversion.viaversion.api.type.types.version.Types1_14; -import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; +import com.viaversion.viaversion.protocols.protocol1_14_4to1_14_3.ClientboundPackets1_14_4; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.packets.EntityPackets; import com.viaversion.viaversion.rewriter.EntityRewriter; import java.util.List; -public class MetadataRewriter1_15To1_14_4 extends EntityRewriter { +public class MetadataRewriter1_15To1_14_4 extends EntityRewriter { public MetadataRewriter1_15To1_14_4(Protocol1_15To1_14_4 protocol) { super(protocol); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java index 072c199db..9aca42d90 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java @@ -24,21 +24,21 @@ import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers; import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.api.type.types.version.Types1_14; -import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; +import com.viaversion.viaversion.protocols.protocol1_14_4to1_14_3.ClientboundPackets1_14_4; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.ClientboundPackets1_15; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.metadata.MetadataRewriter1_15To1_14_4; import com.viaversion.viaversion.rewriter.EntityRewriter; import java.util.List; -public class EntityPackets { +public final class EntityPackets { public static void register(Protocol1_15To1_14_4 protocol) { MetadataRewriter1_15To1_14_4 metadataRewriter = protocol.get(MetadataRewriter1_15To1_14_4.class); - metadataRewriter.registerTrackerWithData(ClientboundPackets1_14.SPAWN_ENTITY, Entity1_15Types.FALLING_BLOCK); + metadataRewriter.registerTrackerWithData(ClientboundPackets1_14_4.SPAWN_ENTITY, Entity1_15Types.FALLING_BLOCK); - protocol.registerClientbound(ClientboundPackets1_14.SPAWN_MOB, new PacketHandlers() { + protocol.registerClientbound(ClientboundPackets1_14_4.SPAWN_MOB, new PacketHandlers() { @Override public void register() { map(Type.VAR_INT); // 0 - Entity ID @@ -59,7 +59,7 @@ public class EntityPackets { } }); - protocol.registerClientbound(ClientboundPackets1_14.SPAWN_PLAYER, new PacketHandlers() { + protocol.registerClientbound(ClientboundPackets1_14_4.SPAWN_PLAYER, new PacketHandlers() { @Override public void register() { map(Type.VAR_INT); // 0 - Entity ID @@ -79,7 +79,7 @@ public class EntityPackets { } }); - protocol.registerClientbound(ClientboundPackets1_14.RESPAWN, new PacketHandlers() { + protocol.registerClientbound(ClientboundPackets1_14_4.RESPAWN, new PacketHandlers() { @Override public void register() { map(Type.INT); @@ -87,7 +87,7 @@ public class EntityPackets { } }); - protocol.registerClientbound(ClientboundPackets1_14.JOIN_GAME, new PacketHandlers() { + protocol.registerClientbound(ClientboundPackets1_14_4.JOIN_GAME, new PacketHandlers() { @Override public void register() { map(Type.INT); // 0 - Entity ID @@ -105,8 +105,8 @@ public class EntityPackets { } }); - metadataRewriter.registerMetadataRewriter(ClientboundPackets1_14.ENTITY_METADATA, Types1_14.METADATA_LIST); - metadataRewriter.registerRemoveEntities(ClientboundPackets1_14.DESTROY_ENTITIES); + metadataRewriter.registerMetadataRewriter(ClientboundPackets1_14_4.ENTITY_METADATA, Types1_14.METADATA_LIST); + metadataRewriter.registerRemoveEntities(ClientboundPackets1_14_4.DESTROY_ENTITIES); } private static void sendMetadataPacket(PacketWrapper wrapper, int entityId, EntityRewriter rewriter) throws Exception { diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java index 2156ead57..50f5c50eb 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java @@ -18,13 +18,13 @@ package com.viaversion.viaversion.protocols.protocol1_15to1_14_4.packets; import com.viaversion.viaversion.api.type.Type; -import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; +import com.viaversion.viaversion.protocols.protocol1_14_4to1_14_3.ClientboundPackets1_14_4; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4; import com.viaversion.viaversion.rewriter.ItemRewriter; import com.viaversion.viaversion.rewriter.RecipeRewriter; -public class InventoryPackets extends ItemRewriter { +public class InventoryPackets extends ItemRewriter { public InventoryPackets(Protocol1_15To1_14_4 protocol) { super(protocol); @@ -32,14 +32,14 @@ public class InventoryPackets extends ItemRewriter(protocol).register(ClientboundPackets1_14.DECLARE_RECIPES); + new RecipeRewriter<>(protocol).register(ClientboundPackets1_14_4.DECLARE_RECIPES); registerClickWindow(ServerboundPackets1_14.CLICK_WINDOW, Type.FLAT_VAR_INT_ITEM); registerCreativeInvAction(ServerboundPackets1_14.CREATIVE_INVENTORY_ACTION, Type.FLAT_VAR_INT_ITEM); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java index d2560b41a..55d938a08 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java @@ -23,23 +23,23 @@ import com.viaversion.viaversion.api.minecraft.chunks.DataPalette; import com.viaversion.viaversion.api.minecraft.chunks.PaletteType; import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers; import com.viaversion.viaversion.api.type.Type; -import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; +import com.viaversion.viaversion.protocols.protocol1_14_4to1_14_3.ClientboundPackets1_14_4; import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.types.Chunk1_14Type; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4; import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.types.Chunk1_15Type; import com.viaversion.viaversion.rewriter.BlockRewriter; -public class WorldPackets { +public final class WorldPackets { public static void register(Protocol1_15To1_14_4 protocol) { - BlockRewriter blockRewriter = new BlockRewriter<>(protocol, Type.POSITION1_14); + BlockRewriter blockRewriter = new BlockRewriter<>(protocol, Type.POSITION1_14); - blockRewriter.registerBlockAction(ClientboundPackets1_14.BLOCK_ACTION); - blockRewriter.registerBlockChange(ClientboundPackets1_14.BLOCK_CHANGE); - blockRewriter.registerMultiBlockChange(ClientboundPackets1_14.MULTI_BLOCK_CHANGE); - blockRewriter.registerAcknowledgePlayerDigging(ClientboundPackets1_14.ACKNOWLEDGE_PLAYER_DIGGING); + blockRewriter.registerBlockAction(ClientboundPackets1_14_4.BLOCK_ACTION); + blockRewriter.registerBlockChange(ClientboundPackets1_14_4.BLOCK_CHANGE); + blockRewriter.registerMultiBlockChange(ClientboundPackets1_14_4.MULTI_BLOCK_CHANGE); + blockRewriter.registerAcknowledgePlayerDigging(ClientboundPackets1_14_4.ACKNOWLEDGE_PLAYER_DIGGING); - protocol.registerClientbound(ClientboundPackets1_14.CHUNK_DATA, wrapper -> { + protocol.registerClientbound(ClientboundPackets1_14_4.CHUNK_DATA, wrapper -> { Chunk chunk = wrapper.read(new Chunk1_14Type()); wrapper.write(new Chunk1_15Type(), chunk); @@ -79,8 +79,8 @@ public class WorldPackets { } }); - blockRewriter.registerEffect(ClientboundPackets1_14.EFFECT, 1010, 2001); - protocol.registerClientbound(ClientboundPackets1_14.SPAWN_PARTICLE, new PacketHandlers() { + blockRewriter.registerEffect(ClientboundPackets1_14_4.EFFECT, 1010, 2001); + protocol.registerClientbound(ClientboundPackets1_14_4.SPAWN_PARTICLE, new PacketHandlers() { @Override public void register() { map(Type.INT); // 0 - Particle ID