From 9ea8c999295e6036b423f966707aef0babdd58e0 Mon Sep 17 00:00:00 2001 From: filoghost Date: Fri, 18 Nov 2016 13:47:15 +0100 Subject: [PATCH] Fix "touch slime" not showing up --- .../nms/v1_11_R1/NmsManagerImpl.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_11_R1/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_11_R1/NmsManagerImpl.java index a538349b..aa2e5a48 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_11_R1/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_11_R1/NmsManagerImpl.java @@ -22,8 +22,12 @@ import com.gmail.filoghost.holographicdisplays.object.line.CraftItemLine; import com.gmail.filoghost.holographicdisplays.object.line.CraftTouchSlimeLine; import com.gmail.filoghost.holographicdisplays.util.DebugHandler; import com.gmail.filoghost.holographicdisplays.util.Validator; +import com.gmail.filoghost.holographicdisplays.util.VersionUtils; + import net.minecraft.server.v1_11_R1.Entity; +import net.minecraft.server.v1_11_R1.EntityTypes; import net.minecraft.server.v1_11_R1.MathHelper; +import net.minecraft.server.v1_11_R1.MinecraftKey; import net.minecraft.server.v1_11_R1.World; import net.minecraft.server.v1_11_R1.WorldServer; @@ -35,6 +39,18 @@ public class NmsManagerImpl implements NMSManager { public void setup() throws Exception { validateEntityMethod = World.class.getDeclaredMethod("b", Entity.class); validateEntityMethod.setAccessible(true); + + registerCustomEntity(EntityNMSSlime.class, "slimeHolographicDisplays", 55); + } + + public void registerCustomEntity(Class entityClass, String nameId, int id) throws Exception { + if (VersionUtils.isMCPCOrCauldron()) { + // MCPC+ / Cauldron entity registration. + throw new UnsupportedOperationException("MCPC, Cauldron and similar softwares are not supported"); + } else { + // Normal entity registration. + EntityTypes.b.a(id, new MinecraftKey(nameId), entityClass); + } } @Override