Item no longer implements ItemIds

This commit is contained in:
Dylan K. Taylor 2019-07-19 17:43:06 +01:00
parent ac12911561
commit 1fee70abfb
9 changed files with 253 additions and 250 deletions

View File

@ -27,6 +27,7 @@ use pocketmine\block\utils\TreeType;
use pocketmine\event\block\LeavesDecayEvent;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\ItemIds;
use pocketmine\item\VanillaItems;
use pocketmine\math\Facing;
use pocketmine\math\Vector3;
@ -125,7 +126,7 @@ class Leaves extends Transparent{
$drops = [];
if(mt_rand(1, 20) === 1){ //Saplings
$drops[] = ItemFactory::get(Item::SAPLING, $this->treeType->getMagicNumber());
$drops[] = ItemFactory::get(ItemIds::SAPLING, $this->treeType->getMagicNumber());
}
if(($this->treeType->equals(TreeType::OAK()) or $this->treeType->equals(TreeType::DARK_OAK())) and mt_rand(1, 200) === 1){ //Apples
$drops[] = VanillaItems::APPLE();

View File

@ -28,6 +28,7 @@ use pocketmine\block\utils\BlockDataValidator;
use pocketmine\block\utils\SkullType;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\ItemIds;
use pocketmine\item\Skull as ItemSkull;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing;
@ -110,6 +111,6 @@ class Skull extends Flowable{
}
public function asItem() : Item{
return ItemFactory::get(Item::SKULL, $this->skullType->getMagicNumber());
return ItemFactory::get(ItemIds::SKULL, $this->skullType->getMagicNumber());
}
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\inventory\transaction;
use pocketmine\crafting\CraftingRecipe;
use pocketmine\event\inventory\CraftItemEvent;
use pocketmine\item\Item;
use pocketmine\item\ItemIds;
use pocketmine\network\mcpe\protocol\ContainerClosePacket;
use pocketmine\network\mcpe\protocol\types\ContainerIds;
use function array_pop;
@ -174,34 +175,34 @@ class CraftingTransaction extends InventoryTransaction{
if(parent::execute()){
foreach($this->outputs as $item){
switch($item->getId()){
case Item::CRAFTING_TABLE:
case ItemIds::CRAFTING_TABLE:
$this->source->awardAchievement("buildWorkBench");
break;
case Item::WOODEN_PICKAXE:
case ItemIds::WOODEN_PICKAXE:
$this->source->awardAchievement("buildPickaxe");
break;
case Item::FURNACE:
case ItemIds::FURNACE:
$this->source->awardAchievement("buildFurnace");
break;
case Item::WOODEN_HOE:
case ItemIds::WOODEN_HOE:
$this->source->awardAchievement("buildHoe");
break;
case Item::BREAD:
case ItemIds::BREAD:
$this->source->awardAchievement("makeBread");
break;
case Item::CAKE:
case ItemIds::CAKE:
$this->source->awardAchievement("bakeCake");
break;
case Item::STONE_PICKAXE:
case Item::GOLDEN_PICKAXE:
case Item::IRON_PICKAXE:
case Item::DIAMOND_PICKAXE:
case ItemIds::STONE_PICKAXE:
case ItemIds::GOLDEN_PICKAXE:
case ItemIds::IRON_PICKAXE:
case ItemIds::DIAMOND_PICKAXE:
$this->source->awardAchievement("buildBetterPickaxe");
break;
case Item::WOODEN_SWORD:
case ItemIds::WOODEN_SWORD:
$this->source->awardAchievement("buildSword");
break;
case Item::DIAMOND:
case ItemIds::DIAMOND:
$this->source->awardAchievement("diamond");
break;
}

View File

@ -42,7 +42,7 @@ class Bucket extends Item{
$stack = clone $this;
$stack->pop();
$resultItem = ItemFactory::get(Item::BUCKET, $blockClicked->getFlowingForm()->getId());
$resultItem = ItemFactory::get(ItemIds::BUCKET, $blockClicked->getFlowingForm()->getId());
$ev = new PlayerBucketFillEvent($player, $blockReplace, $face, $this, $resultItem);
$ev->call();
if(!$ev->isCancelled()){

View File

@ -52,7 +52,7 @@ use function gettype;
use function hex2bin;
use function is_string;
class Item implements ItemIds, \JsonSerializable{
class Item implements \JsonSerializable{
use ItemEnchantmentHandlingTrait;
public const TAG_ENCH = "ench";
@ -426,7 +426,7 @@ class Item implements ItemIds, \JsonSerializable{
}
public function isNull() : bool{
return $this->count <= 0 or $this->id === Item::AIR;
return $this->count <= 0 or $this->id === ItemIds::AIR;
}
/**

View File

@ -55,227 +55,227 @@ class ItemFactory{
public static function init() : void{
self::$list = []; //in case of re-initializing
self::register(new Apple(Item::APPLE, 0, "Apple"));
self::register(new Arrow(Item::ARROW, 0, "Arrow"));
self::register(new Axe(Item::DIAMOND_AXE, "Diamond Axe", ToolTier::DIAMOND()));
self::register(new Axe(Item::GOLDEN_AXE, "Golden Axe", ToolTier::GOLD()));
self::register(new Axe(Item::IRON_AXE, "Iron Axe", ToolTier::IRON()));
self::register(new Axe(Item::STONE_AXE, "Stone Axe", ToolTier::STONE()));
self::register(new Axe(Item::WOODEN_AXE, "Wooden Axe", ToolTier::WOOD()));
self::register(new BakedPotato(Item::BAKED_POTATO, 0, "Baked Potato"));
self::register(new Beetroot(Item::BEETROOT, 0, "Beetroot"));
self::register(new BeetrootSeeds(Item::BEETROOT_SEEDS, 0, "Beetroot Seeds"));
self::register(new BeetrootSoup(Item::BEETROOT_SOUP, 0, "Beetroot Soup"));
self::register(new BlazeRod(Item::BLAZE_ROD, 0, "Blaze Rod"));
self::register(new Book(Item::BOOK, 0, "Book"));
self::register(new Boots(Item::CHAIN_BOOTS, 0, "Chainmail Boots", new ArmorTypeInfo(1, 196)));
self::register(new Boots(Item::DIAMOND_BOOTS, 0, "Diamond Boots", new ArmorTypeInfo(3, 430)));
self::register(new Boots(Item::GOLDEN_BOOTS, 0, "Golden Boots", new ArmorTypeInfo(1, 92)));
self::register(new Boots(Item::IRON_BOOTS, 0, "Iron Boots", new ArmorTypeInfo(2, 196)));
self::register(new Boots(Item::LEATHER_BOOTS, 0, "Leather Boots", new ArmorTypeInfo(1, 66)));
self::register(new Bow(Item::BOW, 0, "Bow"));
self::register(new Bowl(Item::BOWL, 0, "Bowl"));
self::register(new Bread(Item::BREAD, 0, "Bread"));
self::register(new Bucket(Item::BUCKET, 0, "Bucket"));
self::register(new Carrot(Item::CARROT, 0, "Carrot"));
self::register(new Chestplate(Item::CHAIN_CHESTPLATE, 0, "Chainmail Chestplate", new ArmorTypeInfo(5, 241)));
self::register(new Chestplate(Item::DIAMOND_CHESTPLATE, 0, "Diamond Chestplate", new ArmorTypeInfo(8, 529)));
self::register(new Chestplate(Item::GOLDEN_CHESTPLATE, 0, "Golden Chestplate", new ArmorTypeInfo(5, 113)));
self::register(new Chestplate(Item::IRON_CHESTPLATE, 0, "Iron Chestplate", new ArmorTypeInfo(6, 241)));
self::register(new Chestplate(Item::LEATHER_CHESTPLATE, 0, "Leather Tunic", new ArmorTypeInfo(3, 81)));
self::register(new ChorusFruit(Item::CHORUS_FRUIT, 0, "Chorus Fruit"));
self::register(new Clock(Item::CLOCK, 0, "Clock"));
self::register(new Clownfish(Item::CLOWNFISH, 0, "Clownfish"));
self::register(new Coal(Item::COAL, 0, "Coal"));
self::register(new Coal(Item::COAL, 1, "Charcoal"));
self::register(new CocoaBeans(Item::DYE, 3, "Cocoa Beans"));
self::register(new Compass(Item::COMPASS, 0, "Compass"));
self::register(new CookedChicken(Item::COOKED_CHICKEN, 0, "Cooked Chicken"));
self::register(new CookedFish(Item::COOKED_FISH, 0, "Cooked Fish"));
self::register(new CookedMutton(Item::COOKED_MUTTON, 0, "Cooked Mutton"));
self::register(new CookedPorkchop(Item::COOKED_PORKCHOP, 0, "Cooked Porkchop"));
self::register(new CookedRabbit(Item::COOKED_RABBIT, 0, "Cooked Rabbit"));
self::register(new CookedSalmon(Item::COOKED_SALMON, 0, "Cooked Salmon"));
self::register(new Cookie(Item::COOKIE, 0, "Cookie"));
self::register(new DriedKelp(Item::DRIED_KELP, 0, "Dried Kelp"));
self::register(new Egg(Item::EGG, 0, "Egg"));
self::register(new EnderPearl(Item::ENDER_PEARL, 0, "Ender Pearl"));
self::register(new ExperienceBottle(Item::EXPERIENCE_BOTTLE, 0, "Bottle o' Enchanting"));
self::register(new Fertilizer(Item::DYE, 15, "Bone Meal"));
self::register(new FishingRod(Item::FISHING_ROD, 0, "Fishing Rod"));
self::register(new FlintSteel(Item::FLINT_STEEL, 0, "Flint and Steel"));
self::register(new GlassBottle(Item::GLASS_BOTTLE, 0, "Glass Bottle"));
self::register(new GoldenApple(Item::GOLDEN_APPLE, 0, "Golden Apple"));
self::register(new GoldenAppleEnchanted(Item::ENCHANTED_GOLDEN_APPLE, 0, "Enchanted Golden Apple"));
self::register(new GoldenCarrot(Item::GOLDEN_CARROT, 0, "Golden Carrot"));
self::register(new Helmet(Item::CHAIN_HELMET, 0, "Chainmail Helmet", new ArmorTypeInfo(2, 166)));
self::register(new Helmet(Item::DIAMOND_HELMET, 0, "Diamond Helmet", new ArmorTypeInfo(3, 364)));
self::register(new Helmet(Item::GOLDEN_HELMET, 0, "Golden Helmet", new ArmorTypeInfo(2, 78)));
self::register(new Helmet(Item::IRON_HELMET, 0, "Iron Helmet", new ArmorTypeInfo(2, 166)));
self::register(new Helmet(Item::LEATHER_HELMET, 0, "Leather Cap", new ArmorTypeInfo(1, 56)));
self::register(new Hoe(Item::DIAMOND_HOE, "Diamond Hoe", ToolTier::DIAMOND()));
self::register(new Hoe(Item::GOLDEN_HOE, "Golden Hoe", ToolTier::GOLD()));
self::register(new Hoe(Item::IRON_HOE, "Iron Hoe", ToolTier::IRON()));
self::register(new Hoe(Item::STONE_HOE, "Stone Hoe", ToolTier::STONE()));
self::register(new Hoe(Item::WOODEN_HOE, "Wooden Hoe", ToolTier::WOOD()));
self::register(new Item(Item::BLAZE_POWDER, 0, "Blaze Powder"));
self::register(new Item(Item::BLEACH, 0, "Bleach")); //EDU
self::register(new Item(Item::BONE, 0, "Bone"));
self::register(new Item(Item::BRICK, 0, "Brick"));
self::register(new Item(Item::CHORUS_FRUIT_POPPED, 0, "Popped Chorus Fruit"));
self::register(new Item(Item::CLAY_BALL, 0, "Clay"));
self::register(new Item(Item::COMPOUND, 0, "Salt"));
self::register(new Item(Item::COMPOUND, 1, "Sodium Oxide"));
self::register(new Item(Item::COMPOUND, 2, "Sodium Hydroxide"));
self::register(new Item(Item::COMPOUND, 3, "Magnesium Nitrate"));
self::register(new Item(Item::COMPOUND, 4, "Iron Sulphide"));
self::register(new Item(Item::COMPOUND, 5, "Lithium Hydride"));
self::register(new Item(Item::COMPOUND, 6, "Sodium Hydride"));
self::register(new Item(Item::COMPOUND, 7, "Calcium Bromide"));
self::register(new Item(Item::COMPOUND, 8, "Magnesium Oxide"));
self::register(new Item(Item::COMPOUND, 9, "Sodium Acetate"));
self::register(new Item(Item::COMPOUND, 10, "Luminol"));
self::register(new Item(Item::COMPOUND, 11, "Charcoal")); //??? maybe bug
self::register(new Item(Item::COMPOUND, 12, "Sugar")); //??? maybe bug
self::register(new Item(Item::COMPOUND, 13, "Aluminium Oxide"));
self::register(new Item(Item::COMPOUND, 14, "Boron Trioxide"));
self::register(new Item(Item::COMPOUND, 15, "Soap"));
self::register(new Item(Item::COMPOUND, 16, "Polyethylene"));
self::register(new Item(Item::COMPOUND, 17, "Rubbish"));
self::register(new Item(Item::COMPOUND, 18, "Magnesium Salts"));
self::register(new Item(Item::COMPOUND, 19, "Sulphate"));
self::register(new Item(Item::COMPOUND, 20, "Barium Sulphate"));
self::register(new Item(Item::COMPOUND, 21, "Potassium Chloride"));
self::register(new Item(Item::COMPOUND, 22, "Mercuric Chloride"));
self::register(new Item(Item::COMPOUND, 23, "Cerium Chloride"));
self::register(new Item(Item::COMPOUND, 24, "Tungsten Chloride"));
self::register(new Item(Item::COMPOUND, 25, "Calcium Chloride"));
self::register(new Item(Item::COMPOUND, 26, "Water")); //???
self::register(new Item(Item::COMPOUND, 27, "Glue"));
self::register(new Item(Item::COMPOUND, 28, "Hypochlorite"));
self::register(new Item(Item::COMPOUND, 29, "Crude Oil"));
self::register(new Item(Item::COMPOUND, 30, "Latex"));
self::register(new Item(Item::COMPOUND, 31, "Potassium Iodide"));
self::register(new Item(Item::COMPOUND, 32, "Sodium Fluoride"));
self::register(new Item(Item::COMPOUND, 33, "Benzene"));
self::register(new Item(Item::COMPOUND, 34, "Ink"));
self::register(new Item(Item::COMPOUND, 35, "Hydrogen Peroxide"));
self::register(new Item(Item::COMPOUND, 36, "Ammonia"));
self::register(new Item(Item::COMPOUND, 37, "Sodium Hypochlorite"));
self::register(new Item(Item::DIAMOND, 0, "Diamond"));
self::register(new Item(Item::DRAGON_BREATH, 0, "Dragon's Breath"));
self::register(new Item(Item::DYE, 0, "Ink Sac"));
self::register(new Item(Item::DYE, 4, "Lapis Lazuli"));
self::register(new Item(Item::EMERALD, 0, "Emerald"));
self::register(new Item(Item::FEATHER, 0, "Feather"));
self::register(new Item(Item::FERMENTED_SPIDER_EYE, 0, "Fermented Spider Eye"));
self::register(new Item(Item::FLINT, 0, "Flint"));
self::register(new Item(Item::GHAST_TEAR, 0, "Ghast Tear"));
self::register(new Item(Item::GLISTERING_MELON, 0, "Glistering Melon"));
self::register(new Item(Item::GLOWSTONE_DUST, 0, "Glowstone Dust"));
self::register(new Item(Item::GOLD_INGOT, 0, "Gold Ingot"));
self::register(new Item(Item::GOLD_NUGGET, 0, "Gold Nugget"));
self::register(new Item(Item::GUNPOWDER, 0, "Gunpowder"));
self::register(new Item(Item::HEART_OF_THE_SEA, 0, "Heart of the Sea"));
self::register(new Item(Item::IRON_INGOT, 0, "Iron Ingot"));
self::register(new Item(Item::IRON_NUGGET, 0, "Iron Nugget"));
self::register(new Item(Item::LEATHER, 0, "Leather"));
self::register(new Item(Item::MAGMA_CREAM, 0, "Magma Cream"));
self::register(new Item(Item::NAUTILUS_SHELL, 0, "Nautilus Shell"));
self::register(new Item(Item::NETHER_BRICK, 0, "Nether Brick"));
self::register(new Item(Item::NETHER_QUARTZ, 0, "Nether Quartz"));
self::register(new Item(Item::NETHER_STAR, 0, "Nether Star"));
self::register(new Item(Item::PAPER, 0, "Paper"));
self::register(new Item(Item::PRISMARINE_CRYSTALS, 0, "Prismarine Crystals"));
self::register(new Item(Item::PRISMARINE_SHARD, 0, "Prismarine Shard"));
self::register(new Item(Item::RABBIT_FOOT, 0, "Rabbit's Foot"));
self::register(new Item(Item::RABBIT_HIDE, 0, "Rabbit Hide"));
self::register(new Item(Item::SHULKER_SHELL, 0, "Shulker Shell"));
self::register(new Item(Item::SLIME_BALL, 0, "Slimeball"));
self::register(new Item(Item::SUGAR, 0, "Sugar"));
self::register(new Item(Item::TURTLE_SHELL_PIECE, 0, "Scute"));
self::register(new Item(Item::WHEAT, 0, "Wheat"));
self::register(new ItemBlock(BlockLegacyIds::ACACIA_DOOR_BLOCK, 0, Item::ACACIA_DOOR));
self::register(new ItemBlock(BlockLegacyIds::BIRCH_DOOR_BLOCK, 0, Item::BIRCH_DOOR));
self::register(new ItemBlock(BlockLegacyIds::BREWING_STAND_BLOCK, 0, Item::BREWING_STAND));
self::register(new ItemBlock(BlockLegacyIds::CAKE_BLOCK, 0, Item::CAKE));
self::register(new ItemBlock(BlockLegacyIds::CAULDRON_BLOCK, 0, Item::CAULDRON));
self::register(new ItemBlock(BlockLegacyIds::COMPARATOR_BLOCK, 0, Item::COMPARATOR));
self::register(new ItemBlock(BlockLegacyIds::DARK_OAK_DOOR_BLOCK, 0, Item::DARK_OAK_DOOR));
self::register(new ItemBlock(BlockLegacyIds::FLOWER_POT_BLOCK, 0, Item::FLOWER_POT));
self::register(new ItemBlock(BlockLegacyIds::HOPPER_BLOCK, 0, Item::HOPPER));
self::register(new ItemBlock(BlockLegacyIds::IRON_DOOR_BLOCK, 0, Item::IRON_DOOR));
self::register(new ItemBlock(BlockLegacyIds::ITEM_FRAME_BLOCK, 0, Item::ITEM_FRAME));
self::register(new ItemBlock(BlockLegacyIds::JUNGLE_DOOR_BLOCK, 0, Item::JUNGLE_DOOR));
self::register(new ItemBlock(BlockLegacyIds::NETHER_WART_PLANT, 0, Item::NETHER_WART));
self::register(new ItemBlock(BlockLegacyIds::OAK_DOOR_BLOCK, 0, Item::OAK_DOOR));
self::register(new ItemBlock(BlockLegacyIds::REPEATER_BLOCK, 0, Item::REPEATER));
self::register(new ItemBlock(BlockLegacyIds::SPRUCE_DOOR_BLOCK, 0, Item::SPRUCE_DOOR));
self::register(new ItemBlock(BlockLegacyIds::SUGARCANE_BLOCK, 0, Item::SUGARCANE));
self::register(new Leggings(Item::CHAIN_LEGGINGS, 0, "Chainmail Leggings", new ArmorTypeInfo(4, 226)));
self::register(new Leggings(Item::DIAMOND_LEGGINGS, 0, "Diamond Leggings", new ArmorTypeInfo(6, 496)));
self::register(new Leggings(Item::GOLDEN_LEGGINGS, 0, "Golden Leggings", new ArmorTypeInfo(3, 106)));
self::register(new Leggings(Item::IRON_LEGGINGS, 0, "Iron Leggings", new ArmorTypeInfo(5, 226)));
self::register(new Leggings(Item::LEATHER_LEGGINGS, 0, "Leather Pants", new ArmorTypeInfo(2, 76)));
self::register(new Apple(ItemIds::APPLE, 0, "Apple"));
self::register(new Arrow(ItemIds::ARROW, 0, "Arrow"));
self::register(new Axe(ItemIds::DIAMOND_AXE, "Diamond Axe", ToolTier::DIAMOND()));
self::register(new Axe(ItemIds::GOLDEN_AXE, "Golden Axe", ToolTier::GOLD()));
self::register(new Axe(ItemIds::IRON_AXE, "Iron Axe", ToolTier::IRON()));
self::register(new Axe(ItemIds::STONE_AXE, "Stone Axe", ToolTier::STONE()));
self::register(new Axe(ItemIds::WOODEN_AXE, "Wooden Axe", ToolTier::WOOD()));
self::register(new BakedPotato(ItemIds::BAKED_POTATO, 0, "Baked Potato"));
self::register(new Beetroot(ItemIds::BEETROOT, 0, "Beetroot"));
self::register(new BeetrootSeeds(ItemIds::BEETROOT_SEEDS, 0, "Beetroot Seeds"));
self::register(new BeetrootSoup(ItemIds::BEETROOT_SOUP, 0, "Beetroot Soup"));
self::register(new BlazeRod(ItemIds::BLAZE_ROD, 0, "Blaze Rod"));
self::register(new Book(ItemIds::BOOK, 0, "Book"));
self::register(new Boots(ItemIds::CHAIN_BOOTS, 0, "Chainmail Boots", new ArmorTypeInfo(1, 196)));
self::register(new Boots(ItemIds::DIAMOND_BOOTS, 0, "Diamond Boots", new ArmorTypeInfo(3, 430)));
self::register(new Boots(ItemIds::GOLDEN_BOOTS, 0, "Golden Boots", new ArmorTypeInfo(1, 92)));
self::register(new Boots(ItemIds::IRON_BOOTS, 0, "Iron Boots", new ArmorTypeInfo(2, 196)));
self::register(new Boots(ItemIds::LEATHER_BOOTS, 0, "Leather Boots", new ArmorTypeInfo(1, 66)));
self::register(new Bow(ItemIds::BOW, 0, "Bow"));
self::register(new Bowl(ItemIds::BOWL, 0, "Bowl"));
self::register(new Bread(ItemIds::BREAD, 0, "Bread"));
self::register(new Bucket(ItemIds::BUCKET, 0, "Bucket"));
self::register(new Carrot(ItemIds::CARROT, 0, "Carrot"));
self::register(new Chestplate(ItemIds::CHAIN_CHESTPLATE, 0, "Chainmail Chestplate", new ArmorTypeInfo(5, 241)));
self::register(new Chestplate(ItemIds::DIAMOND_CHESTPLATE, 0, "Diamond Chestplate", new ArmorTypeInfo(8, 529)));
self::register(new Chestplate(ItemIds::GOLDEN_CHESTPLATE, 0, "Golden Chestplate", new ArmorTypeInfo(5, 113)));
self::register(new Chestplate(ItemIds::IRON_CHESTPLATE, 0, "Iron Chestplate", new ArmorTypeInfo(6, 241)));
self::register(new Chestplate(ItemIds::LEATHER_CHESTPLATE, 0, "Leather Tunic", new ArmorTypeInfo(3, 81)));
self::register(new ChorusFruit(ItemIds::CHORUS_FRUIT, 0, "Chorus Fruit"));
self::register(new Clock(ItemIds::CLOCK, 0, "Clock"));
self::register(new Clownfish(ItemIds::CLOWNFISH, 0, "Clownfish"));
self::register(new Coal(ItemIds::COAL, 0, "Coal"));
self::register(new Coal(ItemIds::COAL, 1, "Charcoal"));
self::register(new CocoaBeans(ItemIds::DYE, 3, "Cocoa Beans"));
self::register(new Compass(ItemIds::COMPASS, 0, "Compass"));
self::register(new CookedChicken(ItemIds::COOKED_CHICKEN, 0, "Cooked Chicken"));
self::register(new CookedFish(ItemIds::COOKED_FISH, 0, "Cooked Fish"));
self::register(new CookedMutton(ItemIds::COOKED_MUTTON, 0, "Cooked Mutton"));
self::register(new CookedPorkchop(ItemIds::COOKED_PORKCHOP, 0, "Cooked Porkchop"));
self::register(new CookedRabbit(ItemIds::COOKED_RABBIT, 0, "Cooked Rabbit"));
self::register(new CookedSalmon(ItemIds::COOKED_SALMON, 0, "Cooked Salmon"));
self::register(new Cookie(ItemIds::COOKIE, 0, "Cookie"));
self::register(new DriedKelp(ItemIds::DRIED_KELP, 0, "Dried Kelp"));
self::register(new Egg(ItemIds::EGG, 0, "Egg"));
self::register(new EnderPearl(ItemIds::ENDER_PEARL, 0, "Ender Pearl"));
self::register(new ExperienceBottle(ItemIds::EXPERIENCE_BOTTLE, 0, "Bottle o' Enchanting"));
self::register(new Fertilizer(ItemIds::DYE, 15, "Bone Meal"));
self::register(new FishingRod(ItemIds::FISHING_ROD, 0, "Fishing Rod"));
self::register(new FlintSteel(ItemIds::FLINT_STEEL, 0, "Flint and Steel"));
self::register(new GlassBottle(ItemIds::GLASS_BOTTLE, 0, "Glass Bottle"));
self::register(new GoldenApple(ItemIds::GOLDEN_APPLE, 0, "Golden Apple"));
self::register(new GoldenAppleEnchanted(ItemIds::ENCHANTED_GOLDEN_APPLE, 0, "Enchanted Golden Apple"));
self::register(new GoldenCarrot(ItemIds::GOLDEN_CARROT, 0, "Golden Carrot"));
self::register(new Helmet(ItemIds::CHAIN_HELMET, 0, "Chainmail Helmet", new ArmorTypeInfo(2, 166)));
self::register(new Helmet(ItemIds::DIAMOND_HELMET, 0, "Diamond Helmet", new ArmorTypeInfo(3, 364)));
self::register(new Helmet(ItemIds::GOLDEN_HELMET, 0, "Golden Helmet", new ArmorTypeInfo(2, 78)));
self::register(new Helmet(ItemIds::IRON_HELMET, 0, "Iron Helmet", new ArmorTypeInfo(2, 166)));
self::register(new Helmet(ItemIds::LEATHER_HELMET, 0, "Leather Cap", new ArmorTypeInfo(1, 56)));
self::register(new Hoe(ItemIds::DIAMOND_HOE, "Diamond Hoe", ToolTier::DIAMOND()));
self::register(new Hoe(ItemIds::GOLDEN_HOE, "Golden Hoe", ToolTier::GOLD()));
self::register(new Hoe(ItemIds::IRON_HOE, "Iron Hoe", ToolTier::IRON()));
self::register(new Hoe(ItemIds::STONE_HOE, "Stone Hoe", ToolTier::STONE()));
self::register(new Hoe(ItemIds::WOODEN_HOE, "Wooden Hoe", ToolTier::WOOD()));
self::register(new Item(ItemIds::BLAZE_POWDER, 0, "Blaze Powder"));
self::register(new Item(ItemIds::BLEACH, 0, "Bleach")); //EDU
self::register(new Item(ItemIds::BONE, 0, "Bone"));
self::register(new Item(ItemIds::BRICK, 0, "Brick"));
self::register(new Item(ItemIds::CHORUS_FRUIT_POPPED, 0, "Popped Chorus Fruit"));
self::register(new Item(ItemIds::CLAY_BALL, 0, "Clay"));
self::register(new Item(ItemIds::COMPOUND, 0, "Salt"));
self::register(new Item(ItemIds::COMPOUND, 1, "Sodium Oxide"));
self::register(new Item(ItemIds::COMPOUND, 2, "Sodium Hydroxide"));
self::register(new Item(ItemIds::COMPOUND, 3, "Magnesium Nitrate"));
self::register(new Item(ItemIds::COMPOUND, 4, "Iron Sulphide"));
self::register(new Item(ItemIds::COMPOUND, 5, "Lithium Hydride"));
self::register(new Item(ItemIds::COMPOUND, 6, "Sodium Hydride"));
self::register(new Item(ItemIds::COMPOUND, 7, "Calcium Bromide"));
self::register(new Item(ItemIds::COMPOUND, 8, "Magnesium Oxide"));
self::register(new Item(ItemIds::COMPOUND, 9, "Sodium Acetate"));
self::register(new Item(ItemIds::COMPOUND, 10, "Luminol"));
self::register(new Item(ItemIds::COMPOUND, 11, "Charcoal")); //??? maybe bug
self::register(new Item(ItemIds::COMPOUND, 12, "Sugar")); //??? maybe bug
self::register(new Item(ItemIds::COMPOUND, 13, "Aluminium Oxide"));
self::register(new Item(ItemIds::COMPOUND, 14, "Boron Trioxide"));
self::register(new Item(ItemIds::COMPOUND, 15, "Soap"));
self::register(new Item(ItemIds::COMPOUND, 16, "Polyethylene"));
self::register(new Item(ItemIds::COMPOUND, 17, "Rubbish"));
self::register(new Item(ItemIds::COMPOUND, 18, "Magnesium Salts"));
self::register(new Item(ItemIds::COMPOUND, 19, "Sulphate"));
self::register(new Item(ItemIds::COMPOUND, 20, "Barium Sulphate"));
self::register(new Item(ItemIds::COMPOUND, 21, "Potassium Chloride"));
self::register(new Item(ItemIds::COMPOUND, 22, "Mercuric Chloride"));
self::register(new Item(ItemIds::COMPOUND, 23, "Cerium Chloride"));
self::register(new Item(ItemIds::COMPOUND, 24, "Tungsten Chloride"));
self::register(new Item(ItemIds::COMPOUND, 25, "Calcium Chloride"));
self::register(new Item(ItemIds::COMPOUND, 26, "Water")); //???
self::register(new Item(ItemIds::COMPOUND, 27, "Glue"));
self::register(new Item(ItemIds::COMPOUND, 28, "Hypochlorite"));
self::register(new Item(ItemIds::COMPOUND, 29, "Crude Oil"));
self::register(new Item(ItemIds::COMPOUND, 30, "Latex"));
self::register(new Item(ItemIds::COMPOUND, 31, "Potassium Iodide"));
self::register(new Item(ItemIds::COMPOUND, 32, "Sodium Fluoride"));
self::register(new Item(ItemIds::COMPOUND, 33, "Benzene"));
self::register(new Item(ItemIds::COMPOUND, 34, "Ink"));
self::register(new Item(ItemIds::COMPOUND, 35, "Hydrogen Peroxide"));
self::register(new Item(ItemIds::COMPOUND, 36, "Ammonia"));
self::register(new Item(ItemIds::COMPOUND, 37, "Sodium Hypochlorite"));
self::register(new Item(ItemIds::DIAMOND, 0, "Diamond"));
self::register(new Item(ItemIds::DRAGON_BREATH, 0, "Dragon's Breath"));
self::register(new Item(ItemIds::DYE, 0, "Ink Sac"));
self::register(new Item(ItemIds::DYE, 4, "Lapis Lazuli"));
self::register(new Item(ItemIds::EMERALD, 0, "Emerald"));
self::register(new Item(ItemIds::FEATHER, 0, "Feather"));
self::register(new Item(ItemIds::FERMENTED_SPIDER_EYE, 0, "Fermented Spider Eye"));
self::register(new Item(ItemIds::FLINT, 0, "Flint"));
self::register(new Item(ItemIds::GHAST_TEAR, 0, "Ghast Tear"));
self::register(new Item(ItemIds::GLISTERING_MELON, 0, "Glistering Melon"));
self::register(new Item(ItemIds::GLOWSTONE_DUST, 0, "Glowstone Dust"));
self::register(new Item(ItemIds::GOLD_INGOT, 0, "Gold Ingot"));
self::register(new Item(ItemIds::GOLD_NUGGET, 0, "Gold Nugget"));
self::register(new Item(ItemIds::GUNPOWDER, 0, "Gunpowder"));
self::register(new Item(ItemIds::HEART_OF_THE_SEA, 0, "Heart of the Sea"));
self::register(new Item(ItemIds::IRON_INGOT, 0, "Iron Ingot"));
self::register(new Item(ItemIds::IRON_NUGGET, 0, "Iron Nugget"));
self::register(new Item(ItemIds::LEATHER, 0, "Leather"));
self::register(new Item(ItemIds::MAGMA_CREAM, 0, "Magma Cream"));
self::register(new Item(ItemIds::NAUTILUS_SHELL, 0, "Nautilus Shell"));
self::register(new Item(ItemIds::NETHER_BRICK, 0, "Nether Brick"));
self::register(new Item(ItemIds::NETHER_QUARTZ, 0, "Nether Quartz"));
self::register(new Item(ItemIds::NETHER_STAR, 0, "Nether Star"));
self::register(new Item(ItemIds::PAPER, 0, "Paper"));
self::register(new Item(ItemIds::PRISMARINE_CRYSTALS, 0, "Prismarine Crystals"));
self::register(new Item(ItemIds::PRISMARINE_SHARD, 0, "Prismarine Shard"));
self::register(new Item(ItemIds::RABBIT_FOOT, 0, "Rabbit's Foot"));
self::register(new Item(ItemIds::RABBIT_HIDE, 0, "Rabbit Hide"));
self::register(new Item(ItemIds::SHULKER_SHELL, 0, "Shulker Shell"));
self::register(new Item(ItemIds::SLIME_BALL, 0, "Slimeball"));
self::register(new Item(ItemIds::SUGAR, 0, "Sugar"));
self::register(new Item(ItemIds::TURTLE_SHELL_PIECE, 0, "Scute"));
self::register(new Item(ItemIds::WHEAT, 0, "Wheat"));
self::register(new ItemBlock(BlockLegacyIds::ACACIA_DOOR_BLOCK, 0, ItemIds::ACACIA_DOOR));
self::register(new ItemBlock(BlockLegacyIds::BIRCH_DOOR_BLOCK, 0, ItemIds::BIRCH_DOOR));
self::register(new ItemBlock(BlockLegacyIds::BREWING_STAND_BLOCK, 0, ItemIds::BREWING_STAND));
self::register(new ItemBlock(BlockLegacyIds::CAKE_BLOCK, 0, ItemIds::CAKE));
self::register(new ItemBlock(BlockLegacyIds::CAULDRON_BLOCK, 0, ItemIds::CAULDRON));
self::register(new ItemBlock(BlockLegacyIds::COMPARATOR_BLOCK, 0, ItemIds::COMPARATOR));
self::register(new ItemBlock(BlockLegacyIds::DARK_OAK_DOOR_BLOCK, 0, ItemIds::DARK_OAK_DOOR));
self::register(new ItemBlock(BlockLegacyIds::FLOWER_POT_BLOCK, 0, ItemIds::FLOWER_POT));
self::register(new ItemBlock(BlockLegacyIds::HOPPER_BLOCK, 0, ItemIds::HOPPER));
self::register(new ItemBlock(BlockLegacyIds::IRON_DOOR_BLOCK, 0, ItemIds::IRON_DOOR));
self::register(new ItemBlock(BlockLegacyIds::ITEM_FRAME_BLOCK, 0, ItemIds::ITEM_FRAME));
self::register(new ItemBlock(BlockLegacyIds::JUNGLE_DOOR_BLOCK, 0, ItemIds::JUNGLE_DOOR));
self::register(new ItemBlock(BlockLegacyIds::NETHER_WART_PLANT, 0, ItemIds::NETHER_WART));
self::register(new ItemBlock(BlockLegacyIds::OAK_DOOR_BLOCK, 0, ItemIds::OAK_DOOR));
self::register(new ItemBlock(BlockLegacyIds::REPEATER_BLOCK, 0, ItemIds::REPEATER));
self::register(new ItemBlock(BlockLegacyIds::SPRUCE_DOOR_BLOCK, 0, ItemIds::SPRUCE_DOOR));
self::register(new ItemBlock(BlockLegacyIds::SUGARCANE_BLOCK, 0, ItemIds::SUGARCANE));
self::register(new Leggings(ItemIds::CHAIN_LEGGINGS, 0, "Chainmail Leggings", new ArmorTypeInfo(4, 226)));
self::register(new Leggings(ItemIds::DIAMOND_LEGGINGS, 0, "Diamond Leggings", new ArmorTypeInfo(6, 496)));
self::register(new Leggings(ItemIds::GOLDEN_LEGGINGS, 0, "Golden Leggings", new ArmorTypeInfo(3, 106)));
self::register(new Leggings(ItemIds::IRON_LEGGINGS, 0, "Iron Leggings", new ArmorTypeInfo(5, 226)));
self::register(new Leggings(ItemIds::LEATHER_LEGGINGS, 0, "Leather Pants", new ArmorTypeInfo(2, 76)));
//TODO: fix metadata for buckets with still liquid in them
//the meta values are intentionally hardcoded because block IDs will change in the future
self::register(new LiquidBucket(Item::BUCKET, 8, "Water Bucket", VanillaBlocks::WATER()));
self::register(new LiquidBucket(Item::BUCKET, 10, "Lava Bucket", VanillaBlocks::LAVA()));
self::register(new Melon(Item::MELON, 0, "Melon"));
self::register(new MelonSeeds(Item::MELON_SEEDS, 0, "Melon Seeds"));
self::register(new MilkBucket(Item::BUCKET, 1, "Milk Bucket"));
self::register(new Minecart(Item::MINECART, 0, "Minecart"));
self::register(new MushroomStew(Item::MUSHROOM_STEW, 0, "Mushroom Stew"));
self::register(new PaintingItem(Item::PAINTING, 0, "Painting"));
self::register(new Pickaxe(Item::DIAMOND_PICKAXE, "Diamond Pickaxe", ToolTier::DIAMOND()));
self::register(new Pickaxe(Item::GOLDEN_PICKAXE, "Golden Pickaxe", ToolTier::GOLD()));
self::register(new Pickaxe(Item::IRON_PICKAXE, "Iron Pickaxe", ToolTier::IRON()));
self::register(new Pickaxe(Item::STONE_PICKAXE, "Stone Pickaxe", ToolTier::STONE()));
self::register(new Pickaxe(Item::WOODEN_PICKAXE, "Wooden Pickaxe", ToolTier::WOOD()));
self::register(new PoisonousPotato(Item::POISONOUS_POTATO, 0, "Poisonous Potato"));
self::register(new Potato(Item::POTATO, 0, "Potato"));
self::register(new Pufferfish(Item::PUFFERFISH, 0, "Pufferfish"));
self::register(new PumpkinPie(Item::PUMPKIN_PIE, 0, "Pumpkin Pie"));
self::register(new PumpkinSeeds(Item::PUMPKIN_SEEDS, 0, "Pumpkin Seeds"));
self::register(new RabbitStew(Item::RABBIT_STEW, 0, "Rabbit Stew"));
self::register(new RawBeef(Item::RAW_BEEF, 0, "Raw Beef"));
self::register(new RawChicken(Item::RAW_CHICKEN, 0, "Raw Chicken"));
self::register(new RawFish(Item::RAW_FISH, 0, "Raw Fish"));
self::register(new RawMutton(Item::RAW_MUTTON, 0, "Raw Mutton"));
self::register(new RawPorkchop(Item::RAW_PORKCHOP, 0, "Raw Porkchop"));
self::register(new RawRabbit(Item::RAW_RABBIT, 0, "Raw Rabbit"));
self::register(new RawSalmon(Item::RAW_SALMON, 0, "Raw Salmon"));
self::register(new Redstone(Item::REDSTONE, 0, "Redstone"));
self::register(new RottenFlesh(Item::ROTTEN_FLESH, 0, "Rotten Flesh"));
self::register(new Shears(Item::SHEARS, 0, "Shears"));
self::register(new Shovel(Item::DIAMOND_SHOVEL, "Diamond Shovel", ToolTier::DIAMOND()));
self::register(new Shovel(Item::GOLDEN_SHOVEL, "Golden Shovel", ToolTier::GOLD()));
self::register(new Shovel(Item::IRON_SHOVEL, "Iron Shovel", ToolTier::IRON()));
self::register(new Shovel(Item::STONE_SHOVEL, "Stone Shovel", ToolTier::STONE()));
self::register(new Shovel(Item::WOODEN_SHOVEL, "Wooden Shovel", ToolTier::WOOD()));
self::register(new Sign(BlockLegacyIds::STANDING_SIGN, 0, Item::SIGN));
self::register(new Sign(BlockLegacyIds::SPRUCE_STANDING_SIGN, 0, Item::SPRUCE_SIGN));
self::register(new Sign(BlockLegacyIds::BIRCH_STANDING_SIGN, 0, Item::BIRCH_SIGN));
self::register(new Sign(BlockLegacyIds::JUNGLE_STANDING_SIGN, 0, Item::JUNGLE_SIGN));
self::register(new Sign(BlockLegacyIds::ACACIA_STANDING_SIGN, 0, Item::ACACIA_SIGN));
self::register(new Sign(BlockLegacyIds::DARKOAK_STANDING_SIGN, 0, Item::DARKOAK_SIGN));
self::register(new Snowball(Item::SNOWBALL, 0, "Snowball"));
self::register(new SpiderEye(Item::SPIDER_EYE, 0, "Spider Eye"));
self::register(new Steak(Item::STEAK, 0, "Steak"));
self::register(new Stick(Item::STICK, 0, "Stick"));
self::register(new StringItem(Item::STRING, 0, "String"));
self::register(new Sword(Item::DIAMOND_SWORD, "Diamond Sword", ToolTier::DIAMOND()));
self::register(new Sword(Item::GOLDEN_SWORD, "Golden Sword", ToolTier::GOLD()));
self::register(new Sword(Item::IRON_SWORD, "Iron Sword", ToolTier::IRON()));
self::register(new Sword(Item::STONE_SWORD, "Stone Sword", ToolTier::STONE()));
self::register(new Sword(Item::WOODEN_SWORD, "Wooden Sword", ToolTier::WOOD()));
self::register(new Totem(Item::TOTEM, 0, "Totem of Undying"));
self::register(new WheatSeeds(Item::WHEAT_SEEDS, 0, "Wheat Seeds"));
self::register(new WritableBook(Item::WRITABLE_BOOK, 0, "Book & Quill"));
self::register(new WrittenBook(Item::WRITTEN_BOOK, 0, "Written Book"));
self::register(new LiquidBucket(ItemIds::BUCKET, 8, "Water Bucket", VanillaBlocks::WATER()));
self::register(new LiquidBucket(ItemIds::BUCKET, 10, "Lava Bucket", VanillaBlocks::LAVA()));
self::register(new Melon(ItemIds::MELON, 0, "Melon"));
self::register(new MelonSeeds(ItemIds::MELON_SEEDS, 0, "Melon Seeds"));
self::register(new MilkBucket(ItemIds::BUCKET, 1, "Milk Bucket"));
self::register(new Minecart(ItemIds::MINECART, 0, "Minecart"));
self::register(new MushroomStew(ItemIds::MUSHROOM_STEW, 0, "Mushroom Stew"));
self::register(new PaintingItem(ItemIds::PAINTING, 0, "Painting"));
self::register(new Pickaxe(ItemIds::DIAMOND_PICKAXE, "Diamond Pickaxe", ToolTier::DIAMOND()));
self::register(new Pickaxe(ItemIds::GOLDEN_PICKAXE, "Golden Pickaxe", ToolTier::GOLD()));
self::register(new Pickaxe(ItemIds::IRON_PICKAXE, "Iron Pickaxe", ToolTier::IRON()));
self::register(new Pickaxe(ItemIds::STONE_PICKAXE, "Stone Pickaxe", ToolTier::STONE()));
self::register(new Pickaxe(ItemIds::WOODEN_PICKAXE, "Wooden Pickaxe", ToolTier::WOOD()));
self::register(new PoisonousPotato(ItemIds::POISONOUS_POTATO, 0, "Poisonous Potato"));
self::register(new Potato(ItemIds::POTATO, 0, "Potato"));
self::register(new Pufferfish(ItemIds::PUFFERFISH, 0, "Pufferfish"));
self::register(new PumpkinPie(ItemIds::PUMPKIN_PIE, 0, "Pumpkin Pie"));
self::register(new PumpkinSeeds(ItemIds::PUMPKIN_SEEDS, 0, "Pumpkin Seeds"));
self::register(new RabbitStew(ItemIds::RABBIT_STEW, 0, "Rabbit Stew"));
self::register(new RawBeef(ItemIds::RAW_BEEF, 0, "Raw Beef"));
self::register(new RawChicken(ItemIds::RAW_CHICKEN, 0, "Raw Chicken"));
self::register(new RawFish(ItemIds::RAW_FISH, 0, "Raw Fish"));
self::register(new RawMutton(ItemIds::RAW_MUTTON, 0, "Raw Mutton"));
self::register(new RawPorkchop(ItemIds::RAW_PORKCHOP, 0, "Raw Porkchop"));
self::register(new RawRabbit(ItemIds::RAW_RABBIT, 0, "Raw Rabbit"));
self::register(new RawSalmon(ItemIds::RAW_SALMON, 0, "Raw Salmon"));
self::register(new Redstone(ItemIds::REDSTONE, 0, "Redstone"));
self::register(new RottenFlesh(ItemIds::ROTTEN_FLESH, 0, "Rotten Flesh"));
self::register(new Shears(ItemIds::SHEARS, 0, "Shears"));
self::register(new Shovel(ItemIds::DIAMOND_SHOVEL, "Diamond Shovel", ToolTier::DIAMOND()));
self::register(new Shovel(ItemIds::GOLDEN_SHOVEL, "Golden Shovel", ToolTier::GOLD()));
self::register(new Shovel(ItemIds::IRON_SHOVEL, "Iron Shovel", ToolTier::IRON()));
self::register(new Shovel(ItemIds::STONE_SHOVEL, "Stone Shovel", ToolTier::STONE()));
self::register(new Shovel(ItemIds::WOODEN_SHOVEL, "Wooden Shovel", ToolTier::WOOD()));
self::register(new Sign(BlockLegacyIds::STANDING_SIGN, 0, ItemIds::SIGN));
self::register(new Sign(BlockLegacyIds::SPRUCE_STANDING_SIGN, 0, ItemIds::SPRUCE_SIGN));
self::register(new Sign(BlockLegacyIds::BIRCH_STANDING_SIGN, 0, ItemIds::BIRCH_SIGN));
self::register(new Sign(BlockLegacyIds::JUNGLE_STANDING_SIGN, 0, ItemIds::JUNGLE_SIGN));
self::register(new Sign(BlockLegacyIds::ACACIA_STANDING_SIGN, 0, ItemIds::ACACIA_SIGN));
self::register(new Sign(BlockLegacyIds::DARKOAK_STANDING_SIGN, 0, ItemIds::DARKOAK_SIGN));
self::register(new Snowball(ItemIds::SNOWBALL, 0, "Snowball"));
self::register(new SpiderEye(ItemIds::SPIDER_EYE, 0, "Spider Eye"));
self::register(new Steak(ItemIds::STEAK, 0, "Steak"));
self::register(new Stick(ItemIds::STICK, 0, "Stick"));
self::register(new StringItem(ItemIds::STRING, 0, "String"));
self::register(new Sword(ItemIds::DIAMOND_SWORD, "Diamond Sword", ToolTier::DIAMOND()));
self::register(new Sword(ItemIds::GOLDEN_SWORD, "Golden Sword", ToolTier::GOLD()));
self::register(new Sword(ItemIds::IRON_SWORD, "Iron Sword", ToolTier::IRON()));
self::register(new Sword(ItemIds::STONE_SWORD, "Stone Sword", ToolTier::STONE()));
self::register(new Sword(ItemIds::WOODEN_SWORD, "Wooden Sword", ToolTier::WOOD()));
self::register(new Totem(ItemIds::TOTEM, 0, "Totem of Undying"));
self::register(new WheatSeeds(ItemIds::WHEAT_SEEDS, 0, "Wheat Seeds"));
self::register(new WritableBook(ItemIds::WRITABLE_BOOK, 0, "Book & Quill"));
self::register(new WrittenBook(ItemIds::WRITTEN_BOOK, 0, "Written Book"));
foreach(SkullType::getAll() as $skullType){
self::register(new Skull(Item::SKULL, $skullType->getMagicNumber(), $skullType->getDisplayName(), $skullType));
self::register(new Skull(ItemIds::SKULL, $skullType->getMagicNumber(), $skullType->getDisplayName(), $skullType));
}
/** @var int[]|\SplObjectStorage $dyeMap */
@ -287,25 +287,25 @@ class ItemFactory{
foreach(DyeColor::getAll() as $color){
//TODO: use colour object directly
//TODO: add interface to dye-colour objects
self::register(new Dye(Item::DYE, $dyeMap[$color] ?? $color->getInvertedMagicNumber(), $color->getDisplayName() . " Dye", $color));
self::register(new Bed(Item::BED, $color->getMagicNumber(), $color->getDisplayName() . " Bed", $color));
self::register(new Banner(Item::BANNER, $color->getInvertedMagicNumber(), $color->getDisplayName() . " Banner", $color));
self::register(new Dye(ItemIds::DYE, $dyeMap[$color] ?? $color->getInvertedMagicNumber(), $color->getDisplayName() . " Dye", $color));
self::register(new Bed(ItemIds::BED, $color->getMagicNumber(), $color->getDisplayName() . " Bed", $color));
self::register(new Banner(ItemIds::BANNER, $color->getInvertedMagicNumber(), $color->getDisplayName() . " Banner", $color));
}
foreach(Potion::ALL as $type){
self::register(new Potion(Item::POTION, $type, "Potion"));
self::register(new SplashPotion(Item::SPLASH_POTION, $type, "Splash Potion"));
self::register(new Potion(ItemIds::POTION, $type, "Potion"));
self::register(new SplashPotion(ItemIds::SPLASH_POTION, $type, "Splash Potion"));
}
foreach(EntityFactory::getKnownTypes() as $className){
/** @var Living|string $className */
if(is_a($className, Living::class, true) and $className::NETWORK_ID !== -1){
self::register(new SpawnEgg(Item::SPAWN_EGG, $className::NETWORK_ID, "Spawn Egg", $className));
self::register(new SpawnEgg(ItemIds::SPAWN_EGG, $className::NETWORK_ID, "Spawn Egg", $className));
}
}
foreach(TreeType::getAll() as $type){
self::register(new Boat(Item::BOAT, $type->getMagicNumber(), $type->getDisplayName() . " Boat", $type));
self::register(new Boat(ItemIds::BOAT, $type->getMagicNumber(), $type->getDisplayName() . " Boat", $type));
}
//region --- auto-generated TODOs ---

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\inventory;
use PHPUnit\Framework\TestCase;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\ItemIds;
class BaseInventoryTest extends TestCase{
@ -37,8 +37,8 @@ class BaseInventoryTest extends TestCase{
$inv = new class(1) extends BaseInventory{
};
$item1 = ItemFactory::get(Item::ARROW, 0, 1);
$item2 = ItemFactory::get(Item::ARROW, 0, 1)->setCustomName("TEST");
$item1 = ItemFactory::get(ItemIds::ARROW, 0, 1);
$item2 = ItemFactory::get(ItemIds::ARROW, 0, 1)->setCustomName("TEST");
$inv->addItem(clone $item1);
self::assertFalse($inv->canAddItem($item2), "Item WITHOUT userdata should not stack with item WITH userdata");

View File

@ -71,10 +71,10 @@ class ItemFactoryTest extends TestCase{
* Test that durable items are correctly created by the item factory
*/
public function testGetDurableItem() : void{
self::assertInstanceOf(Sword::class, $i1 = ItemFactory::get(Item::WOODEN_SWORD));
self::assertInstanceOf(Sword::class, $i1 = ItemFactory::get(ItemIds::WOODEN_SWORD));
/** @var Sword $i1 */
self::assertSame(0, $i1->getDamage());
self::assertInstanceOf(Sword::class, $i2 = ItemFactory::get(Item::WOODEN_SWORD, 1));
self::assertInstanceOf(Sword::class, $i2 = ItemFactory::get(ItemIds::WOODEN_SWORD, 1));
/** @var Sword $i2 */
self::assertSame(1, $i2->getDamage());
}

View File

@ -40,14 +40,14 @@ class ItemTest extends TestCase{
private $item;
public function setUp() : void{
$this->item = ItemFactory::get(Item::DIAMOND_SWORD);
$this->item = ItemFactory::get(ItemIds::DIAMOND_SWORD);
}
/**
* Test for issue #1145 (items aren't considered equal after NBT serializing and deserializing
*/
public function testItemEquals() : void{
$item = ItemFactory::get(Item::STONE)->setCustomName("HI");
$item = ItemFactory::get(ItemIds::STONE)->setCustomName("HI");
$item2 = Item::nbtDeserialize($item->nbtSerialize());
self::assertTrue($item2->equals($item));
self::assertTrue($item->equals($item2));
@ -57,7 +57,7 @@ class ItemTest extends TestCase{
* Test that same items without NBT are considered equal
*/
public function testItemEqualsNoNbt() : void{
$item1 = ItemFactory::get(Item::DIAMOND_SWORD);
$item1 = ItemFactory::get(ItemIds::DIAMOND_SWORD);
$item2 = clone $item1;
self::assertTrue($item1->equals($item2));
}
@ -69,7 +69,7 @@ class ItemTest extends TestCase{
public function testItemPersistsDisplayProperties() : void{
$lore = ["Line A", "Line B"];
$name = "HI";
$item = ItemFactory::get(Item::DIAMOND_SWORD);
$item = ItemFactory::get(ItemIds::DIAMOND_SWORD);
$item->setCustomName($name);
$item->setLore($lore);
$item = Item::nbtDeserialize($item->nbtSerialize());