예제 #1
0
 private ItemMeta getItemMeta(Material material, TestMetaItem meta) {
   switch (material) {
     case AIR:
       return null;
     case WRITTEN_BOOK:
       return meta instanceof TestMetaBookSigned ? meta : new TestMetaBookSigned(meta);
     case BOOK_AND_QUILL:
       return meta != null && meta.getClass().equals(TestMetaBook.class)
           ? meta
           : new TestMetaBook(meta);
     case SKULL_ITEM:
       // return meta instanceof CraftMetaSkull ? meta : new CraftMetaSkull(meta);
     case LEATHER_HELMET:
     case LEATHER_CHESTPLATE:
     case LEATHER_LEGGINGS:
     case LEATHER_BOOTS:
       return meta instanceof TestMetaLeatherArmor ? meta : new TestMetaLeatherArmor(meta);
     case POTION:
     case SPLASH_POTION:
     case LINGERING_POTION:
     case TIPPED_ARROW:
       return meta instanceof TestMetaPotion ? meta : new TestMetaPotion(meta);
     case MAP:
       return meta instanceof TestMetaMap ? meta : new TestMetaMap(meta);
     case FIREWORK:
       return meta instanceof TestMetaFirework ? meta : new TestMetaFirework(meta);
     case FIREWORK_CHARGE:
       return meta instanceof TestMetaCharge ? meta : new TestMetaCharge(meta);
     case ENCHANTED_BOOK:
       return meta instanceof TestMetaEnchantedBook ? meta : new TestMetaEnchantedBook(meta);
     case BANNER:
       return meta instanceof TestMetaBanner ? meta : new TestMetaBanner(meta);
     case MONSTER_EGG:
       return meta instanceof TestMetaSpawnEgg ? meta : new TestMetaSpawnEgg(meta);
     case FURNACE:
     case CHEST:
     case TRAPPED_CHEST:
     case JUKEBOX:
     case DISPENSER:
     case DROPPER:
     case SIGN:
     case MOB_SPAWNER:
     case NOTE_BLOCK:
     case PISTON_BASE:
     case BREWING_STAND_ITEM:
     case ENCHANTMENT_TABLE:
     case COMMAND:
     case COMMAND_REPEATING:
     case COMMAND_CHAIN:
     case BEACON:
     case DAYLIGHT_DETECTOR:
     case DAYLIGHT_DETECTOR_INVERTED:
     case HOPPER:
     case REDSTONE_COMPARATOR:
     case FLOWER_POT_ITEM:
     case SHIELD:
       // return new CraftMetaBlockState(meta, material);
     default:
       return new TestMetaItem(meta);
   }
 }
예제 #2
0
 private boolean equals(TestMetaItem meta1, TestMetaItem meta2) {
   return meta1.equalsCommon(meta2) && meta1.notUncommon(meta2) && meta2.notUncommon(meta1);
 }