From 0fb08be6e98241c6f03ed7616a7e123873a7c541 Mon Sep 17 00:00:00 2001 From: Myles Date: Sat, 27 Oct 2018 12:25:42 +0100 Subject: [PATCH 1/2] Tidy up code to make it consistent --- .travis.yml | 6 +- .../protocol1_9to1_8/DeathListener.java | 2 +- .../protocol1_9to1_8/HandItemCache.java | 5 +- .../bukkit/platform/BukkitConfigAPI.java | 2 +- .../bukkit/platform/BukkitViaLoader.java | 4 +- .../BukkitInventoryQuickMoveProvider.java | 17 +- .../BukkitInventoryUpdateTask.java | 11 +- .../bungee/platform/BungeeConfigAPI.java | 2 +- .../bungee/util/BungeePipelineUtil.java | 1 - circle.yml | 6 +- .../myles/ViaVersion/api/PacketWrapper.java | 24 +- .../ViaVersion/api/data/UserConnection.java | 6 +- .../api/entities/Entity1_14Types.java | 7 +- .../api/minecraft/chunks/BaseChunk.java | 22 +- .../api/minecraft/chunks/ChunkSection.java | 10 +- .../api/protocol/ProtocolRegistry.java | 10 +- .../type/types/minecraft/BaseItemType.java | 1 - .../types/version/ChunkSectionType1_13.java | 180 +++---- .../types/version/ChunkSectionType1_8.java | 46 +- .../types/version/ChunkSectionType1_9.java | 178 +++---- .../types/version/Metadata1_13_2Type.java | 34 +- .../api/type/types/version/Types1_13_2.java | 16 +- .../protocol1_11to1_10/MetadataRewriter.java | 2 +- .../TranslateRewriter.java | 4 +- .../packets/EntityPackets.java | 2 +- .../Protocol1_13_2To1_13_1.java | 110 ++--- .../packets/EntityPackets.java | 146 +++--- .../packets/InventoryPackets.java | 238 ++++----- .../packets/WorldPackets.java | 54 +- .../Protocol1_13To1_12_2.java | 32 +- .../data/EntityTypeRewriter.java | 172 ++++--- .../types/Chunk1_13Type.java | 2 +- .../MetadataRewriter.java | 54 +- .../Protocol1_14To1_13_2.java | 438 ++++++++-------- .../data/EntityTypeRewriter.java | 110 ++--- .../packets/EntityPackets.java | 278 +++++------ .../packets/InventoryPackets.java | 400 +++++++-------- .../packets/PlayerPackets.java | 108 ++-- .../packets/WorldPackets.java | 466 +++++++++--------- .../storage/EntityTracker.java | 32 +- .../types/Chunk1_14Type.java | 144 +++--- .../protocol1_9to1_8/ItemRewriter.java | 4 +- .../packets/WorldPackets.java | 4 +- .../storage/EntityTracker.java | 2 +- .../types/Chunk1_9to1_8Type.java | 2 +- sponge/pom.xml | 3 +- .../us/myles/ViaVersion/SpongePlugin.java | 3 - .../sponge/platform/SpongeConfigAPI.java | 2 +- 48 files changed, 1695 insertions(+), 1707 deletions(-) diff --git a/.travis.yml b/.travis.yml index f87395083..af8e7d1c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,8 @@ jdk: oraclejdk8 cache: directories: - - '$HOME/.m2/repository' + - '$HOME/.m2/repository' script: - - mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false - - mvn clean install -B -U +- mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false +- mvn clean install -B -U diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/DeathListener.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/DeathListener.java index 164ffb394..de1f0d110 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/DeathListener.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/DeathListener.java @@ -38,7 +38,7 @@ public class DeathListener extends ViaBukkitListener { @Override public void run() { // If online - if(getUserConnection(p) != null) { + if (getUserConnection(p) != null) { PacketWrapper wrapper = new PacketWrapper(0x2C, null, getUserConnection(p)); try { wrapper.write(Type.VAR_INT, 2); // Event - Entity dead diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/HandItemCache.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/HandItemCache.java index 776003017..4cf432898 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/HandItemCache.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/listeners/protocol1_9to1_8/HandItemCache.java @@ -6,7 +6,10 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; import us.myles.ViaVersion.api.minecraft.item.Item; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; public class HandItemCache extends BukkitRunnable { diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitConfigAPI.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitConfigAPI.java index b033cdb79..2aea4289e 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitConfigAPI.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitConfigAPI.java @@ -164,7 +164,7 @@ public class BukkitConfigAPI extends Config implements ViaVersionConfig { public boolean is1_12NBTArrayFix() { return getBoolean("chat-nbt-fix", true); } - + @Override public boolean is1_12QuickMoveActionFix() { return getBoolean("quick-move-action-fix", false); diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaLoader.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaLoader.java index 1ab52ede5..babf3e0fd 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaLoader.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaLoader.java @@ -13,12 +13,12 @@ import us.myles.ViaVersion.api.minecraft.item.Item; import us.myles.ViaVersion.api.platform.ViaPlatformLoader; import us.myles.ViaVersion.api.protocol.ProtocolRegistry; import us.myles.ViaVersion.api.protocol.ProtocolVersion; +import us.myles.ViaVersion.bukkit.classgenerator.ClassGenerator; import us.myles.ViaVersion.bukkit.listeners.UpdateListener; import us.myles.ViaVersion.bukkit.listeners.protocol1_9to1_8.*; import us.myles.ViaVersion.bukkit.providers.BukkitInventoryQuickMoveProvider; import us.myles.ViaVersion.bukkit.providers.BukkitViaBulkChunkTranslator; import us.myles.ViaVersion.bukkit.providers.BukkitViaMovementTransmitter; -import us.myles.ViaVersion.bukkit.classgenerator.ClassGenerator; import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.providers.InventoryQuickMoveProvider; import us.myles.ViaVersion.protocols.protocol1_9to1_8.providers.BulkChunkTranslatorProvider; @@ -77,7 +77,7 @@ public class BukkitViaLoader implements ViaPlatformLoader { if ((Bukkit.getVersion().toLowerCase().contains("paper") || Bukkit.getVersion().toLowerCase().contains("taco") || Bukkit.getVersion().toLowerCase().contains("torch")) - && ProtocolRegistry.SERVER_PROTOCOL < ProtocolVersion.v1_12.getId()) { + && ProtocolRegistry.SERVER_PROTOCOL < ProtocolVersion.v1_12.getId()) { plugin.getLogger().info("Enabling Paper/TacoSpigot/Torch patch: Fixes block placement."); storeListener(new PaperPatch(plugin)).register(); } diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInventoryQuickMoveProvider.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInventoryQuickMoveProvider.java index a3e6eeb1f..f2586442c 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInventoryQuickMoveProvider.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInventoryQuickMoveProvider.java @@ -1,19 +1,10 @@ package us.myles.ViaVersion.bukkit.providers; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.logging.Level; - import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryType; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.ItemStack; - import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.data.UserConnection; import us.myles.ViaVersion.api.protocol.ProtocolRegistry; @@ -25,6 +16,14 @@ import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.providers.InventoryQui import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.storage.ItemTransaction; import us.myles.ViaVersion.util.ReflectionUtil; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.logging.Level; + public class BukkitInventoryQuickMoveProvider extends InventoryQuickMoveProvider { private static Map updateTasks = new ConcurrentHashMap(); diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/tasks/protocol1_12to1_11_1/BukkitInventoryUpdateTask.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/tasks/protocol1_12to1_11_1/BukkitInventoryUpdateTask.java index 7f3ac0941..529363b8c 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/tasks/protocol1_12to1_11_1/BukkitInventoryUpdateTask.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/tasks/protocol1_12to1_11_1/BukkitInventoryUpdateTask.java @@ -1,16 +1,15 @@ package us.myles.ViaVersion.bukkit.tasks.protocol1_12to1_11_1; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import us.myles.ViaVersion.bukkit.providers.BukkitInventoryQuickMoveProvider; +import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.storage.ItemTransaction; + import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.UUID; -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; - -import us.myles.ViaVersion.bukkit.providers.BukkitInventoryQuickMoveProvider; -import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.storage.ItemTransaction; - public class BukkitInventoryUpdateTask implements Runnable { private BukkitInventoryQuickMoveProvider provider; diff --git a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeConfigAPI.java b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeConfigAPI.java index 1c013f3f2..5b773185d 100644 --- a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeConfigAPI.java +++ b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeConfigAPI.java @@ -203,7 +203,7 @@ public class BungeeConfigAPI extends Config implements ViaVersionConfig { public boolean is1_12NBTArrayFix() { return getBoolean("chat-nbt-fix", true); } - + @Override public boolean is1_12QuickMoveActionFix() { return false; diff --git a/bungee/src/main/java/us/myles/ViaVersion/bungee/util/BungeePipelineUtil.java b/bungee/src/main/java/us/myles/ViaVersion/bungee/util/BungeePipelineUtil.java index d6218cc2d..9cc27c37b 100644 --- a/bungee/src/main/java/us/myles/ViaVersion/bungee/util/BungeePipelineUtil.java +++ b/bungee/src/main/java/us/myles/ViaVersion/bungee/util/BungeePipelineUtil.java @@ -4,7 +4,6 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; import io.netty.handler.codec.MessageToMessageDecoder; -import us.myles.ViaVersion.api.Via; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/circle.yml b/circle.yml index df3c57ab6..6d6afa5b6 100644 --- a/circle.yml +++ b/circle.yml @@ -3,9 +3,9 @@ machine: version: oraclejdk8 general: artifacts: - - "target/*.jar" + - "target/*.jar" test: override: - - mvn clean install -B + - mvn clean install -B post: - - cp ./target/*.jar $CIRCLE_ARTIFACTS + - cp ./target/*.jar $CIRCLE_ARTIFACTS diff --git a/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java b/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java index f5fc26223..7dfba2c7b 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java +++ b/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java @@ -278,8 +278,8 @@ public class PacketWrapper { * Be careful not to send packets twice. * (Sends it after current) * - * @param packetProtocol - The protocol version of the packet. - * @param skipCurrentPipeline - Skip the current pipeline + * @param packetProtocol The protocol version of the packet. + * @param skipCurrentPipeline Skip the current pipeline * @throws Exception if it fails to write */ public void send(Class packetProtocol, boolean skipCurrentPipeline) throws Exception { @@ -291,9 +291,9 @@ public class PacketWrapper { * Be careful not to send packets twice. * (Sends it after current) * - * @param packetProtocol - The protocol version of the packet. - * @param skipCurrentPipeline - Skip the current pipeline - * @param currentThread - Run in the same thread + * @param packetProtocol The protocol version of the packet. + * @param skipCurrentPipeline Skip the current pipeline + * @param currentThread Run in the same thread * @throws Exception if it fails to write */ public void send(Class packetProtocol, boolean skipCurrentPipeline, boolean currentThread) throws Exception { @@ -306,8 +306,8 @@ public class PacketWrapper { /** * Let the packet go through the protocol pipes and write it to ByteBuf * - * @param packetProtocol - The protocol version of the packet. - * @param skipCurrentPipeline - Skip the current pipeline + * @param packetProtocol The protocol version of the packet. + * @param skipCurrentPipeline Skip the current pipeline * @return Packet buffer * @throws Exception if it fails to write */ @@ -343,7 +343,7 @@ public class PacketWrapper { * Be careful not to send packets twice. * (Sends it after current) * - * @param packetProtocol - The protocol version of the packet. + * @param packetProtocol The protocol version of the packet. * @throws Exception if it fails to write */ public void send(Class packetProtocol) throws Exception { @@ -356,7 +356,7 @@ public class PacketWrapper { * (Sends it after current) * Also returns the packets ChannelFuture * - * @param packetProtocol - The protocol version of the packet. + * @param packetProtocol The protocol version of the packet. * @return The packets ChannelFuture * @throws Exception if it fails to write */ @@ -486,9 +486,9 @@ public class PacketWrapper { /** * Send this packet to the server. * - * @param packetProtocol - The protocol version of the packet. - * @param skipCurrentPipeline - Skip the current pipeline - * @param currentThread - Run in the same thread + * @param packetProtocol The protocol version of the packet. + * @param skipCurrentPipeline Skip the current pipeline + * @param currentThread Run in the same thread * @throws Exception if it fails to write */ public void sendToServer(Class packetProtocol, boolean skipCurrentPipeline, boolean currentThread) throws Exception { diff --git a/common/src/main/java/us/myles/ViaVersion/api/data/UserConnection.java b/common/src/main/java/us/myles/ViaVersion/api/data/UserConnection.java index aa9019262..ffc4b4a58 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/data/UserConnection.java +++ b/common/src/main/java/us/myles/ViaVersion/api/data/UserConnection.java @@ -205,7 +205,7 @@ public class UserConnection { /** * Sends a raw packet to the server * - * @param packet Raw packet to be sent + * @param packet Raw packet to be sent * @param currentThread If {@code true} executes immediately, {@code false} submits a task to EventLoop */ public void sendRawPacketToServer(final ByteBuf packet, boolean currentThread) { @@ -244,5 +244,7 @@ public class UserConnection { * * @param packet Raw packet to be sent */ - public void sendRawPacketToServer(ByteBuf packet) { sendRawPacketToServer(packet, false); } + public void sendRawPacketToServer(ByteBuf packet) { + sendRawPacketToServer(packet, false); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java index 46384c855..7446949b0 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java +++ b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java @@ -8,12 +8,7 @@ import us.myles.ViaVersion.api.Via; public class Entity1_14Types { public static EntityType getTypeFromId(int typeID, boolean isObject) { - Optional type; - - if (isObject) - type = ObjectTypes.getPCEntity(typeID); - else - type = EntityType.findById(typeID); + Optional type = isObject ? ObjectTypes.getPCEntity(typeID) : EntityType.findById(typeID); if (!type.isPresent()) { Via.getPlatform().getLogger().severe("Could not find type id " + typeID + " isObject=" + isObject); diff --git a/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/BaseChunk.java b/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/BaseChunk.java index 82dd09429..931dda65e 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/BaseChunk.java +++ b/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/BaseChunk.java @@ -9,16 +9,16 @@ import java.util.List; @AllArgsConstructor @Data public class BaseChunk implements Chunk { - protected int x; - protected int z; - protected boolean groundUp; - protected int bitmask; - protected ChunkSection[] sections; - protected byte[] biomeData; - protected List blockEntities; + protected int x; + protected int z; + protected boolean groundUp; + protected int bitmask; + protected ChunkSection[] sections; + protected byte[] biomeData; + protected List blockEntities; - @Override - public boolean isBiomeData() { - return biomeData != null; - } + @Override + public boolean isBiomeData() { + return biomeData != null; + } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/ChunkSection.java b/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/ChunkSection.java index 7e15d1f07..f5a15d1a6 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/ChunkSection.java +++ b/common/src/main/java/us/myles/ViaVersion/api/minecraft/chunks/ChunkSection.java @@ -17,7 +17,7 @@ public class ChunkSection { */ public static final int LIGHT_LENGTH = 16 * 16 * 16 / 2; // size * size * size / 2 (nibble bit count) @Getter - private final List palette = Lists.newArrayList(); + private final List palette = Lists.newArrayList(); private final int[] blocks; private NibbleArray blockLight; private NibbleArray skyLight; @@ -72,19 +72,19 @@ public class ChunkSection { } public void setPaletteIndex(int idx, int index) { - blocks[idx] = index; + blocks[idx] = index; } public int getPaletteIndex(int idx) { - return blocks[idx]; + return blocks[idx]; } /** * Set a block state in the chunk * This method will not update non-air blocks count * - * @param idx Index - * @param id The raw or flat id of the block + * @param idx Index + * @param id The raw or flat id of the block */ public void setFlatBlock(int idx, int id) { int index = palette.indexOf(id); diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java index 4037abf26..0b1036c19 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java +++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java @@ -13,6 +13,7 @@ import us.myles.ViaVersion.protocols.protocol1_11to1_10.Protocol1_11To1_10; import us.myles.ViaVersion.protocols.protocol1_12_1to1_12.Protocol1_12_1TO1_12; import us.myles.ViaVersion.protocols.protocol1_12_2to1_12_1.Protocol1_12_2TO1_12_1; import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.Protocol1_12To1_11_1; +import us.myles.ViaVersion.protocols.protocol1_13_1to1_13.Protocol1_13_1To1_13; import us.myles.ViaVersion.protocols.protocol1_13_2to1_13_1.Protocol1_13_2To1_13_1; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.Protocol1_13To1_12_2; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.Protocol1_14To1_13_2; @@ -21,7 +22,6 @@ import us.myles.ViaVersion.protocols.protocol1_9_1to1_9.Protocol1_9_1TO1_9; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.Protocol1_9_3TO1_9_1_2; import us.myles.ViaVersion.protocols.protocol1_9to1_8.Protocol1_9TO1_8; import us.myles.ViaVersion.protocols.protocol1_9to1_9_1.Protocol1_9TO1_9_1; -import us.myles.ViaVersion.protocols.protocol1_13_1to1_13.Protocol1_13_1To1_13; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -58,10 +58,10 @@ public class ProtocolRegistry { registerProtocol(new Protocol1_12_2TO1_12_1(), Collections.singletonList(ProtocolVersion.v1_12_2.getId()), ProtocolVersion.v1_12_1.getId()); registerProtocol(new Protocol1_13To1_12_2(), Collections.singletonList(ProtocolVersion.v1_13.getId()), ProtocolVersion.v1_12_2.getId()); - registerProtocol(new Protocol1_13_1To1_13(), Arrays.asList(ProtocolVersion.v1_13_1.getId()), ProtocolVersion.v1_13.getId()); - registerProtocol(new Protocol1_13_2To1_13_1(), Arrays.asList(ProtocolVersion.v1_13_2.getId()), ProtocolVersion.v1_13_1.getId()); + registerProtocol(new Protocol1_13_1To1_13(), Arrays.asList(ProtocolVersion.v1_13_1.getId()), ProtocolVersion.v1_13.getId()); + registerProtocol(new Protocol1_13_2To1_13_1(), Arrays.asList(ProtocolVersion.v1_13_2.getId()), ProtocolVersion.v1_13_1.getId()); - registerProtocol(new Protocol1_14To1_13_2(), Arrays.asList(ProtocolVersion.v1_14.getId()), ProtocolVersion.v1_13_2.getId()); + registerProtocol(new Protocol1_14To1_13_2(), Arrays.asList(ProtocolVersion.v1_14.getId()), ProtocolVersion.v1_13_2.getId()); } /** @@ -98,7 +98,7 @@ public class ProtocolRegistry { * Base Protocols registered later have higher priority * Only one base protocol will be added to pipeline * - * @param baseProtocol Base Protocol to register + * @param baseProtocol Base Protocol to register * @param supportedProtocols Versions that baseProtocol supports */ public static void registerBaseProtocol(Protocol baseProtocol, Range supportedProtocols) { diff --git a/common/src/main/java/us/myles/ViaVersion/api/type/types/minecraft/BaseItemType.java b/common/src/main/java/us/myles/ViaVersion/api/type/types/minecraft/BaseItemType.java index af19f82fb..f17db803c 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/type/types/minecraft/BaseItemType.java +++ b/common/src/main/java/us/myles/ViaVersion/api/type/types/minecraft/BaseItemType.java @@ -1,6 +1,5 @@ package us.myles.ViaVersion.api.type.types.minecraft; -import us.myles.ViaVersion.api.minecraft.chunks.Chunk; import us.myles.ViaVersion.api.minecraft.item.Item; import us.myles.ViaVersion.api.type.Type; diff --git a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_13.java b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_13.java index ee6b89721..900773fac 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_13.java +++ b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_13.java @@ -8,107 +8,107 @@ import java.util.List; public class ChunkSectionType1_13 extends Type { - public ChunkSectionType1_13() { - super("Chunk Section Type", ChunkSection.class); - } + public ChunkSectionType1_13() { + super("Chunk Section Type", ChunkSection.class); + } - @Override - public ChunkSection read(ByteBuf buffer) throws Exception { - ChunkSection chunkSection = new ChunkSection(); - List palette = chunkSection.getPalette(); - palette.clear(); + @Override + public ChunkSection read(ByteBuf buffer) throws Exception { + ChunkSection chunkSection = new ChunkSection(); + List palette = chunkSection.getPalette(); + palette.clear(); - // Reaad bits per block - int bitsPerBlock = buffer.readUnsignedByte(); - long maxEntryValue = (1L << bitsPerBlock) - 1; + // Reaad bits per block + int bitsPerBlock = buffer.readUnsignedByte(); + long maxEntryValue = (1L << bitsPerBlock) - 1; - if (bitsPerBlock == 0) { - bitsPerBlock = 14; - } - if (bitsPerBlock < 4) { - bitsPerBlock = 4; - } - if (bitsPerBlock > 8) { - bitsPerBlock = 14; - } - int paletteLength = bitsPerBlock == 14 ? 0 : Type.VAR_INT.read(buffer); - // Read palette - for (int i = 0; i < paletteLength; i++) { - palette.add(Type.VAR_INT.read(buffer)); - } + if (bitsPerBlock == 0) { + bitsPerBlock = 14; + } + if (bitsPerBlock < 4) { + bitsPerBlock = 4; + } + if (bitsPerBlock > 8) { + bitsPerBlock = 14; + } + int paletteLength = bitsPerBlock == 14 ? 0 : Type.VAR_INT.read(buffer); + // Read palette + for (int i = 0; i < paletteLength; i++) { + palette.add(Type.VAR_INT.read(buffer)); + } - // Read blocks - long[] blockData = new long[Type.VAR_INT.read(buffer)]; - if (blockData.length > 0) { - for (int i = 0; i < blockData.length; i++) { - blockData[i] = buffer.readLong(); - } - for (int i = 0; i < ChunkSection.SIZE; i++) { - int bitIndex = i * bitsPerBlock; - int startIndex = bitIndex / 64; - int endIndex = ((i + 1) * bitsPerBlock - 1) / 64; - int startBitSubIndex = bitIndex % 64; - int val; - if (startIndex == endIndex) { - val = (int) (blockData[startIndex] >>> startBitSubIndex & maxEntryValue); - } else { - int endBitSubIndex = 64 - startBitSubIndex; - val = (int) ((blockData[startIndex] >>> startBitSubIndex | blockData[endIndex] << endBitSubIndex) & maxEntryValue); - } + // Read blocks + long[] blockData = new long[Type.VAR_INT.read(buffer)]; + if (blockData.length > 0) { + for (int i = 0; i < blockData.length; i++) { + blockData[i] = buffer.readLong(); + } + for (int i = 0; i < ChunkSection.SIZE; i++) { + int bitIndex = i * bitsPerBlock; + int startIndex = bitIndex / 64; + int endIndex = ((i + 1) * bitsPerBlock - 1) / 64; + int startBitSubIndex = bitIndex % 64; + int val; + if (startIndex == endIndex) { + val = (int) (blockData[startIndex] >>> startBitSubIndex & maxEntryValue); + } else { + int endBitSubIndex = 64 - startBitSubIndex; + val = (int) ((blockData[startIndex] >>> startBitSubIndex | blockData[endIndex] << endBitSubIndex) & maxEntryValue); + } - if (bitsPerBlock == 14) { - chunkSection.setFlatBlock(i, val); - } else { - chunkSection.setPaletteIndex(i, val); - } - } - } + if (bitsPerBlock == 14) { + chunkSection.setFlatBlock(i, val); + } else { + chunkSection.setPaletteIndex(i, val); + } + } + } - return chunkSection; - } + return chunkSection; + } - @Override - public void write(ByteBuf buffer, ChunkSection chunkSection) throws Exception { - List palette = chunkSection.getPalette(); + @Override + public void write(ByteBuf buffer, ChunkSection chunkSection) throws Exception { + List palette = chunkSection.getPalette(); - int bitsPerBlock = 4; - while (palette.size() > 1 << bitsPerBlock) { - bitsPerBlock += 1; - } + int bitsPerBlock = 4; + while (palette.size() > 1 << bitsPerBlock) { + bitsPerBlock += 1; + } - if (bitsPerBlock > 8) { - bitsPerBlock = 14; - } + if (bitsPerBlock > 8) { + bitsPerBlock = 14; + } - long maxEntryValue = (1L << bitsPerBlock) - 1; - buffer.writeByte(bitsPerBlock); + long maxEntryValue = (1L << bitsPerBlock) - 1; + buffer.writeByte(bitsPerBlock); - // Write pallet (or not) - if (bitsPerBlock != 14) { - Type.VAR_INT.write(buffer, palette.size()); - for (int mappedId : palette) { - Type.VAR_INT.write(buffer, mappedId); - } - } + // Write pallet (or not) + if (bitsPerBlock != 14) { + Type.VAR_INT.write(buffer, palette.size()); + for (int mappedId : palette) { + Type.VAR_INT.write(buffer, mappedId); + } + } - int length = (int) Math.ceil(ChunkSection.SIZE * bitsPerBlock / 64.0); - Type.VAR_INT.write(buffer, length); - long[] data = new long[length]; - for (int index = 0; index < ChunkSection.SIZE; index++) { - int value = bitsPerBlock == 14 ? chunkSection.getFlatBlock(index) : chunkSection.getPaletteIndex(index); - int bitIndex = index * bitsPerBlock; - int startIndex = bitIndex / 64; - int endIndex = ((index + 1) * bitsPerBlock - 1) / 64; - int startBitSubIndex = bitIndex % 64; - data[startIndex] = data[startIndex] & ~(maxEntryValue << startBitSubIndex) | ((long) value & maxEntryValue) << startBitSubIndex; - if (startIndex != endIndex) { - int endBitSubIndex = 64 - startBitSubIndex; - data[endIndex] = data[endIndex] >>> endBitSubIndex << endBitSubIndex | ((long) value & maxEntryValue) >> endBitSubIndex; - } - } - for (long l : data) { - buffer.writeLong(l); - } - } + int length = (int) Math.ceil(ChunkSection.SIZE * bitsPerBlock / 64.0); + Type.VAR_INT.write(buffer, length); + long[] data = new long[length]; + for (int index = 0; index < ChunkSection.SIZE; index++) { + int value = bitsPerBlock == 14 ? chunkSection.getFlatBlock(index) : chunkSection.getPaletteIndex(index); + int bitIndex = index * bitsPerBlock; + int startIndex = bitIndex / 64; + int endIndex = ((index + 1) * bitsPerBlock - 1) / 64; + int startBitSubIndex = bitIndex % 64; + data[startIndex] = data[startIndex] & ~(maxEntryValue << startBitSubIndex) | ((long) value & maxEntryValue) << startBitSubIndex; + if (startIndex != endIndex) { + int endBitSubIndex = 64 - startBitSubIndex; + data[endIndex] = data[endIndex] >>> endBitSubIndex << endBitSubIndex | ((long) value & maxEntryValue) >> endBitSubIndex; + } + } + for (long l : data) { + buffer.writeLong(l); + } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_8.java b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_8.java index 66de27a4a..f930361ac 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_8.java +++ b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_8.java @@ -12,32 +12,32 @@ import java.util.List; public class ChunkSectionType1_8 extends Type { - public ChunkSectionType1_8() { - super("Chunk Section Type", ChunkSection.class); - } + public ChunkSectionType1_8() { + super("Chunk Section Type", ChunkSection.class); + } - @Override - public ChunkSection read(ByteBuf buffer) throws Exception { - ChunkSection chunkSection = new ChunkSection(); - List palette = chunkSection.getPalette(); - palette.clear(); + @Override + public ChunkSection read(ByteBuf buffer) throws Exception { + ChunkSection chunkSection = new ChunkSection(); + List palette = chunkSection.getPalette(); + palette.clear(); - byte[] blockData = new byte[ChunkSection.SIZE * 2]; - buffer.readBytes(blockData); - ShortBuffer blockBuf = ByteBuffer.wrap(blockData).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer(); + byte[] blockData = new byte[ChunkSection.SIZE * 2]; + buffer.readBytes(blockData); + ShortBuffer blockBuf = ByteBuffer.wrap(blockData).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer(); - for (int i = 0; i < ChunkSection.SIZE; i++) { - int mask = blockBuf.get(); - int type = mask >> 4; - int data = mask & 0xF; - chunkSection.setBlock(i, type, data); - } + for (int i = 0; i < ChunkSection.SIZE; i++) { + int mask = blockBuf.get(); + int type = mask >> 4; + int data = mask & 0xF; + chunkSection.setBlock(i, type, data); + } - return chunkSection; - } + return chunkSection; + } - @Override - public void write(ByteBuf buffer, ChunkSection chunkSection) throws Exception { - throw new NotImplementedException(); - } + @Override + public void write(ByteBuf buffer, ChunkSection chunkSection) throws Exception { + throw new NotImplementedException(); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_9.java b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_9.java index 98d6b3b4d..bf9635f8c 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_9.java +++ b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/ChunkSectionType1_9.java @@ -8,103 +8,103 @@ import java.util.List; public class ChunkSectionType1_9 extends Type { - public ChunkSectionType1_9() { - super("Chunk Section Type", ChunkSection.class); - } + public ChunkSectionType1_9() { + super("Chunk Section Type", ChunkSection.class); + } - @Override - public ChunkSection read(ByteBuf buffer) throws Exception { - ChunkSection chunkSection = new ChunkSection(); - List palette = chunkSection.getPalette(); - palette.clear(); + @Override + public ChunkSection read(ByteBuf buffer) throws Exception { + ChunkSection chunkSection = new ChunkSection(); + List palette = chunkSection.getPalette(); + palette.clear(); - // Reaad bits per block - int bitsPerBlock = buffer.readUnsignedByte(); - long maxEntryValue = (1L << bitsPerBlock) - 1; + // Reaad bits per block + int bitsPerBlock = buffer.readUnsignedByte(); + long maxEntryValue = (1L << bitsPerBlock) - 1; - if (bitsPerBlock == 0) { - bitsPerBlock = 13; - } - if (bitsPerBlock < 4) { - bitsPerBlock = 4; - } - if (bitsPerBlock > 8) { - bitsPerBlock = 13; - } - int paletteLength = Type.VAR_INT.read(buffer); - // Read palette - for (int i = 0; i < paletteLength; i++) { - if (bitsPerBlock != 13) { - palette.add(Type.VAR_INT.read(buffer)); - } else { - Type.VAR_INT.read(buffer); - } - } + if (bitsPerBlock == 0) { + bitsPerBlock = 13; + } + if (bitsPerBlock < 4) { + bitsPerBlock = 4; + } + if (bitsPerBlock > 8) { + bitsPerBlock = 13; + } + int paletteLength = Type.VAR_INT.read(buffer); + // Read palette + for (int i = 0; i < paletteLength; i++) { + if (bitsPerBlock != 13) { + palette.add(Type.VAR_INT.read(buffer)); + } else { + Type.VAR_INT.read(buffer); + } + } - // Read blocks - long[] blockData = new long[Type.VAR_INT.read(buffer)]; - if (blockData.length > 0) { - for (int i = 0; i < blockData.length; i++) { - blockData[i] = buffer.readLong(); - } - for (int i = 0; i < ChunkSection.SIZE; i++) { - int bitIndex = i * bitsPerBlock; - int startIndex = bitIndex / 64; - int endIndex = ((i + 1) * bitsPerBlock - 1) / 64; - int startBitSubIndex = bitIndex % 64; - int val; - if (startIndex == endIndex) { - val = (int) (blockData[startIndex] >>> startBitSubIndex & maxEntryValue); - } else { - int endBitSubIndex = 64 - startBitSubIndex; - val = (int) ((blockData[startIndex] >>> startBitSubIndex | blockData[endIndex] << endBitSubIndex) & maxEntryValue); - } + // Read blocks + long[] blockData = new long[Type.VAR_INT.read(buffer)]; + if (blockData.length > 0) { + for (int i = 0; i < blockData.length; i++) { + blockData[i] = buffer.readLong(); + } + for (int i = 0; i < ChunkSection.SIZE; i++) { + int bitIndex = i * bitsPerBlock; + int startIndex = bitIndex / 64; + int endIndex = ((i + 1) * bitsPerBlock - 1) / 64; + int startBitSubIndex = bitIndex % 64; + int val; + if (startIndex == endIndex) { + val = (int) (blockData[startIndex] >>> startBitSubIndex & maxEntryValue); + } else { + int endBitSubIndex = 64 - startBitSubIndex; + val = (int) ((blockData[startIndex] >>> startBitSubIndex | blockData[endIndex] << endBitSubIndex) & maxEntryValue); + } - if (bitsPerBlock == 13) { - chunkSection.setBlock(i, val >> 4, val & 0xF); - } else { - chunkSection.setPaletteIndex(i, val); - } - } - } + if (bitsPerBlock == 13) { + chunkSection.setBlock(i, val >> 4, val & 0xF); + } else { + chunkSection.setPaletteIndex(i, val); + } + } + } - return chunkSection; - } + return chunkSection; + } - @Override - public void write(ByteBuf buffer, ChunkSection chunkSection) throws Exception { - List palette = chunkSection.getPalette(); + @Override + public void write(ByteBuf buffer, ChunkSection chunkSection) throws Exception { + List palette = chunkSection.getPalette(); - int bitsPerBlock = 4; - while (palette.size() > 1 << bitsPerBlock) { - bitsPerBlock += 1; - } - long maxEntryValue = (1L << bitsPerBlock) - 1; - buffer.writeByte(bitsPerBlock); + int bitsPerBlock = 4; + while (palette.size() > 1 << bitsPerBlock) { + bitsPerBlock += 1; + } + long maxEntryValue = (1L << bitsPerBlock) - 1; + buffer.writeByte(bitsPerBlock); - // Write pallet - Type.VAR_INT.write(buffer, palette.size()); - for (int mappedId : palette) { - Type.VAR_INT.write(buffer, mappedId); - } + // Write pallet + Type.VAR_INT.write(buffer, palette.size()); + for (int mappedId : palette) { + Type.VAR_INT.write(buffer, mappedId); + } - int length = (int) Math.ceil(ChunkSection.SIZE * bitsPerBlock / 64.0); - Type.VAR_INT.write(buffer, length); - long[] data = new long[length]; - for (int index = 0; index < ChunkSection.SIZE; index++) { - int value = chunkSection.getPaletteIndex(index); - int bitIndex = index * bitsPerBlock; - int startIndex = bitIndex / 64; - int endIndex = ((index + 1) * bitsPerBlock - 1) / 64; - int startBitSubIndex = bitIndex % 64; - data[startIndex] = data[startIndex] & ~(maxEntryValue << startBitSubIndex) | ((long) value & maxEntryValue) << startBitSubIndex; - if (startIndex != endIndex) { - int endBitSubIndex = 64 - startBitSubIndex; - data[endIndex] = data[endIndex] >>> endBitSubIndex << endBitSubIndex | ((long) value & maxEntryValue) >> endBitSubIndex; - } - } - for (long l : data) { - buffer.writeLong(l); - } - } + int length = (int) Math.ceil(ChunkSection.SIZE * bitsPerBlock / 64.0); + Type.VAR_INT.write(buffer, length); + long[] data = new long[length]; + for (int index = 0; index < ChunkSection.SIZE; index++) { + int value = chunkSection.getPaletteIndex(index); + int bitIndex = index * bitsPerBlock; + int startIndex = bitIndex / 64; + int endIndex = ((index + 1) * bitsPerBlock - 1) / 64; + int startBitSubIndex = bitIndex % 64; + data[startIndex] = data[startIndex] & ~(maxEntryValue << startBitSubIndex) | ((long) value & maxEntryValue) << startBitSubIndex; + if (startIndex != endIndex) { + int endBitSubIndex = 64 - startBitSubIndex; + data[endIndex] = data[endIndex] >>> endBitSubIndex << endBitSubIndex | ((long) value & maxEntryValue) >> endBitSubIndex; + } + } + for (long l : data) { + buffer.writeLong(l); + } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_13_2Type.java b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_13_2Type.java index 608547c0f..468ec6b00 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_13_2Type.java +++ b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_13_2Type.java @@ -6,24 +6,24 @@ import us.myles.ViaVersion.api.minecraft.metadata.types.MetaType1_13_2; import us.myles.ViaVersion.api.type.types.minecraft.MetaTypeTemplate; public class Metadata1_13_2Type extends MetaTypeTemplate { - @Override - public Metadata read(ByteBuf buffer) throws Exception { - short index = buffer.readUnsignedByte(); + @Override + public Metadata read(ByteBuf buffer) throws Exception { + short index = buffer.readUnsignedByte(); - if (index == 0xff) return null; //End of metadata - MetaType1_13_2 type = MetaType1_13_2.byId(buffer.readByte()); + if (index == 0xff) return null; //End of metadata + MetaType1_13_2 type = MetaType1_13_2.byId(buffer.readByte()); - return new Metadata(index, type, type.getType().read(buffer)); - } + return new Metadata(index, type, type.getType().read(buffer)); + } - @Override - public void write(ByteBuf buffer, Metadata object) throws Exception { - if (object == null) { - buffer.writeByte(255); - } else { - buffer.writeByte(object.getId()); - buffer.writeByte(object.getMetaType().getTypeID()); - object.getMetaType().getType().write(buffer, object.getValue()); - } - } + @Override + public void write(ByteBuf buffer, Metadata object) throws Exception { + if (object == null) { + buffer.writeByte(255); + } else { + buffer.writeByte(object.getId()); + buffer.writeByte(object.getMetaType().getTypeID()); + object.getMetaType().getType().write(buffer, object.getValue()); + } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Types1_13_2.java b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Types1_13_2.java index 0f3a40173..643f2efb2 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Types1_13_2.java +++ b/common/src/main/java/us/myles/ViaVersion/api/type/types/version/Types1_13_2.java @@ -6,13 +6,13 @@ import us.myles.ViaVersion.api.type.Type; import java.util.List; public class Types1_13_2 { - /** - * Metadata list type for 1.13 - */ - public static final Type> METADATA_LIST = new MetadataList1_13_2Type(); + /** + * Metadata list type for 1.13 + */ + public static final Type> METADATA_LIST = new MetadataList1_13_2Type(); - /** - * Metadata type for 1.13 - */ - public static final Type METADATA = new Metadata1_13_2Type(); + /** + * Metadata type for 1.13 + */ + public static final Type METADATA = new Metadata1_13_2Type(); } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/MetadataRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/MetadataRewriter.java index 4e62fd061..224f63dc7 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/MetadataRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/MetadataRewriter.java @@ -100,7 +100,7 @@ public class MetadataRewriter { public static void handleMetadata(int entityId, EntityType type, List metadatas, UserConnection connection) { for (Metadata metadata : new ArrayList<>(metadatas)) { try { - if(metadata.getValue() instanceof Item) { + if (metadata.getValue() instanceof Item) { // Apply rewrite EntityIdRewriter.toClientItem((Item) metadata.getValue()); } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/TranslateRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/TranslateRewriter.java index 4a09752c1..982cb39b7 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/TranslateRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/TranslateRewriter.java @@ -8,8 +8,8 @@ public class TranslateRewriter { public static boolean toClient(JsonElement element, UserConnection user) { if (element instanceof JsonObject) { JsonObject obj = (JsonObject) element; - if(obj.has("translate")) { - if(obj.get("translate").getAsString().equals("chat.type.achievement")) { + if (obj.has("translate")) { + if (obj.get("translate").getAsString().equals("chat.type.achievement")) { return false; } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/packets/EntityPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/packets/EntityPackets.java index 483d57c12..c4134183b 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/packets/EntityPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/packets/EntityPackets.java @@ -11,8 +11,8 @@ import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.version.Types1_13; import us.myles.ViaVersion.packets.State; import us.myles.ViaVersion.protocols.protocol1_13_1to1_13.MetadataRewriter; -import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.storage.EntityTracker; import us.myles.ViaVersion.protocols.protocol1_13_1to1_13.Protocol1_13_1To1_13; +import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.storage.EntityTracker; public class EntityPackets { diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/Protocol1_13_2To1_13_1.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/Protocol1_13_2To1_13_1.java index 0bc2d5534..bd01d958c 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/Protocol1_13_2To1_13_1.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/Protocol1_13_2To1_13_1.java @@ -14,69 +14,69 @@ import us.myles.ViaVersion.protocols.protocol1_13_2to1_13_1.packets.WorldPackets import us.myles.ViaVersion.protocols.protocol1_13_2to1_13_1.types.Particle1_13_2Type; public class Protocol1_13_2To1_13_1 extends Protocol { - public static final Particle1_13_2Type PARTICLE_TYPE = new Particle1_13_2Type(); + public static final Particle1_13_2Type PARTICLE_TYPE = new Particle1_13_2Type(); - @Override - protected void registerPackets() { - InventoryPackets.register(this); - WorldPackets.register(this); - EntityPackets.register(this); + @Override + protected void registerPackets() { + InventoryPackets.register(this); + WorldPackets.register(this); + EntityPackets.register(this); - //Edit Book - registerIncoming(State.PLAY, 0x0B, 0x0B, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.FLAT_ITEM, Type.FLAT_VAR_INT_ITEM); - map(Type.BOOLEAN); - } - }); + //Edit Book + registerIncoming(State.PLAY, 0x0B, 0x0B, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.FLAT_ITEM, Type.FLAT_VAR_INT_ITEM); + map(Type.BOOLEAN); + } + }); - // Advancements - registerOutgoing(State.PLAY, 0x51, 0x51, new PacketRemapper() { - @Override - public void registerMap() { - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - wrapper.passthrough(Type.BOOLEAN); // Reset/clear - int size = wrapper.passthrough(Type.VAR_INT); // Mapping size + // Advancements + registerOutgoing(State.PLAY, 0x51, 0x51, new PacketRemapper() { + @Override + public void registerMap() { + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + wrapper.passthrough(Type.BOOLEAN); // Reset/clear + int size = wrapper.passthrough(Type.VAR_INT); // Mapping size - for (int i = 0; i < size; i++) { - wrapper.passthrough(Type.STRING); // Identifier + for (int i = 0; i < size; i++) { + wrapper.passthrough(Type.STRING); // Identifier - // Parent - if (wrapper.passthrough(Type.BOOLEAN)) - wrapper.passthrough(Type.STRING); + // Parent + if (wrapper.passthrough(Type.BOOLEAN)) + wrapper.passthrough(Type.STRING); - // Display data - if (wrapper.passthrough(Type.BOOLEAN)) { - wrapper.passthrough(Type.STRING); // Title - wrapper.passthrough(Type.STRING); // Description - Item icon = wrapper.read(Type.FLAT_ITEM); - wrapper.write(Type.FLAT_VAR_INT_ITEM, icon); - wrapper.passthrough(Type.VAR_INT); // Frame type - int flags = wrapper.passthrough(Type.INT); // Flags - if ((flags & 1) != 0) - wrapper.passthrough(Type.STRING); // Background texture - wrapper.passthrough(Type.FLOAT); // X - wrapper.passthrough(Type.FLOAT); // Y - } + // Display data + if (wrapper.passthrough(Type.BOOLEAN)) { + wrapper.passthrough(Type.STRING); // Title + wrapper.passthrough(Type.STRING); // Description + Item icon = wrapper.read(Type.FLAT_ITEM); + wrapper.write(Type.FLAT_VAR_INT_ITEM, icon); + wrapper.passthrough(Type.VAR_INT); // Frame type + int flags = wrapper.passthrough(Type.INT); // Flags + if ((flags & 1) != 0) + wrapper.passthrough(Type.STRING); // Background texture + wrapper.passthrough(Type.FLOAT); // X + wrapper.passthrough(Type.FLOAT); // Y + } - wrapper.passthrough(Type.STRING_ARRAY); // Criteria + wrapper.passthrough(Type.STRING_ARRAY); // Criteria - int arrayLength = wrapper.passthrough(Type.VAR_INT); - for (int array = 0; array < arrayLength; array++) { - wrapper.passthrough(Type.STRING_ARRAY); // String array - } - } - } - }); - } - }); - } + int arrayLength = wrapper.passthrough(Type.VAR_INT); + for (int array = 0; array < arrayLength; array++) { + wrapper.passthrough(Type.STRING_ARRAY); // String array + } + } + } + }); + } + }); + } - @Override - public void init(UserConnection userConnection) { + @Override + public void init(UserConnection userConnection) { - } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/EntityPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/EntityPackets.java index 5076c268f..b44b505c6 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/EntityPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/EntityPackets.java @@ -14,84 +14,84 @@ import us.myles.ViaVersion.packets.State; public class EntityPackets { - public static void register(Protocol protocol) { - // Spawn mob packet - protocol.registerOutgoing(State.PLAY, 0x3, 0x3, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Type.UUID); // 1 - Entity UUID - map(Type.VAR_INT); // 2 - Entity Type - map(Type.DOUBLE); // 3 - X - map(Type.DOUBLE); // 4 - Y - map(Type.DOUBLE); // 5 - Z - map(Type.BYTE); // 6 - Yaw - map(Type.BYTE); // 7 - Pitch - map(Type.BYTE); // 8 - Head Pitch - map(Type.SHORT); // 9 - Velocity X - map(Type.SHORT); // 10 - Velocity Y - map(Type.SHORT); // 11 - Velocity Z - map(Types1_13.METADATA_LIST, Types1_13_2.METADATA_LIST); // 12 - Metadata + public static void register(Protocol protocol) { + // Spawn mob packet + protocol.registerOutgoing(State.PLAY, 0x3, 0x3, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Type.UUID); // 1 - Entity UUID + map(Type.VAR_INT); // 2 - Entity Type + map(Type.DOUBLE); // 3 - X + map(Type.DOUBLE); // 4 - Y + map(Type.DOUBLE); // 5 - Z + map(Type.BYTE); // 6 - Yaw + map(Type.BYTE); // 7 - Pitch + map(Type.BYTE); // 8 - Head Pitch + map(Type.SHORT); // 9 - Velocity X + map(Type.SHORT); // 10 - Velocity Y + map(Type.SHORT); // 11 - Velocity Z + map(Types1_13.METADATA_LIST, Types1_13_2.METADATA_LIST); // 12 - Metadata - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - for (Metadata metadata : wrapper.get(Types1_13_2.METADATA_LIST, 0)) { - if (metadata.getMetaType() == MetaType1_13.Slot) { - metadata.setMetaType(MetaType1_13_2.Slot); - } - } - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + for (Metadata metadata : wrapper.get(Types1_13_2.METADATA_LIST, 0)) { + if (metadata.getMetaType() == MetaType1_13.Slot) { + metadata.setMetaType(MetaType1_13_2.Slot); + } + } + } + }); + } + }); - // Spawn player packet - protocol.registerOutgoing(State.PLAY, 0x05, 0x05, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Type.UUID); // 1 - Player UUID - map(Type.DOUBLE); // 2 - X - map(Type.DOUBLE); // 3 - Y - map(Type.DOUBLE); // 4 - Z - map(Type.BYTE); // 5 - Yaw - map(Type.BYTE); // 6 - Pitch - map(Types1_13.METADATA_LIST, Types1_13_2.METADATA_LIST); // 7 - Metadata + // Spawn player packet + protocol.registerOutgoing(State.PLAY, 0x05, 0x05, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Type.UUID); // 1 - Player UUID + map(Type.DOUBLE); // 2 - X + map(Type.DOUBLE); // 3 - Y + map(Type.DOUBLE); // 4 - Z + map(Type.BYTE); // 5 - Yaw + map(Type.BYTE); // 6 - Pitch + map(Types1_13.METADATA_LIST, Types1_13_2.METADATA_LIST); // 7 - Metadata - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - for (Metadata metadata : wrapper.get(Types1_13_2.METADATA_LIST, 0)) { - if (metadata.getMetaType() == MetaType1_13.Slot) { - metadata.setMetaType(MetaType1_13_2.Slot); - } - } - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + for (Metadata metadata : wrapper.get(Types1_13_2.METADATA_LIST, 0)) { + if (metadata.getMetaType() == MetaType1_13.Slot) { + metadata.setMetaType(MetaType1_13_2.Slot); + } + } + } + }); + } + }); - // Metadata packet - protocol.registerOutgoing(State.PLAY, 0x3F, 0x3F, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Types1_13.METADATA_LIST, Types1_13_2.METADATA_LIST); // 1 - Metadata list + // Metadata packet + protocol.registerOutgoing(State.PLAY, 0x3F, 0x3F, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Types1_13.METADATA_LIST, Types1_13_2.METADATA_LIST); // 1 - Metadata list - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - for (Metadata metadata : wrapper.get(Types1_13_2.METADATA_LIST, 0)) { - if (metadata.getMetaType() == MetaType1_13.Slot) { - metadata.setMetaType(MetaType1_13_2.Slot); - } - } - } - }); - } - }); - } + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + for (Metadata metadata : wrapper.get(Types1_13_2.METADATA_LIST, 0)) { + if (metadata.getMetaType() == MetaType1_13.Slot) { + metadata.setMetaType(MetaType1_13_2.Slot); + } + } + } + }); + } + }); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/InventoryPackets.java index faa866127..6ea931ea8 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/InventoryPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/InventoryPackets.java @@ -9,143 +9,143 @@ import us.myles.ViaVersion.packets.State; public class InventoryPackets { - public static void register(Protocol protocol) { + public static void register(Protocol protocol) { /* Outgoing packets */ - // Set slot packet - protocol.registerOutgoing(State.PLAY, 0x17, 0x17, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.BYTE); // 0 - Window ID - map(Type.SHORT); // 1 - Slot ID - map(Type.FLAT_ITEM, Type.FLAT_VAR_INT_ITEM); // 2 - Slot Value - } - }); + // Set slot packet + protocol.registerOutgoing(State.PLAY, 0x17, 0x17, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.BYTE); // 0 - Window ID + map(Type.SHORT); // 1 - Slot ID + map(Type.FLAT_ITEM, Type.FLAT_VAR_INT_ITEM); // 2 - Slot Value + } + }); - // Window items packet - protocol.registerOutgoing(State.PLAY, 0x15, 0x15, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.UNSIGNED_BYTE); // 0 - Window ID - map(Type.FLAT_ITEM_ARRAY, Type.FLAT_VAR_INT_ITEM_ARRAY); // 1 - Window Values - } - }); + // Window items packet + protocol.registerOutgoing(State.PLAY, 0x15, 0x15, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.UNSIGNED_BYTE); // 0 - Window ID + map(Type.FLAT_ITEM_ARRAY, Type.FLAT_VAR_INT_ITEM_ARRAY); // 1 - Window Values + } + }); - // Plugin message - protocol.registerOutgoing(State.PLAY, 0x19, 0x19, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.STRING); // Channel - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - String channel = wrapper.get(Type.STRING, 0); - if (channel.equals("minecraft:trader_list") || channel.equals("trader_list")) { - wrapper.passthrough(Type.INT); // Passthrough Window ID + // Plugin message + protocol.registerOutgoing(State.PLAY, 0x19, 0x19, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.STRING); // Channel + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + String channel = wrapper.get(Type.STRING, 0); + if (channel.equals("minecraft:trader_list") || channel.equals("trader_list")) { + wrapper.passthrough(Type.INT); // Passthrough Window ID - int size = wrapper.passthrough(Type.UNSIGNED_BYTE); - for (int i = 0; i < size; i++) { - // Input Item - wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); - // Output Item - wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); + int size = wrapper.passthrough(Type.UNSIGNED_BYTE); + for (int i = 0; i < size; i++) { + // Input Item + wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); + // Output Item + wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); - boolean secondItem = wrapper.passthrough(Type.BOOLEAN); // Has second item - if (secondItem) { - wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); - } + boolean secondItem = wrapper.passthrough(Type.BOOLEAN); // Has second item + if (secondItem) { + wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); + } - wrapper.passthrough(Type.BOOLEAN); // Trade disabled - wrapper.passthrough(Type.INT); // Number of tools uses - wrapper.passthrough(Type.INT); // Maximum number of trade uses - } - } - } - }); - } - }); + wrapper.passthrough(Type.BOOLEAN); // Trade disabled + wrapper.passthrough(Type.INT); // Number of tools uses + wrapper.passthrough(Type.INT); // Maximum number of trade uses + } + } + } + }); + } + }); - // Entity Equipment Packet - protocol.registerOutgoing(State.PLAY, 0x42, 0x42, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Type.VAR_INT); // 1 - Slot ID - map(Type.FLAT_ITEM, Type.FLAT_VAR_INT_ITEM); // 2 - Item - } - }); + // Entity Equipment Packet + protocol.registerOutgoing(State.PLAY, 0x42, 0x42, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Type.VAR_INT); // 1 - Slot ID + map(Type.FLAT_ITEM, Type.FLAT_VAR_INT_ITEM); // 2 - Item + } + }); - // Declare Recipes - protocol.registerOutgoing(State.PLAY, 0x54, 0x54, new PacketRemapper() { - @Override - public void registerMap() { - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int recipesNo = wrapper.passthrough(Type.VAR_INT); - for (int i = 0; i < recipesNo; i++) { - wrapper.passthrough(Type.STRING); // Id - String type = wrapper.passthrough(Type.STRING); - if (type.equals("crafting_shapeless")) { - wrapper.passthrough(Type.STRING); // Group - int ingredientsNo = wrapper.passthrough(Type.VAR_INT); - for (int i1 = 0; i1 < ingredientsNo; i1++) { - wrapper.write(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, wrapper.read(Type.FLAT_ITEM_ARRAY_VAR_INT)); - } - wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); - } else if (type.equals("crafting_shaped")) { - int ingredientsNo = wrapper.passthrough(Type.VAR_INT) * wrapper.passthrough(Type.VAR_INT); - wrapper.passthrough(Type.STRING); // Group - for (int i1 = 0; i1 < ingredientsNo; i1++) { - wrapper.write(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, wrapper.read(Type.FLAT_ITEM_ARRAY_VAR_INT)); - } - wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); - } else if (type.equals("smelting")) { - wrapper.passthrough(Type.STRING); // Group - // Ingredient start - wrapper.write(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, wrapper.read(Type.FLAT_ITEM_ARRAY_VAR_INT)); - // Ingredient end - wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); - wrapper.passthrough(Type.FLOAT); // EXP - wrapper.passthrough(Type.VAR_INT); // Cooking time - } - } - } - }); - } - }); + // Declare Recipes + protocol.registerOutgoing(State.PLAY, 0x54, 0x54, new PacketRemapper() { + @Override + public void registerMap() { + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int recipesNo = wrapper.passthrough(Type.VAR_INT); + for (int i = 0; i < recipesNo; i++) { + wrapper.passthrough(Type.STRING); // Id + String type = wrapper.passthrough(Type.STRING); + if (type.equals("crafting_shapeless")) { + wrapper.passthrough(Type.STRING); // Group + int ingredientsNo = wrapper.passthrough(Type.VAR_INT); + for (int i1 = 0; i1 < ingredientsNo; i1++) { + wrapper.write(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, wrapper.read(Type.FLAT_ITEM_ARRAY_VAR_INT)); + } + wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); + } else if (type.equals("crafting_shaped")) { + int ingredientsNo = wrapper.passthrough(Type.VAR_INT) * wrapper.passthrough(Type.VAR_INT); + wrapper.passthrough(Type.STRING); // Group + for (int i1 = 0; i1 < ingredientsNo; i1++) { + wrapper.write(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, wrapper.read(Type.FLAT_ITEM_ARRAY_VAR_INT)); + } + wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); + } else if (type.equals("smelting")) { + wrapper.passthrough(Type.STRING); // Group + // Ingredient start + wrapper.write(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, wrapper.read(Type.FLAT_ITEM_ARRAY_VAR_INT)); + // Ingredient end + wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); + wrapper.passthrough(Type.FLOAT); // EXP + wrapper.passthrough(Type.VAR_INT); // Cooking time + } + } + } + }); + } + }); /* Incoming packets */ - // Click window packet - protocol.registerIncoming(State.PLAY, 0x08, 0x08, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.UNSIGNED_BYTE); // 0 - Window ID - map(Type.SHORT); // 1 - Slot - map(Type.BYTE); // 2 - Button - map(Type.SHORT); // 3 - Action number - map(Type.VAR_INT); // 4 - Mode - map(Type.FLAT_VAR_INT_ITEM, Type.FLAT_ITEM); // 5 - Clicked Item - } - } - ); + // Click window packet + protocol.registerIncoming(State.PLAY, 0x08, 0x08, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.UNSIGNED_BYTE); // 0 - Window ID + map(Type.SHORT); // 1 - Slot + map(Type.BYTE); // 2 - Button + map(Type.SHORT); // 3 - Action number + map(Type.VAR_INT); // 4 - Mode + map(Type.FLAT_VAR_INT_ITEM, Type.FLAT_ITEM); // 5 - Clicked Item + } + } + ); - // Creative Inventory Action - protocol.registerIncoming(State.PLAY, 0x24, 0x24, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.SHORT); // 0 - Slot - map(Type.FLAT_VAR_INT_ITEM, Type.FLAT_ITEM); // 1 - Clicked Item - } - } - ); - } + // Creative Inventory Action + protocol.registerIncoming(State.PLAY, 0x24, 0x24, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.SHORT); // 0 - Slot + map(Type.FLAT_VAR_INT_ITEM, Type.FLAT_ITEM); // 1 - Clicked Item + } + } + ); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/WorldPackets.java index b62319af7..cdbe42151 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_2to1_13_1/packets/WorldPackets.java @@ -9,32 +9,32 @@ import us.myles.ViaVersion.packets.State; public class WorldPackets { - public static void register(Protocol protocol) { - //spawn particle - protocol.registerOutgoing(State.PLAY, 0x24, 0x24, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); // 0 - Particle ID - map(Type.BOOLEAN); // 1 - Long Distance - map(Type.FLOAT); // 2 - X - map(Type.FLOAT); // 3 - Y - map(Type.FLOAT); // 4 - Z - map(Type.FLOAT); // 5 - Offset X - map(Type.FLOAT); // 6 - Offset Y - map(Type.FLOAT); // 7 - Offset Z - map(Type.FLOAT); // 8 - Particle Data - map(Type.INT); // 9 - Particle Count - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int id = wrapper.get(Type.INT, 0); - if (id == 27) { - wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); - } - } - }); - } - }); - } + public static void register(Protocol protocol) { + //spawn particle + protocol.registerOutgoing(State.PLAY, 0x24, 0x24, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); // 0 - Particle ID + map(Type.BOOLEAN); // 1 - Long Distance + map(Type.FLOAT); // 2 - X + map(Type.FLOAT); // 3 - Y + map(Type.FLOAT); // 4 - Z + map(Type.FLOAT); // 5 - Offset X + map(Type.FLOAT); // 6 - Offset Y + map(Type.FLOAT); // 7 - Offset Z + map(Type.FLOAT); // 8 - Particle Data + map(Type.INT); // 9 - Particle Count + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int id = wrapper.get(Type.INT, 0); + if (id == 27) { + wrapper.write(Type.FLAT_VAR_INT_ITEM, wrapper.read(Type.FLAT_ITEM)); + } + } + }); + } + }); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java index f775508d5..ca501ec8f 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java @@ -97,27 +97,25 @@ public class Protocol1_13To1_12_2 extends Protocol { } }; - // @formatter:off // These are arbitrary rewrite values, it just needs an invalid color code character. protected static EnumMap SCOREBOARD_TEAM_NAME_REWRITE = new EnumMap(ChatColor.class) {{ - put(ChatColor.BLACK, ChatColor.COLOR_CHAR + "g"); - put(ChatColor.DARK_BLUE, ChatColor.COLOR_CHAR + "h"); - put(ChatColor.DARK_GREEN, ChatColor.COLOR_CHAR + "i"); - put(ChatColor.DARK_AQUA, ChatColor.COLOR_CHAR + "j"); - put(ChatColor.DARK_RED, ChatColor.COLOR_CHAR + "p"); - put(ChatColor.DARK_PURPLE, ChatColor.COLOR_CHAR + "q"); - put(ChatColor.GOLD, ChatColor.COLOR_CHAR + "s"); - put(ChatColor.GRAY, ChatColor.COLOR_CHAR + "t"); - put(ChatColor.DARK_GRAY, ChatColor.COLOR_CHAR + "u"); - put(ChatColor.BLUE, ChatColor.COLOR_CHAR + "v"); - put(ChatColor.GREEN, ChatColor.COLOR_CHAR + "w"); - put(ChatColor.AQUA, ChatColor.COLOR_CHAR + "x"); - put(ChatColor.RED, ChatColor.COLOR_CHAR + "y"); + put(ChatColor.BLACK, ChatColor.COLOR_CHAR + "g"); + put(ChatColor.DARK_BLUE, ChatColor.COLOR_CHAR + "h"); + put(ChatColor.DARK_GREEN, ChatColor.COLOR_CHAR + "i"); + put(ChatColor.DARK_AQUA, ChatColor.COLOR_CHAR + "j"); + put(ChatColor.DARK_RED, ChatColor.COLOR_CHAR + "p"); + put(ChatColor.DARK_PURPLE, ChatColor.COLOR_CHAR + "q"); + put(ChatColor.GOLD, ChatColor.COLOR_CHAR + "s"); + put(ChatColor.GRAY, ChatColor.COLOR_CHAR + "t"); + put(ChatColor.DARK_GRAY, ChatColor.COLOR_CHAR + "u"); + put(ChatColor.BLUE, ChatColor.COLOR_CHAR + "v"); + put(ChatColor.GREEN, ChatColor.COLOR_CHAR + "w"); + put(ChatColor.AQUA, ChatColor.COLOR_CHAR + "x"); + put(ChatColor.RED, ChatColor.COLOR_CHAR + "y"); put(ChatColor.LIGHT_PURPLE, ChatColor.COLOR_CHAR + "z"); - put(ChatColor.YELLOW, ChatColor.COLOR_CHAR + "!"); - put(ChatColor.WHITE, ChatColor.COLOR_CHAR + "?"); + put(ChatColor.YELLOW, ChatColor.COLOR_CHAR + "!"); + put(ChatColor.WHITE, ChatColor.COLOR_CHAR + "?"); }}; - // @formatter:on static { MappingData.init(); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/EntityTypeRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/EntityTypeRewriter.java index 8fe62e6db..0a2c17518 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/EntityTypeRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/EntityTypeRewriter.java @@ -6,97 +6,93 @@ import com.google.common.base.Optional; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -// Constant type changes to stop depending on names (the EntityTypes1_13 will be auto-generated so some fields can be obfuscated) public class EntityTypeRewriter { private static Map entityTypes = new ConcurrentHashMap<>(); static { - // Generated by codename Bevet - - // Entities 1.12 -> 18w15a - regEnt(1, 32); // item - ajl - regEnt(2, 22); // xp_orb - abx - regEnt(3, 0); // area_effect_cloud - abp - regEnt(4, 15); // elder_guardian - aju - regEnt(5, 84); // wither_skeleton - aku - regEnt(6, 71); // stray - akq - regEnt(7, 74); // egg - alz - regEnt(8, 35); // leash_knot - ajb - regEnt(9, 49); // painting - ajd - regEnt(10, 2); // arrow - all - regEnt(11, 67); // snowball - alw - regEnt(12, 34); // fireball - alq - regEnt(13, 65); // small_fireball - alv - regEnt(14, 75); // ender_pearl - ama - regEnt(15, 23); // eye_of_ender_signal - alo - regEnt(16, 77); // potion - amc - regEnt(17, 76); // xp_bottle - amb - regEnt(18, 33); // item_frame - aja - regEnt(19, 85); // wither_skull - ame - regEnt(20, 55); // tnt - ajm - regEnt(21, 24); // falling_block - ajk - regEnt(22, 25); // fireworks_rocket - alp - regEnt(23, 30); // husk - akc - regEnt(24, 68); // spectral_arrow - alx - regEnt(25, 60); // shulker_bullet - alu - regEnt(26, 13); // dragon_fireball - alm - regEnt(27, 89); // zombie_villager - akw - regEnt(28, 63); // skeleton_horse - aht - regEnt(29, 88); // zombie_horse - ahv - regEnt(30, 1); // armor_stand - aiy - regEnt(31, 11); // donkey - aho - regEnt(32, 46); // mule - ahs - regEnt(33, 20); // evocation_fangs - aln - regEnt(34, 21); // evocation_illager - ajy - regEnt(35, 78); // vex - akr - regEnt(36, 81); // vindication_illager - aks - regEnt(37, 31); // illusion_illager - akd - regEnt(40, 41); // commandblock_minecart - aml - regEnt(41, 5); // boat - ami - regEnt(42, 39); // minecart - amj - regEnt(43, 40); // chest_minecart - amk - regEnt(44, 42); // furnace_minecart - amm - regEnt(45, 45); // tnt_minecart - amp - regEnt(46, 43); // hopper_minecart - amn - regEnt(47, 44); // spawner_minecart - amo - regEnt(50, 10); // creeper - ajs - regEnt(51, 62); // skeleton - akm - regEnt(52, 69); // spider - akp - regEnt(53, 27); // giant - aka - regEnt(54, 87); // zombie - akv - regEnt(55, 64); // slime - akn - regEnt(56, 26); // ghast - ajz - regEnt(57, 53); // zombie_pigman - akh - regEnt(58, 18); // enderman - ajv - regEnt(59, 6); // cave_spider - ajr - regEnt(60, 61); // silverfish - akl - regEnt(61, 4); // blaze - ajq - regEnt(62, 38); // magma_cube - ake - regEnt(63, 17); // ender_dragon - aic - regEnt(64, 83); // wither - aiw - regEnt(65, 3); // bat - agl - regEnt(66, 82); // witch - akt - regEnt(67, 19); // endermite - ajw - regEnt(68, 28); // guardian - akb - regEnt(69, 59); // shulker - akk - regEnt(200, 16); // ender_crystal - aib - regEnt(90, 51); // pig - agy - regEnt(91, 58); // sheep - ahd - regEnt(92, 9); // cow - ags - regEnt(93, 7); // chicken - agq - regEnt(94, 70); // squid - ahg - regEnt(95, 86); // wolf - ahl - regEnt(96, 47); // mooshroom - agv - regEnt(97, 66); // snowman - ahf - regEnt(98, 48); // ocelot - agw - regEnt(99, 80); // villager_golem - ahj - regEnt(100, 29); // horse - ahp - regEnt(101, 56); // rabbit - ahb - regEnt(102, 54); // polar_bear - agz - regEnt(103, 36); // llama - ahr - regEnt(104, 37); // llama_spit - alr - regEnt(105, 50); // parrot - agx - regEnt(120, 79); // villager - ala + registerEntity(1, 32); // item - ajl + registerEntity(2, 22); // xp_orb - abx + registerEntity(3, 0); // area_effect_cloud - abp + registerEntity(4, 15); // elder_guardian - aju + registerEntity(5, 84); // wither_skeleton - aku + registerEntity(6, 71); // stray - akq + registerEntity(7, 74); // egg - alz + registerEntity(8, 35); // leash_knot - ajb + registerEntity(9, 49); // painting - ajd + registerEntity(10, 2); // arrow - all + registerEntity(11, 67); // snowball - alw + registerEntity(12, 34); // fireball - alq + registerEntity(13, 65); // small_fireball - alv + registerEntity(14, 75); // ender_pearl - ama + registerEntity(15, 23); // eye_of_ender_signal - alo + registerEntity(16, 77); // potion - amc + registerEntity(17, 76); // xp_bottle - amb + registerEntity(18, 33); // item_frame - aja + registerEntity(19, 85); // wither_skull - ame + registerEntity(20, 55); // tnt - ajm + registerEntity(21, 24); // falling_block - ajk + registerEntity(22, 25); // fireworks_rocket - alp + registerEntity(23, 30); // husk - akc + registerEntity(24, 68); // spectral_arrow - alx + registerEntity(25, 60); // shulker_bullet - alu + registerEntity(26, 13); // dragon_fireball - alm + registerEntity(27, 89); // zombie_villager - akw + registerEntity(28, 63); // skeleton_horse - aht + registerEntity(29, 88); // zombie_horse - ahv + registerEntity(30, 1); // armor_stand - aiy + registerEntity(31, 11); // donkey - aho + registerEntity(32, 46); // mule - ahs + registerEntity(33, 20); // evocation_fangs - aln + registerEntity(34, 21); // evocation_illager - ajy + registerEntity(35, 78); // vex - akr + registerEntity(36, 81); // vindication_illager - aks + registerEntity(37, 31); // illusion_illager - akd + registerEntity(40, 41); // commandblock_minecart - aml + registerEntity(41, 5); // boat - ami + registerEntity(42, 39); // minecart - amj + registerEntity(43, 40); // chest_minecart - amk + registerEntity(44, 42); // furnace_minecart - amm + registerEntity(45, 45); // tnt_minecart - amp + registerEntity(46, 43); // hopper_minecart - amn + registerEntity(47, 44); // spawner_minecart - amo + registerEntity(50, 10); // creeper - ajs + registerEntity(51, 62); // skeleton - akm + registerEntity(52, 69); // spider - akp + registerEntity(53, 27); // giant - aka + registerEntity(54, 87); // zombie - akv + registerEntity(55, 64); // slime - akn + registerEntity(56, 26); // ghast - ajz + registerEntity(57, 53); // zombie_pigman - akh + registerEntity(58, 18); // enderman - ajv + registerEntity(59, 6); // cave_spider - ajr + registerEntity(60, 61); // silverfish - akl + registerEntity(61, 4); // blaze - ajq + registerEntity(62, 38); // magma_cube - ake + registerEntity(63, 17); // ender_dragon - aic + registerEntity(64, 83); // wither - aiw + registerEntity(65, 3); // bat - agl + registerEntity(66, 82); // witch - akt + registerEntity(67, 19); // endermite - ajw + registerEntity(68, 28); // guardian - akb + registerEntity(69, 59); // shulker - akk + registerEntity(200, 16); // ender_crystal - aib + registerEntity(90, 51); // pig - agy + registerEntity(91, 58); // sheep - ahd + registerEntity(92, 9); // cow - ags + registerEntity(93, 7); // chicken - agq + registerEntity(94, 70); // squid - ahg + registerEntity(95, 86); // wolf - ahl + registerEntity(96, 47); // mooshroom - agv + registerEntity(97, 66); // snowman - ahf + registerEntity(98, 48); // ocelot - agw + registerEntity(99, 80); // villager_golem - ahj + registerEntity(100, 29); // horse - ahp + registerEntity(101, 56); // rabbit - ahb + registerEntity(102, 54); // polar_bear - agz + registerEntity(103, 36); // llama - ahr + registerEntity(104, 37); // llama_spit - alr + registerEntity(105, 50); // parrot - agx + registerEntity(120, 79); // villager - ala // OBJECTS @@ -104,7 +100,7 @@ public class EntityTypeRewriter { } - private static void regEnt(int type1_12, int type1_13) { + private static void registerEntity(int type1_12, int type1_13) { entityTypes.put(type1_12, type1_13); } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java index 3d4e40154..7b5d72100 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/types/Chunk1_13Type.java @@ -56,7 +56,7 @@ public class Chunk1_13Type extends PartialType { if (groundUp) { for (int i = 0; i < 256; i++) { // todo use int in Chunk? - biomeData[i] = (byte) input.readInt();; + biomeData[i] = (byte) input.readInt(); } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/MetadataRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/MetadataRewriter.java index 18a865c35..3c99f5e16 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/MetadataRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/MetadataRewriter.java @@ -13,32 +13,32 @@ import java.util.List; public class MetadataRewriter { - public static void handleMetadata(int entityId, Entity1_14Types.EntityType type, List metadatas, UserConnection connection) { - for (Metadata metadata : new ArrayList<>(metadatas)) { - try { - // 1.13 changed item to flat item (no data) - if (metadata.getMetaType() == MetaType1_13_2.Slot) { - InventoryPackets.toClient((Item) metadata.getValue()); - } else if (metadata.getMetaType() == MetaType1_13_2.BlockID) { - // Convert to new block id - int data = (int) metadata.getValue(); - metadata.setValue(Protocol1_14To1_13_2.getNewBlockStateId(data)); - } - if (type == null) continue; - if (type.isOrHasParent(Entity1_14Types.EntityType.MINECART_ABSTRACT) && metadata.getId() == 9) { - // New block format - int data = (int) metadata.getValue(); - metadata.setValue(Protocol1_14To1_13_2.getNewBlockStateId(data)); - } - } catch (Exception e) { - metadatas.remove(metadata); - if (!Via.getConfig().isSuppressMetadataErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("An error occurred with entity metadata handler"); - Via.getPlatform().getLogger().warning("Metadata: " + metadata); - e.printStackTrace(); - } - } - } - } + public static void handleMetadata(int entityId, Entity1_14Types.EntityType type, List metadatas, UserConnection connection) { + for (Metadata metadata : new ArrayList<>(metadatas)) { + try { + // 1.13 changed item to flat item (no data) + if (metadata.getMetaType() == MetaType1_13_2.Slot) { + InventoryPackets.toClient((Item) metadata.getValue()); + } else if (metadata.getMetaType() == MetaType1_13_2.BlockID) { + // Convert to new block id + int data = (int) metadata.getValue(); + metadata.setValue(Protocol1_14To1_13_2.getNewBlockStateId(data)); + } + if (type == null) continue; + if (type.isOrHasParent(Entity1_14Types.EntityType.MINECART_ABSTRACT) && metadata.getId() == 9) { + // New block format + int data = (int) metadata.getValue(); + metadata.setValue(Protocol1_14To1_13_2.getNewBlockStateId(data)); + } + } catch (Exception e) { + metadatas.remove(metadata); + if (!Via.getConfig().isSuppressMetadataErrors() || Via.getManager().isDebug()) { + Via.getPlatform().getLogger().warning("An error occurred with entity metadata handler"); + Via.getPlatform().getLogger().warning("Metadata: " + metadata); + e.printStackTrace(); + } + } + } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java index 2e9782f84..71dd51da3 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java @@ -15,230 +15,230 @@ import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.storage.EntityTracker; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class Protocol1_14To1_13_2 extends Protocol { - @Override - protected void registerPackets() { - InventoryPackets.register(this); - EntityPackets.register(this); - WorldPackets.register(this); - PlayerPackets.register(this); + @Override + protected void registerPackets() { + InventoryPackets.register(this); + EntityPackets.register(this); + WorldPackets.register(this); + PlayerPackets.register(this); - // Sound Effect - registerOutgoing(State.PLAY, 0x4D, 0x4D, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // Sound Id - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - wrapper.set(Type.VAR_INT, 0, getNewSoundId(wrapper.get(Type.VAR_INT, 0))); - } - }); - } - }); - registerOutgoing(State.PLAY, 0x4E, 0x4F); - registerOutgoing(State.PLAY, 0x4F, 0x50); - registerOutgoing(State.PLAY, 0x50, 0x51); - registerOutgoing(State.PLAY, 0x51, 0x52); - registerOutgoing(State.PLAY, 0x52, 0x53); - registerOutgoing(State.PLAY, 0x53, 0x54); + // Sound Effect + registerOutgoing(State.PLAY, 0x4D, 0x4D, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // Sound Id + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + wrapper.set(Type.VAR_INT, 0, getNewSoundId(wrapper.get(Type.VAR_INT, 0))); + } + }); + } + }); + registerOutgoing(State.PLAY, 0x4E, 0x4F); + registerOutgoing(State.PLAY, 0x4F, 0x50); + registerOutgoing(State.PLAY, 0x50, 0x51); + registerOutgoing(State.PLAY, 0x51, 0x52); + registerOutgoing(State.PLAY, 0x52, 0x53); + registerOutgoing(State.PLAY, 0x53, 0x54); - registerOutgoing(State.PLAY, 0x55, 0x56, new PacketRemapper() { - @Override - public void registerMap() { - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int blockTagsSize = wrapper.passthrough(Type.VAR_INT); // block tags - for (int i = 0; i < blockTagsSize; i++) { - wrapper.passthrough(Type.STRING); - Integer[] blockIds = wrapper.passthrough(Type.VAR_INT_ARRAY); - for (int j = 0; j < blockIds.length; j++) { - blockIds[j] = getNewBlockId(blockIds[j]); - } - } - int itemTagsSize = wrapper.passthrough(Type.VAR_INT); // item tags - for (int i = 0; i < itemTagsSize; i++) { - wrapper.passthrough(Type.STRING); - Integer[] itemIds = wrapper.passthrough(Type.VAR_INT_ARRAY); - for (int j = 0; j < itemIds.length; j++) { - itemIds[j] = InventoryPackets.getNewItemId(itemIds[j]); - } - } - int fluidTagsSize = wrapper.passthrough(Type.VAR_INT); // fluid tags - for (int i = 0; i < fluidTagsSize; i++) { - wrapper.passthrough(Type.STRING); - wrapper.passthrough(Type.VAR_INT_ARRAY); - } - wrapper.write(Type.VAR_INT, 0); // new unknown tags - } - }); - } - }); - } + registerOutgoing(State.PLAY, 0x55, 0x56, new PacketRemapper() { + @Override + public void registerMap() { + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int blockTagsSize = wrapper.passthrough(Type.VAR_INT); // block tags + for (int i = 0; i < blockTagsSize; i++) { + wrapper.passthrough(Type.STRING); + Integer[] blockIds = wrapper.passthrough(Type.VAR_INT_ARRAY); + for (int j = 0; j < blockIds.length; j++) { + blockIds[j] = getNewBlockId(blockIds[j]); + } + } + int itemTagsSize = wrapper.passthrough(Type.VAR_INT); // item tags + for (int i = 0; i < itemTagsSize; i++) { + wrapper.passthrough(Type.STRING); + Integer[] itemIds = wrapper.passthrough(Type.VAR_INT_ARRAY); + for (int j = 0; j < itemIds.length; j++) { + itemIds[j] = InventoryPackets.getNewItemId(itemIds[j]); + } + } + int fluidTagsSize = wrapper.passthrough(Type.VAR_INT); // fluid tags + for (int i = 0; i < fluidTagsSize; i++) { + wrapper.passthrough(Type.STRING); + wrapper.passthrough(Type.VAR_INT_ARRAY); + } + wrapper.write(Type.VAR_INT, 0); // new unknown tags + } + }); + } + }); + } - public static int getNewSoundId(int id) { - // AUTO GENERATED - todo compact this? - if (id < 15) return id + 0; // 15 = block.beacon.activate - if (id < 19) return id + 29; // 19 = block.brewing_stand.brew - if (id < 25) return id + 42; // 25 = block.chest.close - if (id < 28) return id + 54; // 28 = block.chorus_flower.death - if (id < 30) return id + 59; // 30 = block.wool.break - if (id < 35) return id + 60; // 35 = block.comparator.click - if (id < 41) return id + 64; // 41 = block.dispenser.dispense - if (id < 44) return id + 80; // 44 = block.enchantment_table.use - if (id < 45) return id + 114; // 45 = block.end_gateway.spawn - if (id < 46) return id + 136; // 46 = block.end_portal.spawn - if (id < 47) return id + 137; // 47 = block.end_portal_frame.fill - if (id < 48) return id + 135; // 48 = block.ender_chest.close - if (id < 50) return id + 111; // 50 = block.fence_gate.close - if (id < 52) return id + 144; // 52 = block.fire.ambient - if (id < 54) return id + 153; // 54 = block.furnace.fire_crackle - if (id < 55) return id + 155; // 55 = block.glass.break - if (id < 80) return id + 172; // 80 = block.iron_door.close - if (id < 82) return id + 219; // 82 = block.iron_trapdoor.close - if (id < 84) return id + 223; // 84 = block.ladder.break - if (id < 92) return id + 230; // 92 = block.lever.click - if (id < 93) return id + 232; // 93 = block.metal.break - if (id < 97) return id + 248; // 97 = block.metal.step - if (id < 98) return id + 250; // 98 = block.metal_pressure_plate.click_off - if (id < 100) return id + 247; // 100 = block.note_block.basedrum - if (id < 111) return id + 263; // 111 = block.piston.contract - if (id < 113) return id + 325; // 113 = block.portal.ambient - if (id < 116) return id + 349; // 116 = block.pumpkin.carve - if (id < 117) return id + 356; // 117 = block.redstone_torch.burnout - if (id < 118) return id + 373; // 118 = block.sand.break - if (id < 123) return id + 377; // 123 = block.shulker_box.close - if (id < 125) return id + 386; // 125 = block.slime_block.break - if (id < 130) return id + 417; // 130 = block.snow.break - if (id < 132) return id + 425; // 132 = block.snow.hit - if (id < 135) return id + 429; // 135 = block.stone.break - if (id < 136) return id + 439; // 136 = block.stone.fall - if (id < 139) return id + 441; // 139 = block.stone.step - if (id < 140) return id + 443; // 140 = block.stone_button.click_off - if (id < 142) return id + 435; // 142 = block.stone_pressure_plate.click_off - if (id < 144) return id + 438; // 144 = block.tripwire.attach - if (id < 148) return id + 454; // 148 = block.water.ambient - if (id < 149) return id + 490; // 149 = block.lily_pad.place - if (id < 150) return id + 488; // 150 = block.wood.break - if (id < 151) return id + 519; // 151 = block.wood.fall - if (id < 154) return id + 521; // 154 = block.wood.step - if (id < 155) return id + 523; // 155 = block.wooden_button.click_off - if (id < 157) return id + 515; // 157 = block.wooden_pressure_plate.click_off - if (id < 159) return id + 518; // 159 = block.wooden_door.close - if (id < 163) return id + 506; // 163 = enchant.thorns.hit - if (id < 164) return id + 424; // 164 = entity.armor_stand.break - if (id < 171) return id + -141; // 171 = entity.bat.ambient - if (id < 176) return id + -132; // 176 = entity.blaze.ambient - if (id < 186) return id + -128; // 186 = entity.cat.ambient - if (id < 192) return id + -113; // 192 = entity.chicken.ambient - if (id < 197) return id + -110; // 197 = entity.cod.ambient - if (id < 201) return id + -102; // 201 = entity.cow.ambient - if (id < 209) return id + -96; // 209 = entity.dolphin.ambient - if (id < 242) return id + -85; // 242 = entity.ender_dragon.ambient - if (id < 244) return id + -81; // 244 = entity.ender_dragon.flap - if (id < 248) return id + -80; // 248 = entity.dragon_fireball.explode - if (id < 249) return id + -85; // 249 = entity.ender_eye.death - if (id < 262) return id + -81; // 262 = entity.evoker.ambient - if (id < 265) return id + -78; // 265 = entity.evoker.hurt - if (id < 269) return id + -77; // 269 = entity.evoker_fangs.attack - if (id < 270) return id + -82; // 270 = entity.experience_bottle.throw - if (id < 272) return id + -78; // 272 = entity.firework_rocket.blast - if (id < 280) return id + -75; // 280 = entity.fish.swim - if (id < 281) return id + -73; // 281 = entity.generic.big_fall - if (id < 298) return id + -71; // 298 = entity.guardian.ambient - if (id < 306) return id + -46; // 306 = entity.horse.ambient - if (id < 330) return id + -45; // 330 = entity.illusioner.ambient - if (id < 337) return id + -38; // 337 = entity.iron_golem.attack - if (id < 341) return id + -36; // 341 = entity.item.break - if (id < 343) return id + -29; // 343 = entity.item_frame.add_item - if (id < 348) return id + -36; // 348 = entity.leash_knot.break - if (id < 350) return id + -26; // 350 = entity.lightning_bolt.impact - if (id < 366) return id + -25; // 366 = entity.minecart.inside - if (id < 373) return id + -18; // 373 = entity.painting.break - if (id < 375) return id + 1; // 375 = entity.parrot.ambient - if (id < 421) return id + 12; // 421 = entity.player.attack.crit - if (id < 445) return id + 17; // 445 = entity.puffer_fish.ambient - if (id < 452) return id + 20; // 452 = entity.rabbit.ambient - if (id < 457) return id + 21; // 457 = entity.salmon.ambient - if (id < 461) return id + 34; // 461 = entity.sheep.ambient - if (id < 466) return id + 39; // 466 = entity.shulker.ambient - if (id < 467) return id + 42; // 467 = entity.shulker.close - if (id < 474) return id + 46; // 474 = entity.shulker_bullet.hit - if (id < 476) return id + 37; // 476 = entity.silverfish.ambient - if (id < 482) return id + 44; // 482 = entity.skeleton.hurt - if (id < 485) return id + 52; // 485 = entity.skeleton_horse.ambient - if (id < 493) return id + 41; // 493 = entity.slime.attack - if (id < 498) return id + 44; // 498 = entity.magma_cube.death_small - if (id < 505) return id + 49; // 505 = entity.snow_golem.ambient - if (id < 509) return id + 52; // 509 = entity.snowball.throw - if (id < 510) return id + 45; // 510 = entity.spider.ambient - if (id < 520) return id + 54; // 520 = entity.stray.ambient - if (id < 524) return id + 63; // 524 = entity.tnt.primed - if (id < 525) return id + 64; // 525 = entity.tropical_fish.ambient - if (id < 541) return id + 77; // 541 = entity.vex.ambient - if (id < 554) return id + 83; // 554 = entity.witch.ambient - if (id < 564) return id + 87; // 564 = entity.wither.spawn - if (id < 565) return id + 91; // 565 = entity.wither_skeleton.ambient - if (id < 569) return id + 86; // 569 = entity.wolf.ambient - if (id < 578) return id + 87; // 578 = entity.zombie.ambient - if (id < 585) return id + 100; // 585 = entity.zombie.hurt - if (id < 587) return id + 103; // 587 = entity.zombie.step - if (id < 588) return id + 107; // 588 = entity.zombie_horse.ambient - if (id < 591) return id + 97; // 591 = entity.zombie_pigman.ambient - if (id < 595) return id + 99; // 595 = entity.zombie_villager.ambient - if (id < 601) return id + 100; // 601 = item.armor.equip_chain - if (id < 609) return id + -586; // 609 = item.axe.strip - if (id < 610) return id + -579; // 610 = item.bottle.empty - if (id < 613) return id + -552; // 613 = item.bucket.empty - if (id < 619) return id + -546; // 619 = item.chorus_fruit.teleport - if (id < 620) return id + -530; // 620 = item.elytra.flying - if (id < 621) return id + -463; // 621 = item.firecharge.use - if (id < 622) return id + -425; // 622 = item.flintandsteel.use - if (id < 623) return id + -414; // 623 = item.hoe.till - if (id < 624) return id + -363; // 624 = item.shield.block - if (id < 627) return id + -119; // 627 = item.totem.use - if (id < 636) return id + -38; // 636 = music.creative - if (id < 644) return id + -281; // 644 = music_disc.11 - if (id < 656) return id + -166; // 656 = ui.button.click - if (id < 657) return id + -38; // 657 = ui.toast.challenge_complete - if (id < 660) return id + -36; // 660 = weather.rain - return id + -21; - } + public static int getNewSoundId(int id) { + // AUTO GENERATED - todo compact this? + if (id < 15) return id + 0; // 15 = block.beacon.activate + if (id < 19) return id + 29; // 19 = block.brewing_stand.brew + if (id < 25) return id + 42; // 25 = block.chest.close + if (id < 28) return id + 54; // 28 = block.chorus_flower.death + if (id < 30) return id + 59; // 30 = block.wool.break + if (id < 35) return id + 60; // 35 = block.comparator.click + if (id < 41) return id + 64; // 41 = block.dispenser.dispense + if (id < 44) return id + 80; // 44 = block.enchantment_table.use + if (id < 45) return id + 114; // 45 = block.end_gateway.spawn + if (id < 46) return id + 136; // 46 = block.end_portal.spawn + if (id < 47) return id + 137; // 47 = block.end_portal_frame.fill + if (id < 48) return id + 135; // 48 = block.ender_chest.close + if (id < 50) return id + 111; // 50 = block.fence_gate.close + if (id < 52) return id + 144; // 52 = block.fire.ambient + if (id < 54) return id + 153; // 54 = block.furnace.fire_crackle + if (id < 55) return id + 155; // 55 = block.glass.break + if (id < 80) return id + 172; // 80 = block.iron_door.close + if (id < 82) return id + 219; // 82 = block.iron_trapdoor.close + if (id < 84) return id + 223; // 84 = block.ladder.break + if (id < 92) return id + 230; // 92 = block.lever.click + if (id < 93) return id + 232; // 93 = block.metal.break + if (id < 97) return id + 248; // 97 = block.metal.step + if (id < 98) return id + 250; // 98 = block.metal_pressure_plate.click_off + if (id < 100) return id + 247; // 100 = block.note_block.basedrum + if (id < 111) return id + 263; // 111 = block.piston.contract + if (id < 113) return id + 325; // 113 = block.portal.ambient + if (id < 116) return id + 349; // 116 = block.pumpkin.carve + if (id < 117) return id + 356; // 117 = block.redstone_torch.burnout + if (id < 118) return id + 373; // 118 = block.sand.break + if (id < 123) return id + 377; // 123 = block.shulker_box.close + if (id < 125) return id + 386; // 125 = block.slime_block.break + if (id < 130) return id + 417; // 130 = block.snow.break + if (id < 132) return id + 425; // 132 = block.snow.hit + if (id < 135) return id + 429; // 135 = block.stone.break + if (id < 136) return id + 439; // 136 = block.stone.fall + if (id < 139) return id + 441; // 139 = block.stone.step + if (id < 140) return id + 443; // 140 = block.stone_button.click_off + if (id < 142) return id + 435; // 142 = block.stone_pressure_plate.click_off + if (id < 144) return id + 438; // 144 = block.tripwire.attach + if (id < 148) return id + 454; // 148 = block.water.ambient + if (id < 149) return id + 490; // 149 = block.lily_pad.place + if (id < 150) return id + 488; // 150 = block.wood.break + if (id < 151) return id + 519; // 151 = block.wood.fall + if (id < 154) return id + 521; // 154 = block.wood.step + if (id < 155) return id + 523; // 155 = block.wooden_button.click_off + if (id < 157) return id + 515; // 157 = block.wooden_pressure_plate.click_off + if (id < 159) return id + 518; // 159 = block.wooden_door.close + if (id < 163) return id + 506; // 163 = enchant.thorns.hit + if (id < 164) return id + 424; // 164 = entity.armor_stand.break + if (id < 171) return id + -141; // 171 = entity.bat.ambient + if (id < 176) return id + -132; // 176 = entity.blaze.ambient + if (id < 186) return id + -128; // 186 = entity.cat.ambient + if (id < 192) return id + -113; // 192 = entity.chicken.ambient + if (id < 197) return id + -110; // 197 = entity.cod.ambient + if (id < 201) return id + -102; // 201 = entity.cow.ambient + if (id < 209) return id + -96; // 209 = entity.dolphin.ambient + if (id < 242) return id + -85; // 242 = entity.ender_dragon.ambient + if (id < 244) return id + -81; // 244 = entity.ender_dragon.flap + if (id < 248) return id + -80; // 248 = entity.dragon_fireball.explode + if (id < 249) return id + -85; // 249 = entity.ender_eye.death + if (id < 262) return id + -81; // 262 = entity.evoker.ambient + if (id < 265) return id + -78; // 265 = entity.evoker.hurt + if (id < 269) return id + -77; // 269 = entity.evoker_fangs.attack + if (id < 270) return id + -82; // 270 = entity.experience_bottle.throw + if (id < 272) return id + -78; // 272 = entity.firework_rocket.blast + if (id < 280) return id + -75; // 280 = entity.fish.swim + if (id < 281) return id + -73; // 281 = entity.generic.big_fall + if (id < 298) return id + -71; // 298 = entity.guardian.ambient + if (id < 306) return id + -46; // 306 = entity.horse.ambient + if (id < 330) return id + -45; // 330 = entity.illusioner.ambient + if (id < 337) return id + -38; // 337 = entity.iron_golem.attack + if (id < 341) return id + -36; // 341 = entity.item.break + if (id < 343) return id + -29; // 343 = entity.item_frame.add_item + if (id < 348) return id + -36; // 348 = entity.leash_knot.break + if (id < 350) return id + -26; // 350 = entity.lightning_bolt.impact + if (id < 366) return id + -25; // 366 = entity.minecart.inside + if (id < 373) return id + -18; // 373 = entity.painting.break + if (id < 375) return id + 1; // 375 = entity.parrot.ambient + if (id < 421) return id + 12; // 421 = entity.player.attack.crit + if (id < 445) return id + 17; // 445 = entity.puffer_fish.ambient + if (id < 452) return id + 20; // 452 = entity.rabbit.ambient + if (id < 457) return id + 21; // 457 = entity.salmon.ambient + if (id < 461) return id + 34; // 461 = entity.sheep.ambient + if (id < 466) return id + 39; // 466 = entity.shulker.ambient + if (id < 467) return id + 42; // 467 = entity.shulker.close + if (id < 474) return id + 46; // 474 = entity.shulker_bullet.hit + if (id < 476) return id + 37; // 476 = entity.silverfish.ambient + if (id < 482) return id + 44; // 482 = entity.skeleton.hurt + if (id < 485) return id + 52; // 485 = entity.skeleton_horse.ambient + if (id < 493) return id + 41; // 493 = entity.slime.attack + if (id < 498) return id + 44; // 498 = entity.magma_cube.death_small + if (id < 505) return id + 49; // 505 = entity.snow_golem.ambient + if (id < 509) return id + 52; // 509 = entity.snowball.throw + if (id < 510) return id + 45; // 510 = entity.spider.ambient + if (id < 520) return id + 54; // 520 = entity.stray.ambient + if (id < 524) return id + 63; // 524 = entity.tnt.primed + if (id < 525) return id + 64; // 525 = entity.tropical_fish.ambient + if (id < 541) return id + 77; // 541 = entity.vex.ambient + if (id < 554) return id + 83; // 554 = entity.witch.ambient + if (id < 564) return id + 87; // 564 = entity.wither.spawn + if (id < 565) return id + 91; // 565 = entity.wither_skeleton.ambient + if (id < 569) return id + 86; // 569 = entity.wolf.ambient + if (id < 578) return id + 87; // 578 = entity.zombie.ambient + if (id < 585) return id + 100; // 585 = entity.zombie.hurt + if (id < 587) return id + 103; // 587 = entity.zombie.step + if (id < 588) return id + 107; // 588 = entity.zombie_horse.ambient + if (id < 591) return id + 97; // 591 = entity.zombie_pigman.ambient + if (id < 595) return id + 99; // 595 = entity.zombie_villager.ambient + if (id < 601) return id + 100; // 601 = item.armor.equip_chain + if (id < 609) return id + -586; // 609 = item.axe.strip + if (id < 610) return id + -579; // 610 = item.bottle.empty + if (id < 613) return id + -552; // 613 = item.bucket.empty + if (id < 619) return id + -546; // 619 = item.chorus_fruit.teleport + if (id < 620) return id + -530; // 620 = item.elytra.flying + if (id < 621) return id + -463; // 621 = item.firecharge.use + if (id < 622) return id + -425; // 622 = item.flintandsteel.use + if (id < 623) return id + -414; // 623 = item.hoe.till + if (id < 624) return id + -363; // 624 = item.shield.block + if (id < 627) return id + -119; // 627 = item.totem.use + if (id < 636) return id + -38; // 636 = music.creative + if (id < 644) return id + -281; // 644 = music_disc.11 + if (id < 656) return id + -166; // 656 = ui.button.click + if (id < 657) return id + -38; // 657 = ui.toast.challenge_complete + if (id < 660) return id + -36; // 660 = weather.rain + return id + -21; + } - public static int getNewBlockStateId(int id) { - if (id < 1121) return id; - else if (id < 3108) return id + 3; - else if (id < 3278) return id + 163; - else if (id < 3978) return id + 203; - else if (id < 3984) return id + 207; - else if (id < 3988) return id + 197; - else if (id < 5284) return id + 203; - else if (id < 7300) return id + 206; - else if (id < 8591) return id + 212; - else if (id < 8595) return id + 226; - else return id + 2192; - } + public static int getNewBlockStateId(int id) { + if (id < 1121) return id; + else if (id < 3108) return id + 3; + else if (id < 3278) return id + 163; + else if (id < 3978) return id + 203; + else if (id < 3984) return id + 207; + else if (id < 3988) return id + 197; + else if (id < 5284) return id + 203; + else if (id < 7300) return id + 206; + else if (id < 8591) return id + 212; + else if (id < 8595) return id + 226; + else return id + 2192; + } - public static int getNewBlockId(int id) { - // AUTO GENERATED - if (id < 128) return id + 0; // 128 = minecraft:brown_mushroom - if (id < 151) return id + 3; // 151 = minecraft:oak_door - if (id < 156) return id + 8; // 156 = minecraft:lever - if (id < 208) return id + 13; // 208 = minecraft:infested_stone - if (id < 214) return id + 17; // 214 = minecraft:stone_bricks - if (id < 218) return id + 7; // 218 = minecraft:brown_mushroom_block - if (id < 278) return id + 13; // 278 = minecraft:potted_red_mushroom - if (id < 435) return id + 16; // 435 = minecraft:sandstone_slab - if (id < 594) return id + 17; // 594 = minecraft:void_air - if (id < 597) return id + 20; // 597 = minecraft:structure_block - return id + 59; - } + public static int getNewBlockId(int id) { + // AUTO GENERATED + if (id < 128) return id + 0; // 128 = minecraft:brown_mushroom + if (id < 151) return id + 3; // 151 = minecraft:oak_door + if (id < 156) return id + 8; // 156 = minecraft:lever + if (id < 208) return id + 13; // 208 = minecraft:infested_stone + if (id < 214) return id + 17; // 214 = minecraft:stone_bricks + if (id < 218) return id + 7; // 218 = minecraft:brown_mushroom_block + if (id < 278) return id + 13; // 278 = minecraft:potted_red_mushroom + if (id < 435) return id + 16; // 435 = minecraft:sandstone_slab + if (id < 594) return id + 17; // 594 = minecraft:void_air + if (id < 597) return id + 20; // 597 = minecraft:structure_block + return id + 59; + } - @Override - public void init(UserConnection userConnection) { - userConnection.put(new EntityTracker(userConnection)); - if (!userConnection.has(ClientWorld.class)) - userConnection.put(new ClientWorld(userConnection)); + @Override + public void init(UserConnection userConnection) { + userConnection.put(new EntityTracker(userConnection)); + if (!userConnection.has(ClientWorld.class)) + userConnection.put(new ClientWorld(userConnection)); - } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/EntityTypeRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/EntityTypeRewriter.java index 3c33a2372..e1fa300d1 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/EntityTypeRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/EntityTypeRewriter.java @@ -6,62 +6,62 @@ import java.util.HashMap; import java.util.Map; public class EntityTypeRewriter { - private static Map entityTypes = new HashMap<>(); - private static Map objectTypes = new HashMap<>(); + private static Map entityTypes = new HashMap<>(); + private static Map objectTypes = new HashMap<>(); - static { - regEnt(74, 75); // egg - regEnt(75, 76); // ender_pearl - regEnt(76, 77); // experience_bottle - regEnt(93, 96); // fishing_bobber - regEnt(80, 81); // iron_golem - regEnt(91, 94); // lightning_bolt - regEnt(50, 51); // parrot - regEnt(90, 92); // phantom - regEnt(51, 52); // pig - regEnt(92, 95); // player - regEnt(54, 55); // polar_bear - regEnt(77, 78); // potion - regEnt(52, 53); // pufferfish - regEnt(56, 57); // rabbit - regEnt(57, 58); // salmon - regEnt(58, 59); // sheep - regEnt(59, 60); // shulker - regEnt(60, 61); // shulker_bullet - regEnt(61, 62); // silverfish - regEnt(62, 63); // skeleton - regEnt(63, 64); // skeleton_horse - regEnt(64, 65); // slime - regEnt(65, 66); // small_fireball - regEnt(66, 67); // snowgolem - regEnt(67, 68); // snowball - regEnt(68, 69); // spectral_arrow - regEnt(69, 70); // spider - regEnt(70, 71); // squid - regEnt(71, 72); // stray - regEnt(55, 56); // tnt - regEnt(94, 97); // trident - regEnt(72, 73); // tropical_fish - regEnt(73, 74); // turtle - regEnt(78, 79); // vex - regEnt(79, 80); // villager - regEnt(81, 82); // vindicator - regEnt(82, 84); // witch - regEnt(83, 85); // wither - regEnt(84, 86); // wither_skeleton - regEnt(85, 87); // wither_skull - regEnt(86, 88); // wolf - regEnt(87, 89); // zombie - regEnt(88, 90); // zombie_horse - regEnt(53, 54); // zombie_pigman - regEnt(89, 91); // zombie_villager - } + static { + regEnt(74, 75); // egg + regEnt(75, 76); // ender_pearl + regEnt(76, 77); // experience_bottle + regEnt(93, 96); // fishing_bobber + regEnt(80, 81); // iron_golem + regEnt(91, 94); // lightning_bolt + regEnt(50, 51); // parrot + regEnt(90, 92); // phantom + regEnt(51, 52); // pig + regEnt(92, 95); // player + regEnt(54, 55); // polar_bear + regEnt(77, 78); // potion + regEnt(52, 53); // pufferfish + regEnt(56, 57); // rabbit + regEnt(57, 58); // salmon + regEnt(58, 59); // sheep + regEnt(59, 60); // shulker + regEnt(60, 61); // shulker_bullet + regEnt(61, 62); // silverfish + regEnt(62, 63); // skeleton + regEnt(63, 64); // skeleton_horse + regEnt(64, 65); // slime + regEnt(65, 66); // small_fireball + regEnt(66, 67); // snowgolem + regEnt(67, 68); // snowball + regEnt(68, 69); // spectral_arrow + regEnt(69, 70); // spider + regEnt(70, 71); // squid + regEnt(71, 72); // stray + regEnt(55, 56); // tnt + regEnt(94, 97); // trident + regEnt(72, 73); // tropical_fish + regEnt(73, 74); // turtle + regEnt(78, 79); // vex + regEnt(79, 80); // villager + regEnt(81, 82); // vindicator + regEnt(82, 84); // witch + regEnt(83, 85); // wither + regEnt(84, 86); // wither_skeleton + regEnt(85, 87); // wither_skull + regEnt(86, 88); // wolf + regEnt(87, 89); // zombie + regEnt(88, 90); // zombie_horse + regEnt(53, 54); // zombie_pigman + regEnt(89, 91); // zombie_villager + } - private static void regEnt(int type1_13, int type1_14) { - entityTypes.put(type1_13, type1_14); - } + private static void regEnt(int type1_13, int type1_14) { + entityTypes.put(type1_13, type1_14); + } - public static Optional getNewId(int type1_13) { - return Optional.fromNullable(entityTypes.get(type1_13)); - } + public static Optional getNewId(int type1_13) { + return Optional.fromNullable(entityTypes.get(type1_13)); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/EntityPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/EntityPackets.java index cd1738597..b460c0c6e 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/EntityPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/EntityPackets.java @@ -16,163 +16,163 @@ import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.storage.EntityTracker; public class EntityPackets { - public static void register(Protocol protocol) { + public static void register(Protocol protocol) { - // Spawn entity - protocol.registerOutgoing(State.PLAY, 0x0, 0x0, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity id - map(Type.UUID); // 1 - UUID - map(Type.BYTE); // 2 - Type - map(Type.DOUBLE); // 3 - X - map(Type.DOUBLE); // 4 - Y - map(Type.DOUBLE); // 5 - Z - map(Type.BYTE); // 6 - Pitch - map(Type.BYTE); // 7 - Yaw - map(Type.INT); // 8 - Data + // Spawn entity + protocol.registerOutgoing(State.PLAY, 0x0, 0x0, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity id + map(Type.UUID); // 1 - UUID + map(Type.BYTE); // 2 - Type + map(Type.DOUBLE); // 3 - X + map(Type.DOUBLE); // 4 - Y + map(Type.DOUBLE); // 5 - Z + map(Type.BYTE); // 6 - Pitch + map(Type.BYTE); // 7 - Yaw + map(Type.INT); // 8 - Data - // Track Entity - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int entityId = wrapper.get(Type.VAR_INT, 0); - byte type = wrapper.get(Type.BYTE, 0); - Entity1_14Types.EntityType entType = Entity1_14Types.getTypeFromId(type, true); + // Track Entity + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int entityId = wrapper.get(Type.VAR_INT, 0); + byte type = wrapper.get(Type.BYTE, 0); + Entity1_14Types.EntityType entType = Entity1_14Types.getTypeFromId(type, true); - if (entType != null) { - if (entType.is(Entity1_14Types.EntityType.FALLING_BLOCK)) { - int data = wrapper.get(Type.INT, 0); - wrapper.set(Type.INT, 0, Protocol1_14To1_13_2.getNewBlockStateId(data)); - } - } - // Register Type ID - wrapper.user().get(EntityTracker.class).addEntity(entityId, entType); - } - }); - } - }); + if (entType != null) { + if (entType.is(Entity1_14Types.EntityType.FALLING_BLOCK)) { + int data = wrapper.get(Type.INT, 0); + wrapper.set(Type.INT, 0, Protocol1_14To1_13_2.getNewBlockStateId(data)); + } + } + // Register Type ID + wrapper.user().get(EntityTracker.class).addEntity(entityId, entType); + } + }); + } + }); - // Spawn mob packet - protocol.registerOutgoing(State.PLAY, 0x3, 0x3, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Type.UUID); // 1 - Entity UUID - map(Type.VAR_INT); // 2 - Entity Type - map(Type.DOUBLE); // 3 - X - map(Type.DOUBLE); // 4 - Y - map(Type.DOUBLE); // 5 - Z - map(Type.BYTE); // 6 - Yaw - map(Type.BYTE); // 7 - Pitch - map(Type.BYTE); // 8 - Head Pitch - map(Type.SHORT); // 9 - Velocity X - map(Type.SHORT); // 10 - Velocity Y - map(Type.SHORT); // 11 - Velocity Z - map(Types1_13_2.METADATA_LIST); // 12 - Metadata + // Spawn mob packet + protocol.registerOutgoing(State.PLAY, 0x3, 0x3, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Type.UUID); // 1 - Entity UUID + map(Type.VAR_INT); // 2 - Entity Type + map(Type.DOUBLE); // 3 - X + map(Type.DOUBLE); // 4 - Y + map(Type.DOUBLE); // 5 - Z + map(Type.BYTE); // 6 - Yaw + map(Type.BYTE); // 7 - Pitch + map(Type.BYTE); // 8 - Head Pitch + map(Type.SHORT); // 9 - Velocity X + map(Type.SHORT); // 10 - Velocity Y + map(Type.SHORT); // 11 - Velocity Z + map(Types1_13_2.METADATA_LIST); // 12 - Metadata - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int entityId = wrapper.get(Type.VAR_INT, 0); - int type = wrapper.get(Type.VAR_INT, 1); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int entityId = wrapper.get(Type.VAR_INT, 0); + int type = wrapper.get(Type.VAR_INT, 1); - type = EntityTypeRewriter.getNewId(type).or(type); + type = EntityTypeRewriter.getNewId(type).or(type); - Entity1_14Types.EntityType entType = Entity1_14Types.getTypeFromId(type, false); + Entity1_14Types.EntityType entType = Entity1_14Types.getTypeFromId(type, false); - wrapper.set(Type.VAR_INT, 1, type); + wrapper.set(Type.VAR_INT, 1, type); - // Register Type ID - wrapper.user().get(EntityTracker.class).addEntity(entityId, entType); + // Register Type ID + wrapper.user().get(EntityTracker.class).addEntity(entityId, entType); - MetadataRewriter.handleMetadata(entityId, entType, wrapper.get(Types1_13_2.METADATA_LIST, 0), wrapper.user()); - } - }); - } - }); + MetadataRewriter.handleMetadata(entityId, entType, wrapper.get(Types1_13_2.METADATA_LIST, 0), wrapper.user()); + } + }); + } + }); - // Spawn painting - protocol.registerOutgoing(State.PLAY, 0x04, 0x04, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); - map(Type.UUID); - map(Type.VAR_INT); - map(Type.POSITION, Type.POSITION1_14); - map(Type.BYTE); - } - }); + // Spawn painting + protocol.registerOutgoing(State.PLAY, 0x04, 0x04, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); + map(Type.UUID); + map(Type.VAR_INT); + map(Type.POSITION, Type.POSITION1_14); + map(Type.BYTE); + } + }); - // Spawn player packet - protocol.registerOutgoing(State.PLAY, 0x05, 0x05, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Type.UUID); // 1 - Player UUID - map(Type.DOUBLE); // 2 - X - map(Type.DOUBLE); // 3 - Y - map(Type.DOUBLE); // 4 - Z - map(Type.BYTE); // 5 - Yaw - map(Type.BYTE); // 6 - Pitch - map(Types1_13_2.METADATA_LIST); // 7 - Metadata + // Spawn player packet + protocol.registerOutgoing(State.PLAY, 0x05, 0x05, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Type.UUID); // 1 - Player UUID + map(Type.DOUBLE); // 2 - X + map(Type.DOUBLE); // 3 - Y + map(Type.DOUBLE); // 4 - Z + map(Type.BYTE); // 5 - Yaw + map(Type.BYTE); // 6 - Pitch + map(Types1_13_2.METADATA_LIST); // 7 - Metadata - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int entityId = wrapper.get(Type.VAR_INT, 0); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int entityId = wrapper.get(Type.VAR_INT, 0); - Entity1_14Types.EntityType entType = Entity1_14Types.EntityType.PLAYER; - // Register Type ID - wrapper.user().get(EntityTracker.class).addEntity(entityId, entType); - MetadataRewriter.handleMetadata(entityId, entType, wrapper.get(Types1_13_2.METADATA_LIST, 0), wrapper.user()); - } - }); - } - }); + Entity1_14Types.EntityType entType = Entity1_14Types.EntityType.PLAYER; + // Register Type ID + wrapper.user().get(EntityTracker.class).addEntity(entityId, entType); + MetadataRewriter.handleMetadata(entityId, entType, wrapper.get(Types1_13_2.METADATA_LIST, 0), wrapper.user()); + } + }); + } + }); - // Use bed - protocol.registerOutgoing(State.PLAY, 0x33, 0x33, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); - map(Type.POSITION, Type.POSITION1_14); - } - }); + // Use bed + protocol.registerOutgoing(State.PLAY, 0x33, 0x33, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); + map(Type.POSITION, Type.POSITION1_14); + } + }); - // Destroy entities - protocol.registerOutgoing(State.PLAY, 0x35, 0x35, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT_ARRAY); // 0 - Entity IDS + // Destroy entities + protocol.registerOutgoing(State.PLAY, 0x35, 0x35, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT_ARRAY); // 0 - Entity IDS - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - for (int entity : wrapper.get(Type.VAR_INT_ARRAY, 0)) - wrapper.user().get(EntityTracker.class).removeEntity(entity); - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + for (int entity : wrapper.get(Type.VAR_INT_ARRAY, 0)) + wrapper.user().get(EntityTracker.class).removeEntity(entity); + } + }); + } + }); - // Metadata packet - protocol.registerOutgoing(State.PLAY, 0x3F, 0x3F, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Types1_13_2.METADATA_LIST); // 1 - Metadata list - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int entityId = wrapper.get(Type.VAR_INT, 0); + // Metadata packet + protocol.registerOutgoing(State.PLAY, 0x3F, 0x3F, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Types1_13_2.METADATA_LIST); // 1 - Metadata list + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int entityId = wrapper.get(Type.VAR_INT, 0); - Optional type = wrapper.user().get(EntityTracker.class).get(entityId); - MetadataRewriter.handleMetadata(entityId, type.orNull(), wrapper.get(Types1_13_2.METADATA_LIST, 0), wrapper.user()); - } - }); - } - }); + Optional type = wrapper.user().get(EntityTracker.class).get(entityId); + MetadataRewriter.handleMetadata(entityId, type.orNull(), wrapper.get(Types1_13_2.METADATA_LIST, 0), wrapper.user()); + } + }); + } + }); - } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java index b4e62f4ce..fff6245e3 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java @@ -10,234 +10,234 @@ import us.myles.ViaVersion.packets.State; public class InventoryPackets { - public static void register(Protocol protocol) { + public static void register(Protocol protocol) { /* Outgoing packets */ - // Set slot packet - protocol.registerOutgoing(State.PLAY, 0x17, 0x17, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.BYTE); // 0 - Window ID - map(Type.SHORT); // 1 - Slot ID - map(Type.FLAT_VAR_INT_ITEM); // 2 - Slot Value + // Set slot packet + protocol.registerOutgoing(State.PLAY, 0x17, 0x17, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.BYTE); // 0 - Window ID + map(Type.SHORT); // 1 - Slot ID + map(Type.FLAT_VAR_INT_ITEM); // 2 - Slot Value - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - toClient(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + toClient(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); + } + }); + } + }); - // Window items packet - protocol.registerOutgoing(State.PLAY, 0x15, 0x15, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.UNSIGNED_BYTE); // 0 - Window ID - map(Type.FLAT_VAR_INT_ITEM_ARRAY); // 1 - Window Values + // Window items packet + protocol.registerOutgoing(State.PLAY, 0x15, 0x15, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.UNSIGNED_BYTE); // 0 - Window ID + map(Type.FLAT_VAR_INT_ITEM_ARRAY); // 1 - Window Values - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - Item[] stacks = wrapper.get(Type.FLAT_VAR_INT_ITEM_ARRAY, 0); - for (Item stack : stacks) toClient(stack); - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + Item[] stacks = wrapper.get(Type.FLAT_VAR_INT_ITEM_ARRAY, 0); + for (Item stack : stacks) toClient(stack); + } + }); + } + }); - // Plugin message - protocol.registerOutgoing(State.PLAY, 0x19, 0x19, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.STRING); // Channel - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - String channel = wrapper.get(Type.STRING, 0); - if (channel.equals("minecraft:trader_list") || channel.equals("trader_list")) { - wrapper.passthrough(Type.INT); // Passthrough Window ID + // Plugin message + protocol.registerOutgoing(State.PLAY, 0x19, 0x19, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.STRING); // Channel + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + String channel = wrapper.get(Type.STRING, 0); + if (channel.equals("minecraft:trader_list") || channel.equals("trader_list")) { + wrapper.passthrough(Type.INT); // Passthrough Window ID - int size = wrapper.passthrough(Type.UNSIGNED_BYTE); - for (int i = 0; i < size; i++) { - // Input Item - toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); - // Output Item - toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); + int size = wrapper.passthrough(Type.UNSIGNED_BYTE); + for (int i = 0; i < size; i++) { + // Input Item + toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); + // Output Item + toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); - boolean secondItem = wrapper.passthrough(Type.BOOLEAN); // Has second item - if (secondItem) { - // Second Item - toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); - } + boolean secondItem = wrapper.passthrough(Type.BOOLEAN); // Has second item + if (secondItem) { + // Second Item + toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); + } - wrapper.passthrough(Type.BOOLEAN); // Trade disabled - wrapper.passthrough(Type.INT); // Number of tools uses - wrapper.passthrough(Type.INT); // Maximum number of trade uses - } - } - } - }); - } - }); + wrapper.passthrough(Type.BOOLEAN); // Trade disabled + wrapper.passthrough(Type.INT); // Number of tools uses + wrapper.passthrough(Type.INT); // Maximum number of trade uses + } + } + } + }); + } + }); - // Entity Equipment Packet - protocol.registerOutgoing(State.PLAY, 0x42, 0x42, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // 0 - Entity ID - map(Type.VAR_INT); // 1 - Slot ID - map(Type.FLAT_VAR_INT_ITEM); // 2 - Item + // Entity Equipment Packet + protocol.registerOutgoing(State.PLAY, 0x42, 0x42, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // 0 - Entity ID + map(Type.VAR_INT); // 1 - Slot ID + map(Type.FLAT_VAR_INT_ITEM); // 2 - Item - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - toClient(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + toClient(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); + } + }); + } + }); - // Declare Recipes - protocol.registerOutgoing(State.PLAY, 0x54, 0x55, new PacketRemapper() { - @Override - public void registerMap() { - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int size = wrapper.passthrough(Type.VAR_INT); - int deleted = 0; - for (int i = 0; i < size; i++) { - String id = wrapper.read(Type.STRING); // Recipe Identifier - String type = wrapper.read(Type.STRING); - if (type.equals("crafting_special_banneraddpattern")) { - deleted++; - continue; - } - wrapper.write(Type.STRING, id); - wrapper.write(Type.STRING, type); + // Declare Recipes + protocol.registerOutgoing(State.PLAY, 0x54, 0x55, new PacketRemapper() { + @Override + public void registerMap() { + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int size = wrapper.passthrough(Type.VAR_INT); + int deleted = 0; + for (int i = 0; i < size; i++) { + String id = wrapper.read(Type.STRING); // Recipe Identifier + String type = wrapper.read(Type.STRING); + if (type.equals("crafting_special_banneraddpattern")) { + deleted++; + continue; + } + wrapper.write(Type.STRING, id); + wrapper.write(Type.STRING, type); - if (type.equals("crafting_shapeless")) { - wrapper.passthrough(Type.STRING); // Group - int ingredientsNo = wrapper.passthrough(Type.VAR_INT); - for (int j = 0; j < ingredientsNo; j++) { - Item[] items = wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients - for (Item item : items) toClient(item); - } - toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); // Result - } else if (type.equals("crafting_shaped")) { - int ingredientsNo = wrapper.passthrough(Type.VAR_INT) * wrapper.passthrough(Type.VAR_INT); - wrapper.passthrough(Type.STRING); // Group - for (int j = 0; j < ingredientsNo; j++) { - Item[] items = wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients - for (Item item : items) toClient(item); - } - toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); // Result - } else if (type.equals("smelting")) { - wrapper.passthrough(Type.STRING); // Group - Item[] items = wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients - for (Item item : items) toClient(item); - toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); - wrapper.passthrough(Type.FLOAT); // EXP - wrapper.passthrough(Type.VAR_INT); // Cooking time - } - } - wrapper.set(Type.VAR_INT, 0, size - deleted); - } - }); - } - }); + if (type.equals("crafting_shapeless")) { + wrapper.passthrough(Type.STRING); // Group + int ingredientsNo = wrapper.passthrough(Type.VAR_INT); + for (int j = 0; j < ingredientsNo; j++) { + Item[] items = wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients + for (Item item : items) toClient(item); + } + toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); // Result + } else if (type.equals("crafting_shaped")) { + int ingredientsNo = wrapper.passthrough(Type.VAR_INT) * wrapper.passthrough(Type.VAR_INT); + wrapper.passthrough(Type.STRING); // Group + for (int j = 0; j < ingredientsNo; j++) { + Item[] items = wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients + for (Item item : items) toClient(item); + } + toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); // Result + } else if (type.equals("smelting")) { + wrapper.passthrough(Type.STRING); // Group + Item[] items = wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients + for (Item item : items) toClient(item); + toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); + wrapper.passthrough(Type.FLOAT); // EXP + wrapper.passthrough(Type.VAR_INT); // Cooking time + } + } + wrapper.set(Type.VAR_INT, 0, size - deleted); + } + }); + } + }); /* Incoming packets */ - // Click window packet - protocol.registerIncoming(State.PLAY, 0x08, 0x08, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.UNSIGNED_BYTE); // 0 - Window ID - map(Type.SHORT); // 1 - Slot - map(Type.BYTE); // 2 - Button - map(Type.SHORT); // 3 - Action number - map(Type.VAR_INT); // 4 - Mode - map(Type.FLAT_VAR_INT_ITEM); // 5 - Clicked Item + // Click window packet + protocol.registerIncoming(State.PLAY, 0x08, 0x08, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.UNSIGNED_BYTE); // 0 - Window ID + map(Type.SHORT); // 1 - Slot + map(Type.BYTE); // 2 - Button + map(Type.SHORT); // 3 - Action number + map(Type.VAR_INT); // 4 - Mode + map(Type.FLAT_VAR_INT_ITEM); // 5 - Clicked Item - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - toServer(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + toServer(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); + } + }); + } + }); - // Creative Inventory Action - protocol.registerIncoming(State.PLAY, 0x24, 0x24, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.SHORT); // 0 - Slot - map(Type.FLAT_VAR_INT_ITEM); // 1 - Clicked Item + // Creative Inventory Action + protocol.registerIncoming(State.PLAY, 0x24, 0x24, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.SHORT); // 0 - Slot + map(Type.FLAT_VAR_INT_ITEM); // 1 - Clicked Item - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - toServer(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); - } - }); - } - }); - } + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + toServer(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0)); + } + }); + } + }); + } - public static void toClient(Item item) { - if (item == null) return; - item.setId((short) getNewItemId(item.getId())); - } + public static void toClient(Item item) { + if (item == null) return; + item.setId((short) getNewItemId(item.getId())); + } - public static int getNewItemId(int id) { - if (id < 108) return id; - else if (id < 119) return id + 3; - else if (id < 460) return id + 4; - else if (id < 542) return id + 43; - else if (id < 561) return id + 48; - else if (id < 593) return id + 49; - else if (id < 657) return id + 53; - else if (id < 662) return id + 54; - else if (id < 665) return id + 55; - else return id + 56; - } + public static int getNewItemId(int id) { + if (id < 108) return id; + else if (id < 119) return id + 3; + else if (id < 460) return id + 4; + else if (id < 542) return id + 43; + else if (id < 561) return id + 48; + else if (id < 593) return id + 49; + else if (id < 657) return id + 53; + else if (id < 662) return id + 54; + else if (id < 665) return id + 55; + else return id + 56; + } - public static void toServer(Item item) { - if (item == null) return; - item.setId((short) getOldItemId(item.getId())); - } + public static void toServer(Item item) { + if (item == null) return; + item.setId((short) getOldItemId(item.getId())); + } - public static int getOldItemId(int id) { - if (id < 108) return id; - else if (id < 111) return 1; - else if (id < 122) return id - 3; - else if (id < 123) return 1; - else if (id < 464) return id - 4; - else if (id < 503) return 1; - else if (id < 585) return id - 43; - else if (id < 590) return 1; - else if (id < 609) return id - 48; - else if (id < 610) return 1; - else if (id < 642) return id - 49; - else if (id < 646) return 1; - else if (id < 710) return id - 53; - else if (id < 711) return 1; - else if (id < 716) return id - 54; - else if (id < 717) return 1; - else if (id < 720) return id - 55; - else if (id < 721) return 1; - else if (id < 846) return id - 56; - else return 1; - } + public static int getOldItemId(int id) { + if (id < 108) return id; + else if (id < 111) return 1; + else if (id < 122) return id - 3; + else if (id < 123) return 1; + else if (id < 464) return id - 4; + else if (id < 503) return 1; + else if (id < 585) return id - 43; + else if (id < 590) return 1; + else if (id < 609) return id - 48; + else if (id < 610) return 1; + else if (id < 642) return id - 49; + else if (id < 646) return 1; + else if (id < 710) return id - 53; + else if (id < 711) return 1; + else if (id < 716) return id - 54; + else if (id < 717) return 1; + else if (id < 720) return id - 55; + else if (id < 721) return 1; + else if (id < 846) return id - 56; + else return 1; + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/PlayerPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/PlayerPackets.java index 91f4b9b13..9801bbdca 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/PlayerPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/PlayerPackets.java @@ -7,65 +7,65 @@ import us.myles.ViaVersion.packets.State; public class PlayerPackets { - public static void register(Protocol protocol) { + public static void register(Protocol protocol) { - // Open Sign Editor - protocol.registerOutgoing(State.PLAY, 0x2C, 0x2C, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION, Type.POSITION1_14); - } - }); + // Open Sign Editor + protocol.registerOutgoing(State.PLAY, 0x2C, 0x2C, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION, Type.POSITION1_14); + } + }); - // Query Block NBT - protocol.registerIncoming(State.PLAY, 0x01, 0x01, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); - map(Type.POSITION1_14, Type.POSITION); - } - }); + // Query Block NBT + protocol.registerIncoming(State.PLAY, 0x01, 0x01, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); + map(Type.POSITION1_14, Type.POSITION); + } + }); - // Player Digging - protocol.registerIncoming(State.PLAY, 0x18, 0x18, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); - map(Type.POSITION1_14, Type.POSITION); - map(Type.BYTE); - } - }); + // Player Digging + protocol.registerIncoming(State.PLAY, 0x18, 0x18, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); + map(Type.POSITION1_14, Type.POSITION); + map(Type.BYTE); + } + }); - // Update Command Block - protocol.registerIncoming(State.PLAY, 0x22, 0x22, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION1_14, Type.POSITION); - } - }); + // Update Command Block + protocol.registerIncoming(State.PLAY, 0x22, 0x22, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION1_14, Type.POSITION); + } + }); - // Update Structure Block - protocol.registerIncoming(State.PLAY, 0x25, 0x25, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION1_14, Type.POSITION); - } - }); + // Update Structure Block + protocol.registerIncoming(State.PLAY, 0x25, 0x25, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION1_14, Type.POSITION); + } + }); - // Update Sign - protocol.registerIncoming(State.PLAY, 0x26, 0x26, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION1_14, Type.POSITION); - } - }); + // Update Sign + protocol.registerIncoming(State.PLAY, 0x26, 0x26, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION1_14, Type.POSITION); + } + }); - // Player Block Placement - protocol.registerIncoming(State.PLAY, 0x29, 0x29, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION1_14, Type.POSITION); - } - }); - } + // Player Block Placement + protocol.registerIncoming(State.PLAY, 0x29, 0x29, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION1_14, Type.POSITION); + } + }); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java index b55c1d769..8392455b1 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java @@ -18,252 +18,252 @@ import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class WorldPackets { - public static void register(Protocol protocol) { + public static void register(Protocol protocol) { - // Block break animation - protocol.registerOutgoing(State.PLAY, 0x08, 0x08, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); - map(Type.POSITION, Type.POSITION1_14); - map(Type.BYTE); - } - }); + // Block break animation + protocol.registerOutgoing(State.PLAY, 0x08, 0x08, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); + map(Type.POSITION, Type.POSITION1_14); + map(Type.BYTE); + } + }); - // Update block entity - protocol.registerOutgoing(State.PLAY, 0x09, 0x09, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION, Type.POSITION1_14); - } - }); + // Update block entity + protocol.registerOutgoing(State.PLAY, 0x09, 0x09, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION, Type.POSITION1_14); + } + }); - // Block Action - protocol.registerOutgoing(State.PLAY, 0x0A, 0x0A, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION, Type.POSITION1_14); // Location - map(Type.UNSIGNED_BYTE); // Action id - map(Type.UNSIGNED_BYTE); // Action param - map(Type.VAR_INT); // Block id - /!\ NOT BLOCK STATE - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - wrapper.set(Type.VAR_INT, 0, Protocol1_14To1_13_2.getNewBlockId(wrapper.get(Type.VAR_INT, 0))); - } - }); - } - }); + // Block Action + protocol.registerOutgoing(State.PLAY, 0x0A, 0x0A, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION, Type.POSITION1_14); // Location + map(Type.UNSIGNED_BYTE); // Action id + map(Type.UNSIGNED_BYTE); // Action param + map(Type.VAR_INT); // Block id - /!\ NOT BLOCK STATE + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + wrapper.set(Type.VAR_INT, 0, Protocol1_14To1_13_2.getNewBlockId(wrapper.get(Type.VAR_INT, 0))); + } + }); + } + }); - // Block Change - protocol.registerOutgoing(State.PLAY, 0xB, 0xB, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION, Type.POSITION1_14); - map(Type.VAR_INT); - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int id = wrapper.get(Type.VAR_INT, 0); + // Block Change + protocol.registerOutgoing(State.PLAY, 0xB, 0xB, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION, Type.POSITION1_14); + map(Type.VAR_INT); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int id = wrapper.get(Type.VAR_INT, 0); - wrapper.set(Type.VAR_INT, 0, Protocol1_14To1_13_2.getNewBlockStateId(id)); - } - }); - } - }); + wrapper.set(Type.VAR_INT, 0, Protocol1_14To1_13_2.getNewBlockStateId(id)); + } + }); + } + }); - // Multi Block Change - protocol.registerOutgoing(State.PLAY, 0xF, 0xF, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); // 0 - Chunk X - map(Type.INT); // 1 - Chunk Z - map(Type.BLOCK_CHANGE_RECORD_ARRAY); // 2 - Records - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - // Convert ids - for (BlockChangeRecord record : wrapper.get(Type.BLOCK_CHANGE_RECORD_ARRAY, 0)) { - int id = record.getBlockId(); - record.setBlockId(Protocol1_14To1_13_2.getNewBlockStateId(id)); - } - } - }); - } - }); - //Chunk - protocol.registerOutgoing(State.PLAY, 0x22, 0x22, new PacketRemapper() { - @Override - public void registerMap() { - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - Chunk chunk = wrapper.read(new Chunk1_13Type(clientWorld)); - wrapper.write(new Chunk1_14Type(clientWorld), chunk); + // Multi Block Change + protocol.registerOutgoing(State.PLAY, 0xF, 0xF, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); // 0 - Chunk X + map(Type.INT); // 1 - Chunk Z + map(Type.BLOCK_CHANGE_RECORD_ARRAY); // 2 - Records + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + // Convert ids + for (BlockChangeRecord record : wrapper.get(Type.BLOCK_CHANGE_RECORD_ARRAY, 0)) { + int id = record.getBlockId(); + record.setBlockId(Protocol1_14To1_13_2.getNewBlockStateId(id)); + } + } + }); + } + }); + //Chunk + protocol.registerOutgoing(State.PLAY, 0x22, 0x22, new PacketRemapper() { + @Override + public void registerMap() { + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); + Chunk chunk = wrapper.read(new Chunk1_13Type(clientWorld)); + wrapper.write(new Chunk1_14Type(clientWorld), chunk); - for (ChunkSection section : chunk.getSections()) { - if (section == null) continue; - boolean hasBlock = false; - for (int i = 0; i < section.getPalette().size(); i++) { - int old = section.getPalette().get(i); - if (!hasBlock && !(old == 0 || old == 8591 || old == 8592)) { // air, void_air, cave_air - hasBlock = true; - } - int newId = Protocol1_14To1_13_2.getNewBlockStateId(old); - section.getPalette().set(i, newId); - } - if (!hasBlock) { - section.setNonAirBlocksCount(0); - continue; - } - int nonAirBlockCount = 0; - for (int x = 0; x < 16; x++) { - for (int y = 0; y < 16; y++) { - for (int z = 0; z < 16; z++) { - int id = section.getFlatBlock(x, y, z); - if (id == 0 || id == 8591 || id == 8592) { - nonAirBlockCount++; - } - } - } - } - section.setNonAirBlocksCount(nonAirBlockCount); - } + for (ChunkSection section : chunk.getSections()) { + if (section == null) continue; + boolean hasBlock = false; + for (int i = 0; i < section.getPalette().size(); i++) { + int old = section.getPalette().get(i); + if (!hasBlock && !(old == 0 || old == 8591 || old == 8592)) { // air, void_air, cave_air + hasBlock = true; + } + int newId = Protocol1_14To1_13_2.getNewBlockStateId(old); + section.getPalette().set(i, newId); + } + if (!hasBlock) { + section.setNonAirBlocksCount(0); + continue; + } + int nonAirBlockCount = 0; + for (int x = 0; x < 16; x++) { + for (int y = 0; y < 16; y++) { + for (int z = 0; z < 16; z++) { + int id = section.getFlatBlock(x, y, z); + if (id == 0 || id == 8591 || id == 8592) { + nonAirBlockCount++; + } + } + } + } + section.setNonAirBlocksCount(nonAirBlockCount); + } - PacketWrapper lightPacket = wrapper.create(0x57); - lightPacket.write(Type.VAR_INT, chunk.getX()); - lightPacket.write(Type.VAR_INT, chunk.getZ()); - int skyLightMask = 0; - int blockLightMask = 0; - for (int i = 0; i < chunk.getSections().length; i++) { - ChunkSection sec = chunk.getSections()[i]; - if (sec == null) continue; - if (sec.hasSkyLight()) { - skyLightMask |= (1 << (i + 1)); - } - blockLightMask |= (1 << (i + 1)); - } - lightPacket.write(Type.VAR_INT, skyLightMask); - lightPacket.write(Type.VAR_INT, blockLightMask); - for (ChunkSection section : chunk.getSections()) { - if (section == null || !section.hasSkyLight()) continue; - ByteBuf buf = wrapper.user().getChannel().alloc().buffer(); - section.writeSkyLight(buf); - byte[] data = new byte[buf.readableBytes()]; - buf.readBytes(data); - buf.release(); - lightPacket.write(Type.BYTE_ARRAY, Bytes.asList(data).toArray(new Byte[0])); - } - for (ChunkSection section : chunk.getSections()) { - if (section == null) continue; - ByteBuf buf = wrapper.user().getChannel().alloc().buffer(); - section.writeBlockLight(buf); - byte[] data = new byte[buf.readableBytes()]; - buf.readBytes(data); - buf.release(); - lightPacket.write(Type.BYTE_ARRAY, Bytes.asList(data).toArray(new Byte[0])); - } - lightPacket.send(Protocol1_14To1_13_2.class); - } - }); - } - }); + PacketWrapper lightPacket = wrapper.create(0x57); + lightPacket.write(Type.VAR_INT, chunk.getX()); + lightPacket.write(Type.VAR_INT, chunk.getZ()); + int skyLightMask = 0; + int blockLightMask = 0; + for (int i = 0; i < chunk.getSections().length; i++) { + ChunkSection sec = chunk.getSections()[i]; + if (sec == null) continue; + if (sec.hasSkyLight()) { + skyLightMask |= (1 << (i + 1)); + } + blockLightMask |= (1 << (i + 1)); + } + lightPacket.write(Type.VAR_INT, skyLightMask); + lightPacket.write(Type.VAR_INT, blockLightMask); + for (ChunkSection section : chunk.getSections()) { + if (section == null || !section.hasSkyLight()) continue; + ByteBuf buf = wrapper.user().getChannel().alloc().buffer(); + section.writeSkyLight(buf); + byte[] data = new byte[buf.readableBytes()]; + buf.readBytes(data); + buf.release(); + lightPacket.write(Type.BYTE_ARRAY, Bytes.asList(data).toArray(new Byte[0])); + } + for (ChunkSection section : chunk.getSections()) { + if (section == null) continue; + ByteBuf buf = wrapper.user().getChannel().alloc().buffer(); + section.writeBlockLight(buf); + byte[] data = new byte[buf.readableBytes()]; + buf.readBytes(data); + buf.release(); + lightPacket.write(Type.BYTE_ARRAY, Bytes.asList(data).toArray(new Byte[0])); + } + lightPacket.send(Protocol1_14To1_13_2.class); + } + }); + } + }); - // Effect packet - protocol.registerOutgoing(State.PLAY, 0x23, 0x23, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); // Effect Id - map(Type.POSITION, Type.POSITION1_14); // Location - map(Type.INT); // Data - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int id = wrapper.get(Type.INT, 0); - int data = wrapper.get(Type.INT, 1); - if (id == 1010) { // Play record - wrapper.set(Type.INT, 1, data = InventoryPackets.getNewItemId(data)); - } else if (id == 2001) { // Block break + block break sound - wrapper.set(Type.INT, 1, data = Protocol1_14To1_13_2.getNewBlockStateId(data)); - } - } - }); - } - }); + // Effect packet + protocol.registerOutgoing(State.PLAY, 0x23, 0x23, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); // Effect Id + map(Type.POSITION, Type.POSITION1_14); // Location + map(Type.INT); // Data + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int id = wrapper.get(Type.INT, 0); + int data = wrapper.get(Type.INT, 1); + if (id == 1010) { // Play record + wrapper.set(Type.INT, 1, data = InventoryPackets.getNewItemId(data)); + } else if (id == 2001) { // Block break + block break sound + wrapper.set(Type.INT, 1, data = Protocol1_14To1_13_2.getNewBlockStateId(data)); + } + } + }); + } + }); - //spawn particle - protocol.registerOutgoing(State.PLAY, 0x24, 0x24, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); // 0 - Particle ID - map(Type.BOOLEAN); // 1 - Long Distance - map(Type.FLOAT); // 2 - X - map(Type.FLOAT); // 3 - Y - map(Type.FLOAT); // 4 - Z - map(Type.FLOAT); // 5 - Offset X - map(Type.FLOAT); // 6 - Offset Y - map(Type.FLOAT); // 7 - Offset Z - map(Type.FLOAT); // 8 - Particle Data - map(Type.INT); // 9 - Particle Count - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int id = wrapper.get(Type.INT, 0); - if (id == 3 || id == 20) { - int data = wrapper.passthrough(Type.VAR_INT); - wrapper.set(Type.VAR_INT, 0, Protocol1_14To1_13_2.getNewBlockStateId(data)); - } else if (id == 27) { - InventoryPackets.toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); - } - } - }); - } - }); + //spawn particle + protocol.registerOutgoing(State.PLAY, 0x24, 0x24, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); // 0 - Particle ID + map(Type.BOOLEAN); // 1 - Long Distance + map(Type.FLOAT); // 2 - X + map(Type.FLOAT); // 3 - Y + map(Type.FLOAT); // 4 - Z + map(Type.FLOAT); // 5 - Offset X + map(Type.FLOAT); // 6 - Offset Y + map(Type.FLOAT); // 7 - Offset Z + map(Type.FLOAT); // 8 - Particle Data + map(Type.INT); // 9 - Particle Count + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int id = wrapper.get(Type.INT, 0); + if (id == 3 || id == 20) { + int data = wrapper.passthrough(Type.VAR_INT); + wrapper.set(Type.VAR_INT, 0, Protocol1_14To1_13_2.getNewBlockStateId(data)); + } else if (id == 27) { + InventoryPackets.toClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); + } + } + }); + } + }); - //join game - protocol.registerOutgoing(State.PLAY, 0x25, 0x25, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); // 0 - Entity ID - map(Type.UNSIGNED_BYTE); // 1 - Gamemode - map(Type.INT); // 2 - Dimension + //join game + protocol.registerOutgoing(State.PLAY, 0x25, 0x25, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); // 0 - Entity ID + map(Type.UNSIGNED_BYTE); // 1 - Gamemode + map(Type.INT); // 2 - Dimension - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - // Store the player - ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); - int dimensionId = wrapper.get(Type.INT, 1); - clientChunks.setEnvironment(dimensionId); - } - }); - } - }); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + // Store the player + ClientWorld clientChunks = wrapper.user().get(ClientWorld.class); + int dimensionId = wrapper.get(Type.INT, 1); + clientChunks.setEnvironment(dimensionId); + } + }); + } + }); - //respawn - protocol.registerOutgoing(State.PLAY, 0x38, 0x38, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.INT); // 0 - Dimension ID - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); - int dimensionId = wrapper.get(Type.INT, 0); - clientWorld.setEnvironment(dimensionId); - } - }); - } - }); + //respawn + protocol.registerOutgoing(State.PLAY, 0x38, 0x38, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); // 0 - Dimension ID + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); + int dimensionId = wrapper.get(Type.INT, 0); + clientWorld.setEnvironment(dimensionId); + } + }); + } + }); - // Spawn position - protocol.registerOutgoing(State.PLAY, 0x49, 0x49, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.POSITION, Type.POSITION1_14); - } - }); - } + // Spawn position + protocol.registerOutgoing(State.PLAY, 0x49, 0x49, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION, Type.POSITION1_14); + } + }); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/storage/EntityTracker.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/storage/EntityTracker.java index 9d7f7fb88..5f4cc24e2 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/storage/EntityTracker.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/storage/EntityTracker.java @@ -9,25 +9,25 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class EntityTracker extends StoredObject { - private final Map clientEntityTypes = new ConcurrentHashMap<>(); + private final Map clientEntityTypes = new ConcurrentHashMap<>(); - public EntityTracker(UserConnection user) { - super(user); - } + public EntityTracker(UserConnection user) { + super(user); + } - public void removeEntity(int entityId) { - clientEntityTypes.remove(entityId); - } + public void removeEntity(int entityId) { + clientEntityTypes.remove(entityId); + } - public void addEntity(int entityId, Entity1_14Types.EntityType type) { - clientEntityTypes.put(entityId, type); - } + public void addEntity(int entityId, Entity1_14Types.EntityType type) { + clientEntityTypes.put(entityId, type); + } - public boolean has(int entityId) { - return clientEntityTypes.containsKey(entityId); - } + public boolean has(int entityId) { + return clientEntityTypes.containsKey(entityId); + } - public Optional get(int id) { - return Optional.fromNullable(clientEntityTypes.get(id)); - } + public Optional get(int id) { + return Optional.fromNullable(clientEntityTypes.get(id)); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/types/Chunk1_14Type.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/types/Chunk1_14Type.java index e49e2ce79..29751f944 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/types/Chunk1_14Type.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/types/Chunk1_14Type.java @@ -19,90 +19,90 @@ import java.util.List; public class Chunk1_14Type extends PartialType { - public Chunk1_14Type(ClientWorld param) { - super(param, Chunk.class); - } + public Chunk1_14Type(ClientWorld param) { + super(param, Chunk.class); + } - @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { - int chunkX = input.readInt(); - int chunkZ = input.readInt(); + @Override + public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + int chunkX = input.readInt(); + int chunkZ = input.readInt(); - boolean groundUp = input.readBoolean(); - int primaryBitmask = Type.VAR_INT.read(input); - Type.VAR_INT.read(input); + boolean groundUp = input.readBoolean(); + int primaryBitmask = Type.VAR_INT.read(input); + Type.VAR_INT.read(input); - BitSet usedSections = new BitSet(16); - ChunkSection[] sections = new ChunkSection[16]; - // Calculate section count from bitmask - for (int i = 0; i < 16; i++) { - if ((primaryBitmask & (1 << i)) != 0) { - usedSections.set(i); - } - } + BitSet usedSections = new BitSet(16); + ChunkSection[] sections = new ChunkSection[16]; + // Calculate section count from bitmask + for (int i = 0; i < 16; i++) { + if ((primaryBitmask & (1 << i)) != 0) { + usedSections.set(i); + } + } - // Read sections - for (int i = 0; i < 16; i++) { - if (!usedSections.get(i)) continue; // Section not set - short nonAirBlocksCount = input.readShort(); - ChunkSection section = Types1_13.CHUNK_SECTION.read(input); - section.setNonAirBlocksCount(nonAirBlocksCount); - sections[i] = section; - } + // Read sections + for (int i = 0; i < 16; i++) { + if (!usedSections.get(i)) continue; // Section not set + short nonAirBlocksCount = input.readShort(); + ChunkSection section = Types1_13.CHUNK_SECTION.read(input); + section.setNonAirBlocksCount(nonAirBlocksCount); + sections[i] = section; + } - byte[] biomeData = groundUp ? new byte[256] : null; - if (groundUp) { - for (int i = 0; i < 256; i++) { - biomeData[i] = (byte) input.readInt(); - } - } + byte[] biomeData = groundUp ? new byte[256] : null; + if (groundUp) { + for (int i = 0; i < 256; i++) { + biomeData[i] = (byte) input.readInt(); + } + } - List nbtData = new ArrayList<>(Arrays.asList(Type.NBT_ARRAY.read(input))); + List nbtData = new ArrayList<>(Arrays.asList(Type.NBT_ARRAY.read(input))); - // Read all the remaining bytes (workaround for #681) - if (input.readableBytes() > 0) { - byte[] array = Type.REMAINING_BYTES.read(input); - if (Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("Found " + array.length + " more bytes than expected while reading the chunk: " + chunkX + "/" + chunkZ); - } - } + // Read all the remaining bytes (workaround for #681) + if (input.readableBytes() > 0) { + byte[] array = Type.REMAINING_BYTES.read(input); + if (Via.getManager().isDebug()) { + Via.getPlatform().getLogger().warning("Found " + array.length + " more bytes than expected while reading the chunk: " + chunkX + "/" + chunkZ); + } + } - return new BaseChunk(chunkX, chunkZ, groundUp, primaryBitmask, sections, biomeData, nbtData); - } + return new BaseChunk(chunkX, chunkZ, groundUp, primaryBitmask, sections, biomeData, nbtData); + } - @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { - output.writeInt(chunk.getX()); - output.writeInt(chunk.getZ()); + @Override + public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + output.writeInt(chunk.getX()); + output.writeInt(chunk.getZ()); - output.writeBoolean(chunk.isGroundUp()); - Type.VAR_INT.write(output, chunk.getBitmask()); + output.writeBoolean(chunk.isGroundUp()); + Type.VAR_INT.write(output, chunk.getBitmask()); - ByteBuf buf = output.alloc().buffer(); - for (int i = 0; i < 16; i++) { - ChunkSection section = chunk.getSections()[i]; - if (section == null) continue; // Section not set - buf.writeShort(section.getNonAirBlocksCount()); - Types1_13.CHUNK_SECTION.write(buf, section); - } - buf.readerIndex(0); - Type.VAR_INT.write(output, buf.readableBytes() + (chunk.isBiomeData() ? 256 * 4 : 0)); - output.writeBytes(buf); - buf.release(); // release buffer + ByteBuf buf = output.alloc().buffer(); + for (int i = 0; i < 16; i++) { + ChunkSection section = chunk.getSections()[i]; + if (section == null) continue; // Section not set + buf.writeShort(section.getNonAirBlocksCount()); + Types1_13.CHUNK_SECTION.write(buf, section); + } + buf.readerIndex(0); + Type.VAR_INT.write(output, buf.readableBytes() + (chunk.isBiomeData() ? 256 * 4 : 0)); + output.writeBytes(buf); + buf.release(); // release buffer - // Write biome data - if (chunk.isBiomeData()) { - for (byte value : chunk.getBiomeData()) { - output.writeInt(value & 0xFF); // This is a temporary workaround, we'll look into fixing this soon :) - } - } + // Write biome data + if (chunk.isBiomeData()) { + for (byte value : chunk.getBiomeData()) { + output.writeInt(value & 0xFF); // This is a temporary workaround, we'll look into fixing this soon :) + } + } - // Write Block Entities - Type.NBT_ARRAY.write(output, chunk.getBlockEntities().toArray(new CompoundTag[0])); - } + // Write Block Entities + Type.NBT_ARRAY.write(output, chunk.getBlockEntities().toArray(new CompoundTag[0])); + } - @Override - public Class getBaseClass() { - return BaseChunkType.class; - } + @Override + public Class getBaseClass() { + return BaseChunkType.class; + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java index da848d8f0..c73af9382 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java @@ -186,7 +186,7 @@ public class ItemRewriter { } } } - + public static void rewriteBookToServer(Item item) { short id = item.getId(); if (id != 387) { @@ -212,7 +212,7 @@ public class ItemRewriter { stag.setValue(value); } } - + private static String fixBookSpaceChars(String str) { if (!str.startsWith(" ")) { return str; diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java index f6fb17809..79c14418b 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java @@ -7,6 +7,7 @@ import io.netty.buffer.ByteBuf; import us.myles.ViaVersion.api.PacketWrapper; import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.minecraft.Position; +import us.myles.ViaVersion.api.minecraft.chunks.Chunk1_8; import us.myles.ViaVersion.api.minecraft.item.Item; import us.myles.ViaVersion.api.protocol.Protocol; import us.myles.ViaVersion.api.remapper.PacketHandler; @@ -16,7 +17,6 @@ import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.packets.State; import us.myles.ViaVersion.protocols.protocol1_9to1_8.ItemRewriter; import us.myles.ViaVersion.protocols.protocol1_9to1_8.Protocol1_9TO1_8; -import us.myles.ViaVersion.api.minecraft.chunks.Chunk1_8; import us.myles.ViaVersion.protocols.protocol1_9to1_8.providers.BulkChunkTranslatorProvider; import us.myles.ViaVersion.protocols.protocol1_9to1_8.providers.CommandBlockProvider; import us.myles.ViaVersion.protocols.protocol1_9to1_8.sounds.Effect; @@ -307,7 +307,7 @@ public class WorldPackets { // Blocking patch if (Via.getConfig().isShieldBlocking()) { EntityTracker tracker = wrapper.user().get(EntityTracker.class); - + if (item != null && Protocol1_9TO1_8.isSword(item.getId())) { if (hand == 0) { if (!tracker.isBlocking()) { diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker.java index 64906f7b7..9a9dce713 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker.java @@ -258,7 +258,7 @@ public class EntityTracker extends StoredObject { } else { wrapper.write(Type.BYTE, (byte) 3); } - wrapper.write(Type.STRING_ARRAY, new String[] {getUser().get(ProtocolInfo.class).getUsername()}); + wrapper.write(Type.STRING_ARRAY, new String[]{getUser().get(ProtocolInfo.class).getUsername()}); } else { wrapper.write(Type.BYTE, (byte) 1); // remove team } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/types/Chunk1_9to1_8Type.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/types/Chunk1_9to1_8Type.java index 877a5aa5c..a0a997ae6 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/types/Chunk1_9to1_8Type.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/types/Chunk1_9to1_8Type.java @@ -4,6 +4,7 @@ import com.github.steveice10.opennbt.tag.builtin.CompoundTag; import io.netty.buffer.ByteBuf; import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.minecraft.chunks.Chunk; +import us.myles.ViaVersion.api.minecraft.chunks.Chunk1_8; import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection; import us.myles.ViaVersion.api.type.PartialType; import us.myles.ViaVersion.api.type.Type; @@ -12,7 +13,6 @@ import us.myles.ViaVersion.api.type.types.version.Types1_8; import us.myles.ViaVersion.api.type.types.version.Types1_9; import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.protocol1_10to1_9_3.Protocol1_10To1_9_3_4; -import us.myles.ViaVersion.api.minecraft.chunks.Chunk1_8; import us.myles.ViaVersion.protocols.protocol1_9to1_8.storage.ClientChunks; import java.util.ArrayList; diff --git a/sponge/pom.xml b/sponge/pom.xml index d9367e0e1..8770f022c 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -42,7 +42,8 @@ - lombok.launch.AnnotationProcessorHider$AnnotationProcessor + lombok.launch.AnnotationProcessorHider$AnnotationProcessor + diff --git a/sponge/src/main/java/us/myles/ViaVersion/SpongePlugin.java b/sponge/src/main/java/us/myles/ViaVersion/SpongePlugin.java index 7ca0ac3f6..a5d1f76ce 100644 --- a/sponge/src/main/java/us/myles/ViaVersion/SpongePlugin.java +++ b/sponge/src/main/java/us/myles/ViaVersion/SpongePlugin.java @@ -17,7 +17,6 @@ import org.spongepowered.api.plugin.PluginContainer; import org.spongepowered.api.scheduler.Task; import org.spongepowered.api.text.serializer.TextSerializers; import us.myles.ViaVersion.api.Via; -import us.myles.ViaVersion.api.ViaAPI; import us.myles.ViaVersion.api.command.ViaCommandSender; import us.myles.ViaVersion.api.configuration.ConfigurationProvider; import us.myles.ViaVersion.api.platform.TaskId; @@ -32,10 +31,8 @@ import us.myles.ViaVersion.util.GsonUtil; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.UUID; -import java.util.concurrent.TimeUnit; import java.util.logging.Logger; @Plugin(id = "viaversion", diff --git a/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeConfigAPI.java b/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeConfigAPI.java index 86a98cef7..d5ec668db 100644 --- a/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeConfigAPI.java +++ b/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeConfigAPI.java @@ -185,7 +185,7 @@ public class SpongeConfigAPI extends Config implements ViaVersionConfig { public boolean is1_12NBTArrayFix() { return getBoolean("chat-nbt-fix", true); } - + @Override public boolean is1_12QuickMoveActionFix() { return false; From d1b22b0f821c3f7b341dad6e8e78c2de4e54c045 Mon Sep 17 00:00:00 2001 From: Myles Date: Sat, 27 Oct 2018 12:30:39 +0100 Subject: [PATCH 2/2] Update version --- bukkit/pom.xml | 2 +- bungee/pom.xml | 2 +- common/pom.xml | 2 +- jar/pom.xml | 2 +- pom.xml | 2 +- sponge-legacy/pom.xml | 2 +- sponge/pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bukkit/pom.xml b/bukkit/pom.xml index 8dda19ea8..b2d383d89 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 1.6.1-SNAPSHOT + 1.6.1-18w43c 4.0.0 diff --git a/bungee/pom.xml b/bungee/pom.xml index d09b21455..c99f4abc3 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 1.6.1-SNAPSHOT + 1.6.1-18w43c 4.0.0 diff --git a/common/pom.xml b/common/pom.xml index d1cad3b92..ac602f7fb 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 1.6.1-SNAPSHOT + 1.6.1-18w43c 4.0.0 diff --git a/jar/pom.xml b/jar/pom.xml index a9399516f..e99da1236 100644 --- a/jar/pom.xml +++ b/jar/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 1.6.1-SNAPSHOT + 1.6.1-18w43c 4.0.0 viaversion-jar diff --git a/pom.xml b/pom.xml index 00c615f8a..9241a13ab 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ us.myles viaversion-parent - 1.6.1-SNAPSHOT + 1.6.1-18w43c pom viaversion-parent diff --git a/sponge-legacy/pom.xml b/sponge-legacy/pom.xml index ac481ad6b..e8e3e7e06 100644 --- a/sponge-legacy/pom.xml +++ b/sponge-legacy/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 1.6.1-SNAPSHOT + 1.6.1-18w43c 4.0.0 diff --git a/sponge/pom.xml b/sponge/pom.xml index 8770f022c..13d6e1fa9 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 1.6.1-SNAPSHOT + 1.6.1-18w43c 4.0.0