diff --git a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java index decafb7..43bca2f 100644 --- a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java +++ b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_14to3D_Shareware/Protocol1_14to3D_Shareware.java @@ -34,10 +34,10 @@ import net.raphimc.viaaprilfools.protocols.protocol1_14to3D_Shareware.storage.Ch public class Protocol1_14to3D_Shareware extends BackwardsProtocol { - public static final BackwardsMappings MAPPINGS = new BackwardsMappings("3D_Shareware", "1.14"); + public static final BackwardsMappings MAPPINGS = new BackwardsMappings("3D_Shareware", "1.14", Protocol1_14To1_13_2.class); private static final int SERVERSIDE_VIEW_DISTANCE = 64; - private BlockItemPackets3D_Shareware blockItemPackets; + private final BlockItemPackets3D_Shareware blockItemPackets = new BlockItemPackets3D_Shareware(this); public Protocol1_14to3D_Shareware() { super(ClientboundPackets3D_Shareware.class, ClientboundPackets1_14.class, ServerboundPackets3D_Shareware.class, ServerboundPackets1_14.class); @@ -45,10 +45,8 @@ public class Protocol1_14to3D_Shareware extends BackwardsProtocol soundRewriter = new SoundRewriter<>(this); soundRewriter.registerSound(ClientboundPackets3D_Shareware.SOUND); diff --git a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java index e457d0d..a7223ed 100644 --- a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java +++ b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/Protocol1_16to20w14infinite.java @@ -42,12 +42,12 @@ import java.util.UUID; public class Protocol1_16to20w14infinite extends BackwardsProtocol { - public static final BackwardsMappings MAPPINGS = new BackwardsMappings("20w14infinite", "1.16"); + public static final BackwardsMappings MAPPINGS = new BackwardsMappings("20w14infinite", "1.16", Protocol1_16To1_15_2.class); private static final UUID ZERO_UUID = new UUID(0, 0); - private BlockItemPackets20w14infinite blockItemPackets; - private TagRewriter tagRewriter; - private MetadataRewriter1_16to20w14infinite metadataRewriter; + private final BlockItemPackets20w14infinite blockItemPackets = new BlockItemPackets20w14infinite(this); + private final MetadataRewriter1_16to20w14infinite metadataRewriter = new MetadataRewriter1_16to20w14infinite(this); + private final TagRewriter tagRewriter = new TagRewriter<>(this); public Protocol1_16to20w14infinite() { super(ClientboundPackets20w14infinite.class, ClientboundPackets1_16.class, ServerboundPackets20w14infinite.class, ServerboundPackets1_16.class); @@ -55,19 +55,10 @@ public class Protocol1_16to20w14infinite extends BackwardsProtocol(this); - - this.executeAsyncAfterLoaded(Protocol1_16To1_15_2.class, () -> { - MAPPINGS.load(); - this.onMappingDataLoaded(); - }); + super.registerPackets(); tagRewriter.register(ClientboundPackets20w14infinite.TAGS, RegistryType.ENTITY); new StatisticsRewriter<>(this).register(ClientboundPackets20w14infinite.STATISTICS); - this.blockItemPackets = new BlockItemPackets20w14infinite(this); - this.blockItemPackets.register(); EntityPackets20w14infinite.register(this); final SoundRewriter soundRewriter = new SoundRewriter<>(this); soundRewriter.registerSound(ClientboundPackets20w14infinite.SOUND); diff --git a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/metadata/MetadataRewriter1_16to20w14infinite.java b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/metadata/MetadataRewriter1_16to20w14infinite.java index 225fac1..3b61948 100644 --- a/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/metadata/MetadataRewriter1_16to20w14infinite.java +++ b/src/main/java/net/raphimc/viaaprilfools/protocols/protocol1_16to20w14infinite/metadata/MetadataRewriter1_16to20w14infinite.java @@ -17,18 +17,13 @@ */ package net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.metadata; -import com.viaversion.viaversion.api.connection.UserConnection; -import com.viaversion.viaversion.api.minecraft.Particle; import com.viaversion.viaversion.api.minecraft.entities.EntityType; import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_16; -import com.viaversion.viaversion.api.minecraft.metadata.Metadata; import com.viaversion.viaversion.api.type.types.version.Types1_14; import com.viaversion.viaversion.rewriter.EntityRewriter; import net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.ClientboundPackets20w14infinite; import net.raphimc.viaaprilfools.protocols.protocol1_16to20w14infinite.Protocol1_16to20w14infinite; -import java.util.List; - public class MetadataRewriter1_16to20w14infinite extends EntityRewriter { public MetadataRewriter1_16to20w14infinite(Protocol1_16to20w14infinite protocol) { @@ -37,38 +32,22 @@ public class MetadataRewriter1_16to20w14infinite extends EntityRewriter { + // Convert to new block id + int data = (int) meta.getValue(); + meta.setValue(protocol.getMappingData().getNewBlockStateId(data)); + }); + + filter().type(EntityTypes1_16.ABSTRACT_ARROW).removeIndex(8); + } + @Override public EntityType typeFromId(int type) { return EntityTypes1_16.getTypeFromId(type); } - @Override - public void handleMetadata(int entityId, EntityType type, Metadata metadata, List metadatas, UserConnection connection) { - if (metadata.metaType() == Types1_14.META_TYPES.itemType) { - metadata.setValue(this.protocol.getItemRewriter().handleItemToClient(metadata.value())); - } else if (metadata.metaType() == Types1_14.META_TYPES.blockStateType) { - int data = (int) metadata.getValue(); - metadata.setValue(protocol.getMappingData().getNewBlockStateId(data)); - } else if (metadata.metaType() == Types1_14.META_TYPES.particleType) { - rewriteParticle((Particle) metadata.getValue()); - } - - if (type == null) return; - - if (type.isOrHasParent(EntityTypes1_16.MINECART_ABSTRACT) - && metadata.id() == 10) { - // Convert to new block id - int data = (int) metadata.getValue(); - metadata.setValue(protocol.getMappingData().getNewBlockStateId(data)); - } - - if (type.isOrHasParent(EntityTypes1_16.ABSTRACT_ARROW)) { - if (metadata.id() == 8) { - metadatas.remove(metadata); - } else if (metadata.id() > 8) { - metadata.setId(metadata.id() - 1); - } - } - } - }