From c2b5a5f54561c1a9b1e5d95173709cf8f7bf5dfd Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Wed, 14 Aug 2024 09:42:32 +0200 Subject: [PATCH] Update template protocol classes --- .../api/ViaBackwardsPlatform.java | 2 +- .../BackwardsStructuredItemRewriter.java | 14 +++- .../BlockItemPacketRewriter1_99.java | 57 +++++++------- .../template}/EntityPacketRewriter1_99.java | 29 ++++--- .../template}/Protocol1_98To1_99.java | 78 +++++++++---------- .../BlockItemPacketRewriter1_20_5.java | 2 +- .../rewriter/BlockItemPacketRewriter1_21.java | 12 ++- gradle/libs.versions.toml | 2 +- template/build.gradle.kts | 3 - 9 files changed, 106 insertions(+), 93 deletions(-) rename {template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter => common/src/main/java/com/viaversion/viabackwards/protocol/template}/BlockItemPacketRewriter1_99.java (51%) rename {template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter => common/src/main/java/com/viaversion/viabackwards/protocol/template}/EntityPacketRewriter1_99.java (78%) rename {template/src/main/java/com/viaversion/viabackwards/template/protocol => common/src/main/java/com/viaversion/viabackwards/protocol/template}/Protocol1_98To1_99.java (63%) delete mode 100644 template/build.gradle.kts 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 774e8266..4ab92280 100644 --- a/common/src/main/java/com/viaversion/viabackwards/api/ViaBackwardsPlatform.java +++ b/common/src/main/java/com/viaversion/viabackwards/api/ViaBackwardsPlatform.java @@ -69,7 +69,7 @@ import java.util.logging.Logger; public interface ViaBackwardsPlatform { - String MINIMUM_VV_VERSION = "5.0.3"; + String MINIMUM_VV_VERSION = "5.0.4"; /** * Initialize ViaBackwards. diff --git a/common/src/main/java/com/viaversion/viabackwards/api/rewriters/BackwardsStructuredItemRewriter.java b/common/src/main/java/com/viaversion/viabackwards/api/rewriters/BackwardsStructuredItemRewriter.java index ac654a9c..20548761 100644 --- a/common/src/main/java/com/viaversion/viabackwards/api/rewriters/BackwardsStructuredItemRewriter.java +++ b/common/src/main/java/com/viaversion/viabackwards/api/rewriters/BackwardsStructuredItemRewriter.java @@ -27,6 +27,7 @@ import com.viaversion.viabackwards.api.data.BackwardsMappingData; import com.viaversion.viabackwards.api.data.MappedItem; import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.data.FullMappings; +import com.viaversion.viaversion.api.minecraft.Particle; import com.viaversion.viaversion.api.minecraft.data.StructuredData; import com.viaversion.viaversion.api.minecraft.data.StructuredDataContainer; import com.viaversion.viaversion.api.minecraft.data.StructuredDataKey; @@ -43,14 +44,23 @@ import org.checkerframework.checker.nullness.qual.Nullable; public class BackwardsStructuredItemRewriter> extends StructuredItemRewriter { - public BackwardsStructuredItemRewriter(final T protocol, final Type itemType, final Type itemArrayType) { - super(protocol, itemType, itemArrayType); + public BackwardsStructuredItemRewriter( + T protocol, + Type itemType, Type itemArrayType, Type mappedItemType, Type mappedItemArrayType, + Type itemCostType, Type optionalItemCostType, Type mappedItemCostType, Type mappedOptionalItemCostType, + Type particleType, Type mappedParticleType + ) { + super(protocol, itemType, itemArrayType, mappedItemType, mappedItemArrayType, itemCostType, optionalItemCostType, mappedItemCostType, mappedOptionalItemCostType, particleType, mappedParticleType); } public BackwardsStructuredItemRewriter(final T protocol, final Type itemType, final Type itemArrayType, final Type mappedItemType, final Type mappedItemArrayType) { super(protocol, itemType, itemArrayType, mappedItemType, mappedItemArrayType); } + public BackwardsStructuredItemRewriter(final T protocol, final Type itemType, final Type itemArrayType) { + super(protocol, itemType, itemArrayType); + } + @Override public Item handleItemToClient(final UserConnection connection, final Item item) { if (item.isEmpty()) { diff --git a/template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter/BlockItemPacketRewriter1_99.java b/common/src/main/java/com/viaversion/viabackwards/protocol/template/BlockItemPacketRewriter1_99.java similarity index 51% rename from template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter/BlockItemPacketRewriter1_99.java rename to common/src/main/java/com/viaversion/viabackwards/protocol/template/BlockItemPacketRewriter1_99.java index 87393a8c..58db1cab 100644 --- a/template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter/BlockItemPacketRewriter1_99.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/template/BlockItemPacketRewriter1_99.java @@ -15,51 +15,56 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.viaversion.viabackwards.template.protocol.rewriter; +package com.viaversion.viabackwards.protocol.template; import com.viaversion.viabackwards.api.rewriters.BackwardsStructuredItemRewriter; -import com.viaversion.viabackwards.template.protocol.Protocol1_98To1_99; import com.viaversion.viaversion.api.type.types.chunk.ChunkType1_20_2; -import com.viaversion.viaversion.api.type.types.version.Types1_20_5; +import com.viaversion.viaversion.api.type.types.version.Types1_21; import com.viaversion.viaversion.protocols.v1_20_2to1_20_3.rewriter.RecipeRewriter1_20_3; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundPacket1_20_5; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundPackets1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ServerboundPacket1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ServerboundPackets1_20_5; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundPacket1_21; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundPackets1_21; import com.viaversion.viaversion.rewriter.BlockRewriter; // To replace if needed: // ChunkType1_20_2 // RecipeRewriter1_20_3 -public final class BlockItemPacketRewriter1_99 extends BackwardsStructuredItemRewriter { +// Types1_21 +final class BlockItemPacketRewriter1_99 extends BackwardsStructuredItemRewriter { public BlockItemPacketRewriter1_99(final Protocol1_98To1_99 protocol) { - super(protocol, /*old types*/Types1_20_5.ITEM, Types1_20_5.ITEM_ARRAY); + super(protocol, Types1_21.ITEM, Types1_21.ITEM_ARRAY); + /*super(protocol, + Types1_21.ITEM, Types1_21.ITEM_ARRAY, Types1_OLD.ITEM, Types1_OLD.ITEM_ARRAY, + Types1_21.ITEM_COST, Types1_21.OPTIONAL_ITEM_COST, Types1_OLD.ITEM_COST, Types1_OLD.OPTIONAL_ITEM_COST, + Types1_21.PARTICLE, Types1_OLD.PARTICLE + );*/ } @Override public void registerPackets() { - final BlockRewriter blockRewriter = BlockRewriter.for1_20_2(protocol); - blockRewriter.registerBlockEvent(ClientboundPackets1_20_5.BLOCK_EVENT); - blockRewriter.registerBlockUpdate(ClientboundPackets1_20_5.BLOCK_UPDATE); - blockRewriter.registerSectionBlocksUpdate1_20(ClientboundPackets1_20_5.SECTION_BLOCKS_UPDATE); - blockRewriter.registerLevelEvent1_21(ClientboundPackets1_20_5.LEVEL_EVENT, 2001); - blockRewriter.registerLevelChunk1_19(ClientboundPackets1_20_5.LEVEL_CHUNK_WITH_LIGHT, ChunkType1_20_2::new); - blockRewriter.registerBlockEntityData(ClientboundPackets1_20_5.BLOCK_ENTITY_DATA); + final BlockRewriter blockRewriter = BlockRewriter.for1_20_2(protocol); + blockRewriter.registerBlockEvent(ClientboundPackets1_21.BLOCK_EVENT); + blockRewriter.registerBlockUpdate(ClientboundPackets1_21.BLOCK_UPDATE); + blockRewriter.registerSectionBlocksUpdate1_20(ClientboundPackets1_21.SECTION_BLOCKS_UPDATE); + blockRewriter.registerLevelEvent1_21(ClientboundPackets1_21.LEVEL_EVENT, 2001); + blockRewriter.registerLevelChunk1_19(ClientboundPackets1_21.LEVEL_CHUNK_WITH_LIGHT, ChunkType1_20_2::new); + blockRewriter.registerBlockEntityData(ClientboundPackets1_21.BLOCK_ENTITY_DATA); - // registerOpenWindow(ClientboundPackets1_20_5.OPEN_WINDOW); - registerCooldown(ClientboundPackets1_20_5.COOLDOWN); - registerSetContent1_17_1(ClientboundPackets1_20_5.CONTAINER_SET_CONTENT); - registerSetSlot1_17_1(ClientboundPackets1_20_5.CONTAINER_SET_SLOT); - registerAdvancements1_20_3(ClientboundPackets1_20_5.UPDATE_ADVANCEMENTS); - registerSetEquipment(ClientboundPackets1_20_5.SET_EQUIPMENT); + // registerOpenWindow(ClientboundPackets1_21.OPEN_WINDOW); + registerCooldown(ClientboundPackets1_21.COOLDOWN); + registerSetContent1_17_1(ClientboundPackets1_21.CONTAINER_SET_CONTENT); + registerSetSlot1_17_1(ClientboundPackets1_21.CONTAINER_SET_SLOT); + registerAdvancements1_20_3(ClientboundPackets1_21.UPDATE_ADVANCEMENTS); + registerSetEquipment(ClientboundPackets1_21.SET_EQUIPMENT); registerContainerClick1_17_1(ServerboundPackets1_20_5.CONTAINER_CLICK); - registerMerchantOffers1_20_5(ClientboundPackets1_20_5.MERCHANT_OFFERS, Types1_20_5.ITEM_COST, Types1_20_5.ITEM_COST, Types1_20_5.OPTIONAL_ITEM_COST, Types1_20_5.OPTIONAL_ITEM_COST); + registerMerchantOffers1_20_5(ClientboundPackets1_21.MERCHANT_OFFERS); registerSetCreativeModeSlot(ServerboundPackets1_20_5.SET_CREATIVE_MODE_SLOT); - registerContainerSetData(ClientboundPackets1_20_5.CONTAINER_SET_DATA); - registerLevelParticles1_20_5(ClientboundPackets1_20_5.LEVEL_PARTICLES, Types1_20_5.PARTICLE, Types1_20_5.PARTICLE); - registerExplosion(ClientboundPackets1_20_5.EXPLODE, Types1_20_5.PARTICLE, Types1_20_5.PARTICLE); + registerContainerSetData(ClientboundPackets1_21.CONTAINER_SET_DATA); + registerLevelParticles1_20_5(ClientboundPackets1_21.LEVEL_PARTICLES); + registerExplosion(ClientboundPackets1_21.EXPLODE); - new RecipeRewriter1_20_3<>(protocol).register1_20_5(ClientboundPackets1_20_5.UPDATE_RECIPES); + new RecipeRewriter1_20_3<>(protocol).register1_20_5(ClientboundPackets1_21.UPDATE_RECIPES); } -} \ No newline at end of file +} diff --git a/template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter/EntityPacketRewriter1_99.java b/common/src/main/java/com/viaversion/viabackwards/protocol/template/EntityPacketRewriter1_99.java similarity index 78% rename from template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter/EntityPacketRewriter1_99.java rename to common/src/main/java/com/viaversion/viabackwards/protocol/template/EntityPacketRewriter1_99.java index 3b25a76e..806bf705 100644 --- a/template/src/main/java/com/viaversion/viabackwards/template/protocol/rewriter/EntityPacketRewriter1_99.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/template/EntityPacketRewriter1_99.java @@ -15,25 +15,24 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.viaversion.viabackwards.template.protocol.rewriter; +package com.viaversion.viabackwards.protocol.template; import com.viaversion.viabackwards.api.rewriters.EntityRewriter; -import com.viaversion.viabackwards.template.protocol.Protocol1_98To1_99; import com.viaversion.viaversion.api.minecraft.RegistryEntry; import com.viaversion.viaversion.api.minecraft.entities.EntityType; import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_5; import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers; import com.viaversion.viaversion.api.type.Types; import com.viaversion.viaversion.api.type.types.version.Types1_20_5; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundConfigurationPackets1_20_5; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundPacket1_20_5; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundPackets1_20_5; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundConfigurationPackets1_21; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundPacket1_21; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundPackets1_21; import com.viaversion.viaversion.util.Key; // Replace if needed // Types1_OLD -// Types1_20_5 -public final class EntityPacketRewriter1_99 extends EntityRewriter { +// Types1_21 +final class EntityPacketRewriter1_99 extends EntityRewriter { public EntityPacketRewriter1_99(final Protocol1_98To1_99 protocol) { super(protocol, Types1_20_5.ENTITY_DATA_TYPES.optionalComponentType, Types1_20_5.ENTITY_DATA_TYPES.booleanType); @@ -41,18 +40,18 @@ public final class EntityPacketRewriter1_99 extends EntityRewriter { + protocol.registerClientbound(ClientboundConfigurationPackets1_21.REGISTRY_DATA, wrapper -> { final String registryKey = Key.stripMinecraftNamespace(wrapper.passthrough(Types.STRING)); final RegistryEntry[] entries = wrapper.passthrough(Types.REGISTRY_ENTRY_ARRAY); handleRegistryData1_20_5(wrapper.user(), registryKey, entries); // Caches dimensions to access data like height later and tracks the amount of biomes sent for chunk data }); - protocol.registerClientbound(ClientboundPackets1_20_5.LOGIN, new PacketHandlers() { + protocol.registerClientbound(ClientboundPackets1_21.LOGIN, new PacketHandlers() { @Override public void register() { map(Types.INT); // Entity id @@ -70,7 +69,7 @@ public final class EntityPacketRewriter1_99 extends EntityRewriter { + protocol.registerClientbound(ClientboundPackets1_21.RESPAWN, wrapper -> { final int dimensionId = wrapper.passthrough(Types.VAR_INT); final String world = wrapper.passthrough(Types.STRING); trackWorldDataByKey1_20_5(wrapper.user(), dimensionId, world); // Tracks world height and name for chunk data and entity (un)tracking @@ -87,7 +86,7 @@ public final class EntityPacketRewriter1_99 extends EntityRewriter. */ -package com.viaversion.viabackwards.template.protocol; +package com.viaversion.viabackwards.protocol.template; import com.viaversion.viabackwards.api.BackwardsProtocol; import com.viaversion.viabackwards.api.data.BackwardsMappingData; import com.viaversion.viabackwards.api.rewriters.SoundRewriter; import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter; -import com.viaversion.viabackwards.template.protocol.rewriter.BlockItemPacketRewriter1_99; -import com.viaversion.viabackwards.template.protocol.rewriter.EntityPacketRewriter1_99; import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_5; import com.viaversion.viaversion.api.protocol.packet.provider.PacketTypesProvider; import com.viaversion.viaversion.api.protocol.packet.provider.SimplePacketTypesProvider; import com.viaversion.viaversion.data.entity.EntityTrackerBase; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.Protocol1_20_3To1_20_5; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundConfigurationPackets1_20_5; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundPacket1_20_5; -import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ClientboundPackets1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ServerboundConfigurationPackets1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ServerboundPacket1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ServerboundPackets1_20_5; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.Protocol1_20_5To1_21; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundConfigurationPackets1_21; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundPacket1_21; +import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundPackets1_21; import com.viaversion.viaversion.rewriter.ComponentRewriter.ReadType; import com.viaversion.viaversion.rewriter.StatisticsRewriter; import com.viaversion.viaversion.rewriter.TagRewriter; @@ -42,53 +40,53 @@ import com.viaversion.viaversion.rewriter.TagRewriter; import static com.viaversion.viaversion.util.ProtocolUtil.packetTypeMap; // Placeholders to replace (in the entire package): -// Protocol1_98To_99, EntityPacketRewriter1_99, BlockItemPacketRewriter1_99 -// Protocol1_20_5To1_20_3 (the ViaVersion protocol class the mappings depend on) -// ClientboundPacket1_20_5 +// Protocol1_98To1_99, EntityPacketRewriter1_99, BlockItemPacketRewriter1_99 +// Protocol1_20_5To1_21 (the ViaVersion protocol class the mappings depend on) +// ClientboundPacket1_21 // ServerboundPacket1_20_5 -// ClientboundConfigurationPackets1_20_5 +// ClientboundConfigurationPackets1_21 // ServerboundConfigurationPackets1_20_5 // EntityTypes1_20_5 (UNMAPPED type) // 1.99, 1.98 -public final class Protocol1_98To1_99 extends BackwardsProtocol { +final class Protocol1_98To1_99 extends BackwardsProtocol { // ViaBackwards uses its own mappings and also needs a translatablerewriter for translation mappings - public static final BackwardsMappingData MAPPINGS = new BackwardsMappingData("1.99", "1.98", Protocol1_20_3To1_20_5.class); + public static final BackwardsMappingData MAPPINGS = new BackwardsMappingData("1.99", "1.98", Protocol1_20_5To1_21.class); private final EntityPacketRewriter1_99 entityRewriter = new EntityPacketRewriter1_99(this); private final BlockItemPacketRewriter1_99 itemRewriter = new BlockItemPacketRewriter1_99(this); - private final TranslatableRewriter translatableRewriter = new TranslatableRewriter<>(this, ReadType.NBT); - private final TagRewriter tagRewriter = new TagRewriter<>(this); + private final TranslatableRewriter translatableRewriter = new TranslatableRewriter<>(this, ReadType.NBT); + private final TagRewriter tagRewriter = new TagRewriter<>(this); public Protocol1_98To1_99() { - super(ClientboundPacket1_20_5.class, ClientboundPacket1_20_5.class, ServerboundPacket1_20_5.class, ServerboundPacket1_20_5.class); + super(ClientboundPacket1_21.class, ClientboundPacket1_21.class, ServerboundPacket1_20_5.class, ServerboundPacket1_20_5.class); } @Override protected void registerPackets() { super.registerPackets(); - tagRewriter.registerGeneric(ClientboundPackets1_20_5.UPDATE_TAGS); - tagRewriter.registerGeneric(ClientboundConfigurationPackets1_20_5.UPDATE_TAGS); + tagRewriter.registerGeneric(ClientboundPackets1_21.UPDATE_TAGS); + tagRewriter.registerGeneric(ClientboundConfigurationPackets1_21.UPDATE_TAGS); - final SoundRewriter soundRewriter = new SoundRewriter<>(this); - soundRewriter.registerSound1_19_3(ClientboundPackets1_20_5.SOUND); - soundRewriter.registerSound1_19_3(ClientboundPackets1_20_5.SOUND_ENTITY); - soundRewriter.registerStopSound(ClientboundPackets1_20_5.STOP_SOUND); + final SoundRewriter soundRewriter = new SoundRewriter<>(this); + soundRewriter.registerSound1_19_3(ClientboundPackets1_21.SOUND); + soundRewriter.registerSound1_19_3(ClientboundPackets1_21.SOUND_ENTITY); + soundRewriter.registerStopSound(ClientboundPackets1_21.STOP_SOUND); - new StatisticsRewriter<>(this).register(ClientboundPackets1_20_5.AWARD_STATS); - //new AttributeRewriter<>(this).register1_21(ClientboundPackets1_20_5.ENTITY_PROPERTIES); + new StatisticsRewriter<>(this).register(ClientboundPackets1_21.AWARD_STATS); + //new AttributeRewriter<>(this).register1_21(ClientboundPackets1_21.ENTITY_PROPERTIES); // Registers translatable mappings (missing a whole bunch still) - //translatableRewriter.registerOpenWindow(ClientboundPackets1_20_5.OPEN_WINDOW); // Handled by registerOpenWindow in item rewriters - translatableRewriter.registerComponentPacket(ClientboundPackets1_20_5.SET_ACTION_BAR_TEXT); - translatableRewriter.registerComponentPacket(ClientboundPackets1_20_5.SET_TITLE_TEXT); - translatableRewriter.registerComponentPacket(ClientboundPackets1_20_5.SET_SUBTITLE_TEXT); - translatableRewriter.registerBossEvent(ClientboundPackets1_20_5.BOSS_EVENT); - translatableRewriter.registerComponentPacket(ClientboundPackets1_20_5.DISCONNECT); - translatableRewriter.registerTabList(ClientboundPackets1_20_5.TAB_LIST); - translatableRewriter.registerPlayerCombatKill1_20(ClientboundPackets1_20_5.PLAYER_COMBAT_KILL); - translatableRewriter.registerComponentPacket(ClientboundPackets1_20_5.SYSTEM_CHAT); - translatableRewriter.registerComponentPacket(ClientboundPackets1_20_5.DISGUISED_CHAT); + //translatableRewriter.registerOpenWindow(ClientboundPackets1_21.OPEN_WINDOW); // Handled by registerOpenWindow in item rewriters + translatableRewriter.registerComponentPacket(ClientboundPackets1_21.SET_ACTION_BAR_TEXT); + translatableRewriter.registerComponentPacket(ClientboundPackets1_21.SET_TITLE_TEXT); + translatableRewriter.registerComponentPacket(ClientboundPackets1_21.SET_SUBTITLE_TEXT); + translatableRewriter.registerBossEvent(ClientboundPackets1_21.BOSS_EVENT); + translatableRewriter.registerComponentPacket(ClientboundPackets1_21.DISCONNECT); + translatableRewriter.registerTabList(ClientboundPackets1_21.TAB_LIST); + translatableRewriter.registerPlayerCombatKill1_20(ClientboundPackets1_21.PLAYER_COMBAT_KILL); + translatableRewriter.registerComponentPacket(ClientboundPackets1_21.SYSTEM_CHAT); + translatableRewriter.registerComponentPacket(ClientboundPackets1_21.DISGUISED_CHAT); translatableRewriter.registerPing(); } @@ -113,22 +111,22 @@ public final class Protocol1_98To1_99 extends BackwardsProtocol getComponentRewriter() { + public TranslatableRewriter getComponentRewriter() { return translatableRewriter; } @Override - public TagRewriter getTagRewriter() { + public TagRewriter getTagRewriter() { return tagRewriter; } @Override - protected PacketTypesProvider createPacketTypesProvider() { + protected PacketTypesProvider createPacketTypesProvider() { return new SimplePacketTypesProvider<>( - packetTypeMap(unmappedClientboundPacketType, ClientboundPackets1_20_5.class, ClientboundConfigurationPackets1_20_5.class), - packetTypeMap(mappedClientboundPacketType, ClientboundPackets1_20_5.class, ClientboundConfigurationPackets1_20_5.class), + packetTypeMap(unmappedClientboundPacketType, ClientboundPackets1_21.class, ClientboundConfigurationPackets1_21.class), + packetTypeMap(mappedClientboundPacketType, ClientboundPackets1_21.class, ClientboundConfigurationPackets1_21.class), packetTypeMap(mappedServerboundPacketType, ServerboundPackets1_20_5.class, ServerboundConfigurationPackets1_20_5.class), packetTypeMap(unmappedServerboundPacketType, ServerboundPackets1_20_5.class, ServerboundConfigurationPackets1_20_5.class) ); } -} \ No newline at end of file +} diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java index 3728c693..8f31e48a 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java @@ -395,7 +395,7 @@ public final class BlockItemPacketRewriter1_20_5 extends BackwardsStructuredItem // Convert to structured item first final Item structuredItem = vvProtocol.getItemRewriter().toStructuredItem(connection, item); - if (item.tag() != null && item.tag().remove(nbtTagName()) instanceof final CompoundTag tag) { + if (item.tag() != null && item.tag().get(nbtTagName()) instanceof final CompoundTag tag) { // Set original custom data from backup structuredItem.dataContainer().set(StructuredDataKey.CUSTOM_DATA, tag); } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21to1_20_5/rewriter/BlockItemPacketRewriter1_21.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21to1_20_5/rewriter/BlockItemPacketRewriter1_21.java index 32e5087f..933fb0be 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21to1_20_5/rewriter/BlockItemPacketRewriter1_21.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21to1_20_5/rewriter/BlockItemPacketRewriter1_21.java @@ -61,7 +61,11 @@ public final class BlockItemPacketRewriter1_21 extends BackwardsStructuredItemRe private final StructuredEnchantmentRewriter enchantmentRewriter = new StructuredEnchantmentRewriter(this); public BlockItemPacketRewriter1_21(final Protocol1_21To1_20_5 protocol) { - super(protocol, Types1_21.ITEM, Types1_21.ITEM_ARRAY, Types1_20_5.ITEM, Types1_20_5.ITEM_ARRAY); + super(protocol, + Types1_21.ITEM, Types1_21.ITEM_ARRAY, Types1_20_5.ITEM, Types1_20_5.ITEM_ARRAY, + Types1_21.ITEM_COST, Types1_21.OPTIONAL_ITEM_COST, Types1_20_5.ITEM_COST, Types1_20_5.OPTIONAL_ITEM_COST, + Types1_21.PARTICLE, Types1_20_5.PARTICLE + ); } @Override @@ -79,10 +83,10 @@ public final class BlockItemPacketRewriter1_21 extends BackwardsStructuredItemRe registerAdvancements1_20_3(ClientboundPackets1_21.UPDATE_ADVANCEMENTS); registerSetEquipment(ClientboundPackets1_21.SET_EQUIPMENT); registerContainerClick1_17_1(ServerboundPackets1_20_5.CONTAINER_CLICK); - registerMerchantOffers1_20_5(ClientboundPackets1_21.MERCHANT_OFFERS, Types1_21.ITEM_COST, Types1_20_5.ITEM_COST, Types1_21.OPTIONAL_ITEM_COST, Types1_20_5.OPTIONAL_ITEM_COST); + registerMerchantOffers1_20_5(ClientboundPackets1_21.MERCHANT_OFFERS); registerSetCreativeModeSlot(ServerboundPackets1_20_5.SET_CREATIVE_MODE_SLOT); - registerLevelParticles1_20_5(ClientboundPackets1_21.LEVEL_PARTICLES, Types1_21.PARTICLE, Types1_20_5.PARTICLE); - registerExplosion(ClientboundPackets1_21.EXPLODE, Types1_21.PARTICLE, Types1_20_5.PARTICLE); + registerLevelParticles1_20_5(ClientboundPackets1_21.LEVEL_PARTICLES); + registerExplosion(ClientboundPackets1_21.EXPLODE); protocol.registerClientbound(ClientboundPackets1_21.OPEN_SCREEN, wrapper -> { wrapper.passthrough(Types.VAR_INT); // Id diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 292533c6..9212a8c8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ metadata.format.version = "1.1" [versions] # ViaVersion -viaver = "5.0.3-SNAPSHOT" +viaver = "5.0.4-SNAPSHOT" # Common provided netty = "4.0.20.Final" diff --git a/template/build.gradle.kts b/template/build.gradle.kts deleted file mode 100644 index 82d518d3..00000000 --- a/template/build.gradle.kts +++ /dev/null @@ -1,3 +0,0 @@ -dependencies { - compileOnlyApi(projects.viabackwardsCommon) -}