private static Constructor<?> getCustomEntityConstructor(Class<?> clazz, EntityType type) throws SecurityException, NoSuchMethodException { Constructor<?> constructor = ENTITY_CONSTRUCTOR_CACHE.get(clazz); if (constructor == null) { constructor = clazz.getConstructor(World.class); constructor.setAccessible(true); ENTITY_CLASS_TO_INT.put(clazz, (int) type.getTypeId()); ENTITY_CONSTRUCTOR_CACHE.put(clazz, constructor); } return constructor; }
/* * Another example of a event handler. This one will give you the name of * the entity you interact with, if it is a Creature it will give you the * creature Id. */ @EventHandler public void onPlayerInteract(PlayerInteractEntityEvent event) { final EntityType entityType = event.getRightClicked().getType(); event .getPlayer() .sendMessage( MessageFormat.format( "You interacted with a {0} it has an id of {1}", entityType.getName(), entityType.getTypeId())); }
/* * Returns a classic block type id related to the material */ @SuppressWarnings("deprecation") public static int toID(EntityType entityType) { if (entityType.equals(EntityType.DROPPED_ITEM)) { return 1; } else if (entityType.equals(EntityType.EXPERIENCE_ORB)) { return 2; } else if (entityType.equals(EntityType.LEASH_HITCH)) { return 8; } else if (entityType.equals(EntityType.PAINTING)) { return 9; } else if (entityType.equals(EntityType.ARROW)) { return 10; } else if (entityType.equals(EntityType.SNOWBALL)) { return 11; } else if (entityType.equals(EntityType.FIREBALL)) { return 12; } else if (entityType.equals(EntityType.SMALL_FIREBALL)) { return 13; } else if (entityType.equals(EntityType.ENDER_PEARL)) { return 14; } else if (entityType.equals(EntityType.ENDER_SIGNAL)) { return 15; } else if (entityType.equals(EntityType.THROWN_EXP_BOTTLE)) { return 17; } else if (entityType.equals(EntityType.ITEM_FRAME)) { return 18; } else if (entityType.equals(EntityType.WITHER_SKULL)) { return 19; } else if (entityType.equals(EntityType.PRIMED_TNT)) { return 20; } else if (entityType.equals(EntityType.FALLING_BLOCK)) { return 21; } else if (entityType.equals(EntityType.FIREWORK)) { return 22; } else if (entityType.equals(EntityType.TIPPED_ARROW)) { return 23; } else if (entityType.equals(EntityType.SPECTRAL_ARROW)) { return 24; } else if (entityType.equals(EntityType.SHULKER_BULLET)) { return 25; } else if (entityType.equals(EntityType.DRAGON_FIREBALL)) { return 26; } else if (entityType.equals(EntityType.ARMOR_STAND)) { return 30; } else if (entityType.equals(EntityType.MINECART_COMMAND)) { return 40; } else if (entityType.equals(EntityType.BOAT)) { return 41; } else if (entityType.equals(EntityType.MINECART)) { return 42; } else if (entityType.equals(EntityType.MINECART_CHEST)) { return 43; } else if (entityType.equals(EntityType.MINECART_FURNACE)) { return 44; } else if (entityType.equals(EntityType.MINECART_TNT)) { return 45; } else if (entityType.equals(EntityType.MINECART_HOPPER)) { return 46; } else if (entityType.equals(EntityType.MINECART_MOB_SPAWNER)) { return 47; } else if (entityType.equals(EntityType.CREEPER)) { return 50; } else if (entityType.equals(EntityType.SKELETON)) { return 51; } else if (entityType.equals(EntityType.SPIDER)) { return 52; } else if (entityType.equals(EntityType.GIANT)) { return 53; } else if (entityType.equals(EntityType.ZOMBIE)) { return 54; } else if (entityType.equals(EntityType.SLIME)) { return 55; } else if (entityType.equals(EntityType.GHAST)) { return 56; } else if (entityType.equals(EntityType.PIG_ZOMBIE)) { return 57; } else if (entityType.equals(EntityType.ENDERMAN)) { return 58; } else if (entityType.equals(EntityType.CAVE_SPIDER)) { return 59; } else if (entityType.equals(EntityType.SILVERFISH)) { return 60; } else if (entityType.equals(EntityType.BLAZE)) { return 61; } else if (entityType.equals(EntityType.MAGMA_CUBE)) { return 62; } else if (entityType.equals(EntityType.ENDER_DRAGON)) { return 63; } else if (entityType.equals(EntityType.WITHER)) { return 64; } else if (entityType.equals(EntityType.BAT)) { return 65; } else if (entityType.equals(EntityType.WITCH)) { return 66; } else if (entityType.equals(EntityType.ENDERMITE)) { return 67; } else if (entityType.equals(EntityType.GUARDIAN)) { return 68; } else if (entityType.equals(EntityType.SHULKER)) { return 69; } else if (entityType.equals(EntityType.PIG)) { return 90; } else if (entityType.equals(EntityType.SHEEP)) { return 91; } else if (entityType.equals(EntityType.COW)) { return 92; } else if (entityType.equals(EntityType.CHICKEN)) { return 93; } else if (entityType.equals(EntityType.SQUID)) { return 94; } else if (entityType.equals(EntityType.WOLF)) { return 95; } else if (entityType.equals(EntityType.MUSHROOM_COW)) { return 96; } else if (entityType.equals(EntityType.SNOWMAN)) { return 97; } else if (entityType.equals(EntityType.OCELOT)) { return 98; } else if (entityType.equals(EntityType.IRON_GOLEM)) { return 99; } else if (entityType.equals(EntityType.HORSE)) { return 100; } else if (entityType.equals(EntityType.RABBIT)) { return 101; } else if (entityType.equals(EntityType.VILLAGER)) { return 120; } else if (entityType.equals(EntityType.ENDER_CRYSTAL)) { return 200; } return entityType.getTypeId(); }