示例#1
0
 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;
 }
示例#2
0
  /*
   * 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();
 }