From b785fe05150e2e4710992b2269dba6b4dd7b0284 Mon Sep 17 00:00:00 2001 From: Myles Date: Tue, 1 Mar 2016 23:09:29 +0000 Subject: [PATCH] Add EntityUtil & move utils to util package. --- .../data/game/chunk/BlockStorage.java | 2 +- .../us/myles/ViaVersion/ViaVersionPlugin.java | 1 + .../handlers/ViaInboundHandler.java | 2 +- .../handlers/ViaOutboundHandler.java | 2 +- .../handlers/ViaOutboundPacketHandler.java | 2 +- .../transformers/IncomingTransformer.java | 2 + .../transformers/OutgoingTransformer.java | 5 +- .../us/myles/ViaVersion/util/EntityUtil.java | 91 +++++++++++++++++++ .../ViaVersion/{ => util}/PacketUtil.java | 2 +- .../ViaVersion/{ => util}/ReflectionUtil.java | 2 +- 10 files changed, 104 insertions(+), 7 deletions(-) create mode 100644 src/main/java/us/myles/ViaVersion/util/EntityUtil.java rename src/main/java/us/myles/ViaVersion/{ => util}/PacketUtil.java (99%) rename src/main/java/us/myles/ViaVersion/{ => util}/ReflectionUtil.java (97%) diff --git a/src/main/java/org/spacehq/mc/protocol/data/game/chunk/BlockStorage.java b/src/main/java/org/spacehq/mc/protocol/data/game/chunk/BlockStorage.java index 273b195d6..055991c5f 100644 --- a/src/main/java/org/spacehq/mc/protocol/data/game/chunk/BlockStorage.java +++ b/src/main/java/org/spacehq/mc/protocol/data/game/chunk/BlockStorage.java @@ -1,7 +1,7 @@ package org.spacehq.mc.protocol.data.game.chunk; import io.netty.buffer.ByteBuf; -import us.myles.ViaVersion.PacketUtil; +import us.myles.ViaVersion.util.PacketUtil; import java.io.IOException; import java.util.ArrayList; diff --git a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java index b647a00ef..5e7a15594 100644 --- a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java +++ b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java @@ -17,6 +17,7 @@ import org.bukkit.plugin.java.JavaPlugin; import us.myles.ViaVersion.api.ViaVersion; import us.myles.ViaVersion.api.ViaVersionAPI; import us.myles.ViaVersion.handlers.ViaVersionInitializer; +import us.myles.ViaVersion.util.ReflectionUtil; import java.util.Collections; import java.util.List; diff --git a/src/main/java/us/myles/ViaVersion/handlers/ViaInboundHandler.java b/src/main/java/us/myles/ViaVersion/handlers/ViaInboundHandler.java index 5751b99b0..d8405501e 100644 --- a/src/main/java/us/myles/ViaVersion/handlers/ViaInboundHandler.java +++ b/src/main/java/us/myles/ViaVersion/handlers/ViaInboundHandler.java @@ -7,7 +7,7 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import us.myles.ViaVersion.CancelException; import us.myles.ViaVersion.ConnectionInfo; -import us.myles.ViaVersion.PacketUtil; +import us.myles.ViaVersion.util.PacketUtil; import us.myles.ViaVersion.transformers.IncomingTransformer; @ChannelHandler.Sharable diff --git a/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundHandler.java b/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundHandler.java index 428fce04d..79feada07 100644 --- a/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundHandler.java +++ b/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundHandler.java @@ -4,7 +4,7 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.*; import us.myles.ViaVersion.CancelException; import us.myles.ViaVersion.ConnectionInfo; -import us.myles.ViaVersion.PacketUtil; +import us.myles.ViaVersion.util.PacketUtil; import us.myles.ViaVersion.transformers.OutgoingTransformer; @ChannelHandler.Sharable diff --git a/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundPacketHandler.java b/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundPacketHandler.java index 29f6b889d..dd3028f89 100644 --- a/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundPacketHandler.java +++ b/src/main/java/us/myles/ViaVersion/handlers/ViaOutboundPacketHandler.java @@ -3,7 +3,7 @@ package us.myles.ViaVersion.handlers; import io.netty.buffer.ByteBuf; import io.netty.channel.*; import us.myles.ViaVersion.ConnectionInfo; -import us.myles.ViaVersion.ReflectionUtil; +import us.myles.ViaVersion.util.ReflectionUtil; import java.lang.reflect.Constructor; diff --git a/src/main/java/us/myles/ViaVersion/transformers/IncomingTransformer.java b/src/main/java/us/myles/ViaVersion/transformers/IncomingTransformer.java index 84381a4a5..eb915633e 100644 --- a/src/main/java/us/myles/ViaVersion/transformers/IncomingTransformer.java +++ b/src/main/java/us/myles/ViaVersion/transformers/IncomingTransformer.java @@ -7,6 +7,8 @@ import us.myles.ViaVersion.*; import us.myles.ViaVersion.handlers.ViaVersionInitializer; import us.myles.ViaVersion.packets.PacketType; import us.myles.ViaVersion.packets.State; +import us.myles.ViaVersion.util.PacketUtil; +import us.myles.ViaVersion.util.ReflectionUtil; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java b/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java index d246a616b..c0290096a 100644 --- a/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java +++ b/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java @@ -17,13 +17,16 @@ import us.myles.ViaVersion.metadata.Type; import us.myles.ViaVersion.packets.PacketType; import us.myles.ViaVersion.packets.State; import us.myles.ViaVersion.sounds.SoundEffect; +import us.myles.ViaVersion.util.EntityUtil; +import us.myles.ViaVersion.util.PacketUtil; +import us.myles.ViaVersion.util.ReflectionUtil; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.*; -import static us.myles.ViaVersion.PacketUtil.*; +import static us.myles.ViaVersion.util.PacketUtil.*; public class OutgoingTransformer { private static Gson gson = new Gson(); diff --git a/src/main/java/us/myles/ViaVersion/util/EntityUtil.java b/src/main/java/us/myles/ViaVersion/util/EntityUtil.java new file mode 100644 index 000000000..8095e4722 --- /dev/null +++ b/src/main/java/us/myles/ViaVersion/util/EntityUtil.java @@ -0,0 +1,91 @@ +package us.myles.ViaVersion.util; + +import org.bukkit.entity.EntityType; + +public class EntityUtil { + public static EntityType getTypeFromID(int typeID, boolean isObject) { + if (isObject) { + return getObjectFromID(typeID); + } else { + return EntityType.fromId(typeID); + } + } + + // based on http://wiki.vg/index.php?title=Entities + public static EntityType getObjectFromID(int objectID) { + EntityType type; + switch (objectID) { + case 2: + type = EntityType.DROPPED_ITEM; + break; + case 77: + type = EntityType.LEASH_HITCH; + break; + case 60: + type = EntityType.ARROW; + break; + case 61: + type = EntityType.SNOWBALL; + break; + case 63: + type = EntityType.FIREBALL; + break; + case 64: + type = EntityType.SMALL_FIREBALL; + break; + case 65: + type = EntityType.ENDER_PEARL; + break; + case 72: + type = EntityType.ENDER_SIGNAL; + break; + case 75: + type = EntityType.THROWN_EXP_BOTTLE; + break; + case 71: + type = EntityType.ITEM_FRAME; + break; + case 66: + type = EntityType.WITHER_SKULL; + break; + case 50: + type = EntityType.PRIMED_TNT; + break; + case 70: + type = EntityType.FALLING_BLOCK; + break; + case 76: + type = EntityType.FIREWORK; + break; + case 78: + type = EntityType.ARMOR_STAND; + break; + case 1: + type = EntityType.BOAT; + break; + case 10: + type = EntityType.MINECART; + break; + case 51: + type = EntityType.ENDER_CRYSTAL; + break; + case 73: + type = EntityType.SPLASH_POTION; + break; + case 62: + type = EntityType.EGG; + break; + case 90: + type = EntityType.FISHING_HOOK; + break; + default: + type = EntityType.fromId(objectID); + if (type == null) { + System.out.println("Unable to find entity type for " + objectID); + type = EntityType.UNKNOWN; + } + break; + } + return type; + } +} diff --git a/src/main/java/us/myles/ViaVersion/PacketUtil.java b/src/main/java/us/myles/ViaVersion/util/PacketUtil.java similarity index 99% rename from src/main/java/us/myles/ViaVersion/PacketUtil.java rename to src/main/java/us/myles/ViaVersion/util/PacketUtil.java index 12d4836e6..8a734b124 100644 --- a/src/main/java/us/myles/ViaVersion/PacketUtil.java +++ b/src/main/java/us/myles/ViaVersion/util/PacketUtil.java @@ -1,4 +1,4 @@ -package us.myles.ViaVersion; +package us.myles.ViaVersion.util; import com.google.common.base.Charsets; import com.google.common.base.Preconditions; diff --git a/src/main/java/us/myles/ViaVersion/ReflectionUtil.java b/src/main/java/us/myles/ViaVersion/util/ReflectionUtil.java similarity index 97% rename from src/main/java/us/myles/ViaVersion/ReflectionUtil.java rename to src/main/java/us/myles/ViaVersion/util/ReflectionUtil.java index a77c32ed0..e5f19187e 100644 --- a/src/main/java/us/myles/ViaVersion/ReflectionUtil.java +++ b/src/main/java/us/myles/ViaVersion/util/ReflectionUtil.java @@ -1,4 +1,4 @@ -package us.myles.ViaVersion; +package us.myles.ViaVersion.util; import org.bukkit.Bukkit;