added VanillaItems static interface and start using it where possible

This commit is contained in:
Dylan K. Taylor 2019-07-10 14:44:55 +01:00
parent e8fe3d0664
commit 39bcd2ec3d
39 changed files with 672 additions and 88 deletions

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class Beetroot extends Crops{ class Beetroot extends Crops{
@ -32,17 +32,17 @@ class Beetroot extends Crops{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
if($this->age >= 7){ if($this->age >= 7){
return [ return [
ItemFactory::get(Item::BEETROOT), VanillaItems::BEETROOT(),
ItemFactory::get(Item::BEETROOT_SEEDS, 0, mt_rand(0, 3)) VanillaItems::BEETROOT_SEEDS()->setCount(mt_rand(0, 3))
]; ];
} }
return [ return [
ItemFactory::get(Item::BEETROOT_SEEDS) VanillaItems::BEETROOT_SEEDS()
]; ];
} }
public function getPickedItem(bool $addUserData = false) : Item{ public function getPickedItem(bool $addUserData = false) : Item{
return ItemFactory::get(Item::BEETROOT_SEEDS); return VanillaItems::BEETROOT_SEEDS();
} }
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
class Bookshelf extends Solid{ class Bookshelf extends Solid{
@ -34,7 +34,7 @@ class Bookshelf extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::BOOK, 0, 3) VanillaItems::BOOK()
]; ];
} }

View File

@ -24,18 +24,18 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class Carrot extends Crops{ class Carrot extends Crops{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::CARROT, 0, $this->age >= 7 ? mt_rand(1, 4) : 1) VanillaItems::CARROT()->setCount($this->age >= 7 ? mt_rand(1, 4) : 1)
]; ];
} }
public function getPickedItem(bool $addUserData = false) : Item{ public function getPickedItem(bool $addUserData = false) : Item{
return ItemFactory::get(Item::CARROT); return VanillaItems::CARROT();
} }
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
class Clay extends Solid{ class Clay extends Solid{
@ -34,7 +34,7 @@ class Clay extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::CLAY_BALL, 0, 4) VanillaItems::CLAY()->setCount(4)
]; ];
} }
} }

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class CoalOre extends Solid{ class CoalOre extends Solid{
@ -36,7 +36,7 @@ class CoalOre extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::COAL) VanillaItems::COAL()
]; ];
} }

View File

@ -25,7 +25,7 @@ namespace pocketmine\block;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
class Cobweb extends Flowable{ class Cobweb extends Flowable{
@ -43,7 +43,7 @@ class Cobweb extends Flowable{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::STRING) VanillaItems::STRING()
]; ];
} }

View File

@ -27,7 +27,7 @@ use pocketmine\block\utils\BlockDataValidator;
use pocketmine\block\utils\TreeType; use pocketmine\block\utils\TreeType;
use pocketmine\item\Fertilizer; use pocketmine\item\Fertilizer;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use pocketmine\math\AxisAlignedBB; use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Bearing; use pocketmine\math\Bearing;
use pocketmine\math\Facing; use pocketmine\math\Facing;
@ -115,11 +115,11 @@ class CocoaBlock extends Transparent{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::DYE, 3, $this->age === 2 ? mt_rand(2, 3) : 1) VanillaItems::COCOA_BEANS()->setCount($this->age === 2 ? mt_rand(2, 3) : 1)
]; ];
} }
public function getPickedItem(bool $addUserData = false) : Item{ public function getPickedItem(bool $addUserData = false) : Item{
return ItemFactory::get(Item::DYE, 3); //cocoa beans return VanillaItems::COCOA_BEANS();
} }
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use pocketmine\math\Facing; use pocketmine\math\Facing;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
@ -54,7 +54,7 @@ class DeadBush extends Flowable{
public function getDrops(Item $item) : array{ public function getDrops(Item $item) : array{
if(!$this->breakInfo->isToolCompatible($item)){ if(!$this->breakInfo->isToolCompatible($item)){
return [ return [
ItemFactory::get(Item::STICK, 0, mt_rand(0, 2)) VanillaItems::STICK()->setCount(mt_rand(0, 2))
]; ];
} }

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class DiamondOre extends Solid{ class DiamondOre extends Solid{
@ -36,7 +36,7 @@ class DiamondOre extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::DIAMOND) VanillaItems::DIAMOND()
]; ];
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class DoubleTallGrass extends DoublePlant{ class DoubleTallGrass extends DoublePlant{
@ -40,7 +40,7 @@ class DoubleTallGrass extends DoublePlant{
public function getDrops(Item $item) : array{ public function getDrops(Item $item) : array{
if($this->top and !$this->breakInfo->isToolCompatible($item) and mt_rand(0, 7) === 0){ if($this->top and !$this->breakInfo->isToolCompatible($item) and mt_rand(0, 7) === 0){
return [ return [
ItemFactory::get(Item::SEEDS) VanillaItems::WHEAT_SEEDS()
]; ];
} }
return parent::getDrops($item); return parent::getDrops($item);

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class EmeraldOre extends Solid{ class EmeraldOre extends Solid{
@ -36,7 +36,7 @@ class EmeraldOre extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::EMERALD) VanillaItems::EMERALD()
]; ];
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class Glowstone extends Transparent{ class Glowstone extends Transparent{
@ -39,7 +39,7 @@ class Glowstone extends Transparent{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::GLOWSTONE_DUST, 0, mt_rand(2, 4)) VanillaItems::GLOWSTONE_DUST()->setCount(mt_rand(2, 4))
]; ];
} }
} }

View File

@ -26,7 +26,7 @@ namespace pocketmine\block;
use pocketmine\block\utils\Fallable; use pocketmine\block\utils\Fallable;
use pocketmine\block\utils\FallableTrait; use pocketmine\block\utils\FallableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class Gravel extends Solid implements Fallable{ class Gravel extends Solid implements Fallable{
@ -39,7 +39,7 @@ class Gravel extends Solid implements Fallable{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
if(mt_rand(1, 10) === 1){ if(mt_rand(1, 10) === 1){
return [ return [
ItemFactory::get(Item::FLINT) VanillaItems::FLINT()
]; ];
} }

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class LapisOre extends Solid{ class LapisOre extends Solid{
@ -36,7 +36,7 @@ class LapisOre extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::DYE, 4, mt_rand(4, 8)) VanillaItems::LAPIS_LAZULI()->setCount(mt_rand(4, 8))
]; ];
} }

View File

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

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class Melon extends Transparent{ class Melon extends Transparent{
@ -35,7 +35,7 @@ class Melon extends Transparent{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::MELON_SLICE, 0, mt_rand(3, 7)) VanillaItems::MELON()->setCount(mt_rand(3, 7))
]; ];
} }
} }

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class NetherQuartzOre extends Solid{ class NetherQuartzOre extends Solid{
@ -36,7 +36,7 @@ class NetherQuartzOre extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::QUARTZ) VanillaItems::NETHER_QUARTZ()
]; ];
} }

View File

@ -25,8 +25,8 @@ namespace pocketmine\block;
use pocketmine\block\utils\BlockDataValidator; use pocketmine\block\utils\BlockDataValidator;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
class NetherReactor extends Solid{ class NetherReactor extends Solid{
@ -51,8 +51,8 @@ class NetherReactor extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::IRON_INGOT, 0, 6), VanillaItems::IRON_INGOT()->setCount(6),
ItemFactory::get(Item::DIAMOND, 0, 3) VanillaItems::DIAMOND()->setCount(3)
]; ];
} }
} }

View File

@ -24,18 +24,18 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class Potato extends Crops{ class Potato extends Crops{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::POTATO, 0, $this->age >= 7 ? mt_rand(1, 4) : 1) VanillaItems::POTATO()->setCount($this->age >= 7 ? mt_rand(1, 4) : 1)
]; ];
} }
public function getPickedItem(bool $addUserData = false) : Item{ public function getPickedItem(bool $addUserData = false) : Item{
return ItemFactory::get(Item::POTATO); return VanillaItems::POTATO();
} }
} }

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
use function mt_rand; use function mt_rand;
@ -95,7 +95,7 @@ class RedstoneOre extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::REDSTONE_DUST, 0, mt_rand(4, 5)) VanillaItems::REDSTONE_DUST()->setCount(mt_rand(4, 5))
]; ];
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
class SeaLantern extends Transparent{ class SeaLantern extends Transparent{
@ -38,7 +38,7 @@ class SeaLantern extends Transparent{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::PRISMARINE_CRYSTALS, 0, 3) VanillaItems::PRISMARINE_CRYSTALS()->setCount(3)
]; ];
} }
} }

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
class Snow extends Solid{ class Snow extends Solid{
@ -35,7 +35,7 @@ class Snow extends Solid{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::SNOWBALL, 0, 4) VanillaItems::SNOWBALL()->setCount(4)
]; ];
} }
} }

View File

@ -27,8 +27,8 @@ use pocketmine\block\utils\BlockDataValidator;
use pocketmine\block\utils\Fallable; use pocketmine\block\utils\Fallable;
use pocketmine\block\utils\FallableTrait; use pocketmine\block\utils\FallableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool; use pocketmine\item\TieredTool;
use pocketmine\item\VanillaItems;
use pocketmine\math\AxisAlignedBB; use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing; use pocketmine\math\Facing;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
@ -99,7 +99,7 @@ class SnowLayer extends Flowable implements Fallable{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
return [ return [
ItemFactory::get(Item::SNOWBALL, 0, max(1, (int) floor($this->layers / 2))) VanillaItems::SNOWBALL()->setCount(max(1, (int) floor($this->layers / 2)))
]; ];
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use pocketmine\math\Facing; use pocketmine\math\Facing;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
@ -63,7 +63,7 @@ class TallGrass extends Flowable{
if(mt_rand(0, 15) === 0){ if(mt_rand(0, 15) === 0){
return [ return [
ItemFactory::get(Item::WHEAT_SEEDS) VanillaItems::WHEAT_SEEDS()
]; ];
} }

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\VanillaItems;
use function mt_rand; use function mt_rand;
class Wheat extends Crops{ class Wheat extends Crops{
@ -32,17 +32,17 @@ class Wheat extends Crops{
public function getDropsForCompatibleTool(Item $item) : array{ public function getDropsForCompatibleTool(Item $item) : array{
if($this->age >= 7){ if($this->age >= 7){
return [ return [
ItemFactory::get(Item::WHEAT), VanillaItems::WHEAT(),
ItemFactory::get(Item::WHEAT_SEEDS, 0, mt_rand(0, 3)) VanillaItems::WHEAT_SEEDS()->setCount(mt_rand(0, 3))
]; ];
}else{ }else{
return [ return [
ItemFactory::get(Item::WHEAT_SEEDS) VanillaItems::WHEAT_SEEDS()
]; ];
} }
} }
public function getPickedItem(bool $addUserData = false) : Item{ public function getPickedItem(bool $addUserData = false) : Item{
return ItemFactory::get(Item::WHEAT_SEEDS); return VanillaItems::WHEAT_SEEDS();
} }
} }

View File

@ -26,8 +26,8 @@ namespace pocketmine\command\defaults;
use pocketmine\block\BlockFactory; use pocketmine\block\BlockFactory;
use pocketmine\command\CommandSender; use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException; use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\ItemFactory;
use pocketmine\item\VanillaItems;
use pocketmine\lang\TranslationContainer; use pocketmine\lang\TranslationContainer;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
@ -180,9 +180,9 @@ class ParticleCommand extends VanillaCommand{
case "reddust": case "reddust":
return new RedstoneParticle($data ?? 1); return new RedstoneParticle($data ?? 1);
case "snowballpoof": case "snowballpoof":
return new ItemBreakParticle(ItemFactory::get(Item::SNOWBALL)); return new ItemBreakParticle(VanillaItems::SNOWBALL());
case "slime": case "slime":
return new ItemBreakParticle(ItemFactory::get(Item::SLIMEBALL)); return new ItemBreakParticle(VanillaItems::SLIMEBALL());
case "itembreak": case "itembreak":
if($data !== null and $data !== 0){ if($data !== null and $data !== 0){
return new ItemBreakParticle(ItemFactory::get($data)); return new ItemBreakParticle(ItemFactory::get($data));

View File

@ -25,8 +25,7 @@ namespace pocketmine\entity;
use pocketmine\event\entity\EntityDamageByEntityEvent; use pocketmine\event\entity\EntityDamageByEntityEvent;
use pocketmine\event\entity\EntityDamageEvent; use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\item\Item; use pocketmine\item\VanillaItems;
use pocketmine\item\ItemFactory;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\nbt\tag\CompoundTag; use pocketmine\nbt\tag\CompoundTag;
use pocketmine\network\mcpe\protocol\EntityEventPacket; use pocketmine\network\mcpe\protocol\EntityEventPacket;
@ -121,7 +120,7 @@ class Squid extends WaterAnimal{
public function getDrops() : array{ public function getDrops() : array{
return [ return [
ItemFactory::get(Item::DYE, 0, mt_rand(1, 3)) VanillaItems::INK_SAC()->setCount(mt_rand(1, 3))
]; ];
} }
} }

View File

@ -23,8 +23,7 @@ declare(strict_types=1);
namespace pocketmine\entity; namespace pocketmine\entity;
use pocketmine\item\Item; use pocketmine\item\VanillaItems;
use pocketmine\item\ItemFactory;
use function mt_rand; use function mt_rand;
class Zombie extends Living{ class Zombie extends Living{
@ -39,19 +38,19 @@ class Zombie extends Living{
public function getDrops() : array{ public function getDrops() : array{
$drops = [ $drops = [
ItemFactory::get(Item::ROTTEN_FLESH, 0, mt_rand(0, 2)) VanillaItems::ROTTEN_FLESH()->setCount(mt_rand(0, 2))
]; ];
if(mt_rand(0, 199) < 5){ if(mt_rand(0, 199) < 5){
switch(mt_rand(0, 2)){ switch(mt_rand(0, 2)){
case 0: case 0:
$drops[] = ItemFactory::get(Item::IRON_INGOT, 0, 1); $drops[] = VanillaItems::IRON_INGOT();
break; break;
case 1: case 1:
$drops[] = ItemFactory::get(Item::CARROT, 0, 1); $drops[] = VanillaItems::CARROT();
break; break;
case 2: case 2:
$drops[] = ItemFactory::get(Item::POTATO, 0, 1); $drops[] = VanillaItems::POTATO();
break; break;
} }
} }

View File

@ -26,8 +26,7 @@ namespace pocketmine\entity\object;
use pocketmine\block\VanillaBlocks; use pocketmine\block\VanillaBlocks;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\entity\EntityDamageByEntityEvent; use pocketmine\event\entity\EntityDamageByEntityEvent;
use pocketmine\item\Item; use pocketmine\item\VanillaItems;
use pocketmine\item\ItemFactory;
use pocketmine\math\AxisAlignedBB; use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Bearing; use pocketmine\math\Bearing;
use pocketmine\math\Facing; use pocketmine\math\Facing;
@ -106,7 +105,7 @@ class Painting extends Entity{
if($drops){ if($drops){
//non-living entities don't have a way to create drops generically yet //non-living entities don't have a way to create drops generically yet
$this->world->dropItem($this, ItemFactory::get(Item::PAINTING)); $this->world->dropItem($this, VanillaItems::PAINTING());
} }
$this->world->addParticle($this->add(0.5, 0.5, 0.5), new DestroyBlockParticle(VanillaBlocks::OAK_PLANKS())); $this->world->addParticle($this->add(0.5, 0.5, 0.5), new DestroyBlockParticle(VanillaBlocks::OAK_PLANKS()));
} }

View File

@ -27,8 +27,7 @@ use pocketmine\block\Block;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\entity\ProjectileHitEvent; use pocketmine\event\entity\ProjectileHitEvent;
use pocketmine\event\inventory\InventoryPickupArrowEvent; use pocketmine\event\inventory\InventoryPickupArrowEvent;
use pocketmine\item\Item; use pocketmine\item\VanillaItems;
use pocketmine\item\ItemFactory;
use pocketmine\math\RayTraceResult; use pocketmine\math\RayTraceResult;
use pocketmine\nbt\tag\CompoundTag; use pocketmine\nbt\tag\CompoundTag;
use pocketmine\network\mcpe\protocol\EntityEventPacket; use pocketmine\network\mcpe\protocol\EntityEventPacket;
@ -177,7 +176,7 @@ class Arrow extends Projectile{
return; return;
} }
$item = ItemFactory::get(Item::ARROW, 0, 1); $item = VanillaItems::ARROW();
$playerInventory = $player->getInventory(); $playerInventory = $player->getInventory();
if($player->hasFiniteResources() and !$playerInventory->canAddItem($item)){ if($player->hasFiniteResources() and !$playerInventory->canAddItem($item)){

View File

@ -24,8 +24,7 @@ declare(strict_types=1);
namespace pocketmine\entity\projectile; namespace pocketmine\entity\projectile;
use pocketmine\event\entity\ProjectileHitEvent; use pocketmine\event\entity\ProjectileHitEvent;
use pocketmine\item\Item; use pocketmine\item\VanillaItems;
use pocketmine\item\ItemFactory;
use pocketmine\world\particle\ItemBreakParticle; use pocketmine\world\particle\ItemBreakParticle;
class Egg extends Throwable{ class Egg extends Throwable{
@ -35,7 +34,7 @@ class Egg extends Throwable{
protected function onHit(ProjectileHitEvent $event) : void{ protected function onHit(ProjectileHitEvent $event) : void{
for($i = 0; $i < 6; ++$i){ for($i = 0; $i < 6; ++$i){
$this->world->addParticle($this, new ItemBreakParticle(ItemFactory::get(Item::EGG))); $this->world->addParticle($this, new ItemBreakParticle(VanillaItems::EGG()));
} }
} }
} }

View File

@ -39,6 +39,6 @@ class BeetrootSoup extends Food{
} }
public function getResidue(){ public function getResidue(){
return ItemFactory::get(Item::BOWL); return VanillaItems::BOWL();
} }
} }

View File

@ -45,7 +45,8 @@ class Bow extends Tool{
} }
public function onReleaseUsing(Player $player) : ItemUseResult{ public function onReleaseUsing(Player $player) : ItemUseResult{
if($player->hasFiniteResources() and !$player->getInventory()->contains(ItemFactory::get(Item::ARROW, 0, 1))){ $arrow = VanillaItems::ARROW();
if($player->hasFiniteResources() and !$player->getInventory()->contains($arrow)){
return ItemUseResult::FAIL(); return ItemUseResult::FAIL();
} }
@ -110,7 +111,7 @@ class Bow extends Tool{
if($player->hasFiniteResources()){ if($player->hasFiniteResources()){
if(!$infinity){ //TODO: tipped arrows are still consumed when Infinity is applied if(!$infinity){ //TODO: tipped arrows are still consumed when Infinity is applied
$player->getInventory()->removeItem(ItemFactory::get(Item::ARROW, 0, 1)); $player->getInventory()->removeItem($arrow);
} }
$this->applyDamage(1); $this->applyDamage(1);
} }

View File

@ -60,7 +60,7 @@ class LiquidBucket extends Item{
//TODO: move this to generic placement logic //TODO: move this to generic placement logic
$resultBlock = clone $this->liquid; $resultBlock = clone $this->liquid;
$ev = new PlayerBucketEmptyEvent($player, $blockReplace, $face, $this, ItemFactory::get(Item::BUCKET)); $ev = new PlayerBucketEmptyEvent($player, $blockReplace, $face, $this, VanillaItems::BUCKET());
$ev->call(); $ev->call();
if(!$ev->isCancelled()){ if(!$ev->isCancelled()){
$player->getWorld()->setBlock($blockReplace, $resultBlock->getFlowingForm()); $player->getWorld()->setBlock($blockReplace, $resultBlock->getFlowingForm());

View File

@ -32,7 +32,7 @@ class MilkBucket extends Item implements Consumable{
} }
public function getResidue(){ public function getResidue(){
return ItemFactory::get(Item::BUCKET, 0, 1); return VanillaItems::BUCKET();
} }
public function getAdditionalEffects() : array{ public function getAdditionalEffects() : array{

View File

@ -38,6 +38,6 @@ class MushroomStew extends Food{
} }
public function getResidue(){ public function getResidue(){
return ItemFactory::get(Item::BOWL); return VanillaItems::BOWL();
} }
} }

View File

@ -269,6 +269,6 @@ class Potion extends Item implements Consumable{
} }
public function getResidue(){ public function getResidue(){
return ItemFactory::get(Item::GLASS_BOTTLE); return VanillaItems::GLASS_BOTTLE();
} }
} }

View File

@ -38,6 +38,6 @@ class RabbitStew extends Food{
} }
public function getResidue(){ public function getResidue(){
return ItemFactory::get(Item::BOWL); return VanillaItems::BOWL();
} }
} }

View File

@ -0,0 +1,587 @@
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
namespace pocketmine\item;
use pocketmine\utils\RegistryTrait;
use function array_map;
use function assert;
/**
* This doc-block is generated automatically, do not modify it manually.
* This must be regenerated whenever registry members are added, removed or changed.
* @see RegistryTrait::_generateMethodAnnotations()
*
* @method static Boat ACACIA_BOAT()
* @method static Apple APPLE()
* @method static Arrow ARROW()
* @method static BakedPotato BAKED_POTATO()
* @method static Beetroot BEETROOT()
* @method static BeetrootSeeds BEETROOT_SEEDS()
* @method static BeetrootSoup BEETROOT_SOUP()
* @method static Boat BIRCH_BOAT()
* @method static Banner BLACK_BANNER()
* @method static Bed BLACK_BED()
* @method static Dye BLACK_DYE()
* @method static Item BLAZE_POWDER()
* @method static BlazeRod BLAZE_ROD()
* @method static Item BLEACH()
* @method static Banner BLUE_BANNER()
* @method static Bed BLUE_BED()
* @method static Dye BLUE_DYE()
* @method static Item BONE()
* @method static Fertilizer BONE_MEAL()
* @method static Book BOOK()
* @method static Bow BOW()
* @method static Bowl BOWL()
* @method static Bread BREAD()
* @method static Item BRICK()
* @method static Banner BROWN_BANNER()
* @method static Bed BROWN_BED()
* @method static Dye BROWN_DYE()
* @method static Bucket BUCKET()
* @method static ItemBlock CAKE()
* @method static Carrot CARROT()
* @method static Boots CHAINMAIL_BOOTS()
* @method static Chestplate CHAINMAIL_CHESTPLATE()
* @method static Helmet CHAINMAIL_HELMET()
* @method static Leggings CHAINMAIL_LEGGINGS()
* @method static Coal CHARCOAL()
* @method static Item CHEMICAL_ALUMINIUM_OXIDE()
* @method static Item CHEMICAL_AMMONIA()
* @method static Item CHEMICAL_BARIUM_SULPHATE()
* @method static Item CHEMICAL_BENZENE()
* @method static Item CHEMICAL_BORON_TRIOXIDE()
* @method static Item CHEMICAL_CALCIUM_BROMIDE()
* @method static Item CHEMICAL_CALCIUM_CHLORIDE()
* @method static Item CHEMICAL_CERIUM_CHLORIDE()
* @method static Item CHEMICAL_CHARCOAL()
* @method static Item CHEMICAL_CRUDE_OIL()
* @method static Item CHEMICAL_GLUE()
* @method static Item CHEMICAL_HYDROGEN_PEROXIDE()
* @method static Item CHEMICAL_HYPOCHLORITE()
* @method static Item CHEMICAL_INK()
* @method static Item CHEMICAL_IRON_SULPHIDE()
* @method static Item CHEMICAL_LATEX()
* @method static Item CHEMICAL_LITHIUM_HYDRIDE()
* @method static Item CHEMICAL_LUMINOL()
* @method static Item CHEMICAL_MAGNESIUM_NITRATE()
* @method static Item CHEMICAL_MAGNESIUM_OXIDE()
* @method static Item CHEMICAL_MAGNESIUM_SALTS()
* @method static Item CHEMICAL_MERCURIC_CHLORIDE()
* @method static Item CHEMICAL_POLYETHYLENE()
* @method static Item CHEMICAL_POTASSIUM_CHLORIDE()
* @method static Item CHEMICAL_POTASSIUM_IODIDE()
* @method static Item CHEMICAL_RUBBISH()
* @method static Item CHEMICAL_SALT()
* @method static Item CHEMICAL_SOAP()
* @method static Item CHEMICAL_SODIUM_ACETATE()
* @method static Item CHEMICAL_SODIUM_FLUORIDE()
* @method static Item CHEMICAL_SODIUM_HYDRIDE()
* @method static Item CHEMICAL_SODIUM_HYDROXIDE()
* @method static Item CHEMICAL_SODIUM_HYPOCHLORITE()
* @method static Item CHEMICAL_SODIUM_OXIDE()
* @method static Item CHEMICAL_SUGAR()
* @method static Item CHEMICAL_SULPHATE()
* @method static Item CHEMICAL_TUNGSTEN_CHLORIDE()
* @method static Item CHEMICAL_WATER()
* @method static ChorusFruit CHORUS_FRUIT()
* @method static Item CLAY()
* @method static Clock CLOCK()
* @method static Clownfish CLOWNFISH()
* @method static Coal COAL()
* @method static CocoaBeans COCOA_BEANS()
* @method static Compass COMPASS()
* @method static CookedChicken COOKED_CHICKEN()
* @method static CookedFish COOKED_FISH()
* @method static CookedMutton COOKED_MUTTON()
* @method static CookedPorkchop COOKED_PORKCHOP()
* @method static CookedRabbit COOKED_RABBIT()
* @method static CookedSalmon COOKED_SALMON()
* @method static Cookie COOKIE()
* @method static Skull CREEPER_HEAD()
* @method static Banner CYAN_BANNER()
* @method static Bed CYAN_BED()
* @method static Dye CYAN_DYE()
* @method static Boat DARK_OAK_BOAT()
* @method static Item DIAMOND()
* @method static Axe DIAMOND_AXE()
* @method static Boots DIAMOND_BOOTS()
* @method static Chestplate DIAMOND_CHESTPLATE()
* @method static Helmet DIAMOND_HELMET()
* @method static Hoe DIAMOND_HOE()
* @method static Leggings DIAMOND_LEGGINGS()
* @method static Pickaxe DIAMOND_PICKAXE()
* @method static Shovel DIAMOND_SHOVEL()
* @method static Sword DIAMOND_SWORD()
* @method static Item DRAGON_BREATH()
* @method static Skull DRAGON_HEAD()
* @method static DriedKelp DRIED_KELP()
* @method static Egg EGG()
* @method static Item EMERALD()
* @method static GoldenAppleEnchanted ENCHANTED_GOLDEN_APPLE()
* @method static EnderPearl ENDER_PEARL()
* @method static ExperienceBottle EXPERIENCE_BOTTLE()
* @method static Item FEATHER()
* @method static Item FERMENTED_SPIDER_EYE()
* @method static FishingRod FISHING_ROD()
* @method static Item FLINT()
* @method static FlintSteel FLINT_AND_STEEL()
* @method static Item GHAST_TEAR()
* @method static GlassBottle GLASS_BOTTLE()
* @method static Item GLISTERING_MELON()
* @method static Item GLOWSTONE_DUST()
* @method static Axe GOLD_AXE()
* @method static Boots GOLD_BOOTS()
* @method static Chestplate GOLD_CHESTPLATE()
* @method static Helmet GOLD_HELMET()
* @method static Item GOLD_INGOT()
* @method static Leggings GOLD_LEGGINGS()
* @method static Item GOLD_NUGGET()
* @method static Pickaxe GOLD_PICKAXE()
* @method static Shovel GOLD_SHOVEL()
* @method static Sword GOLD_SWORD()
* @method static GoldenApple GOLDEN_APPLE()
* @method static GoldenCarrot GOLDEN_CARROT()
* @method static Hoe GOLDEN_HOE()
* @method static Banner GRAY_BANNER()
* @method static Bed GRAY_BED()
* @method static Dye GRAY_DYE()
* @method static Banner GREEN_BANNER()
* @method static Bed GREEN_BED()
* @method static Dye GREEN_DYE()
* @method static Item GUNPOWDER()
* @method static Item HEART_OF_THE_SEA()
* @method static Item INK_SAC()
* @method static Axe IRON_AXE()
* @method static Boots IRON_BOOTS()
* @method static Chestplate IRON_CHESTPLATE()
* @method static Helmet IRON_HELMET()
* @method static Hoe IRON_HOE()
* @method static Item IRON_INGOT()
* @method static Leggings IRON_LEGGINGS()
* @method static Item IRON_NUGGET()
* @method static Pickaxe IRON_PICKAXE()
* @method static Shovel IRON_SHOVEL()
* @method static Sword IRON_SWORD()
* @method static Boat JUNGLE_BOAT()
* @method static Item LAPIS_LAZULI()
* @method static LiquidBucket LAVA_BUCKET()
* @method static Item LEATHER()
* @method static Boots LEATHER_BOOTS()
* @method static Helmet LEATHER_CAP()
* @method static Leggings LEATHER_PANTS()
* @method static Chestplate LEATHER_TUNIC()
* @method static Banner LIGHT_BLUE_BANNER()
* @method static Bed LIGHT_BLUE_BED()
* @method static Dye LIGHT_BLUE_DYE()
* @method static Banner LIGHT_GRAY_BANNER()
* @method static Bed LIGHT_GRAY_BED()
* @method static Dye LIGHT_GRAY_DYE()
* @method static Banner LIME_BANNER()
* @method static Bed LIME_BED()
* @method static Dye LIME_DYE()
* @method static Banner MAGENTA_BANNER()
* @method static Bed MAGENTA_BED()
* @method static Dye MAGENTA_DYE()
* @method static Item MAGMA_CREAM()
* @method static Melon MELON()
* @method static MelonSeeds MELON_SEEDS()
* @method static MilkBucket MILK_BUCKET()
* @method static Minecart MINECART()
* @method static MushroomStew MUSHROOM_STEW()
* @method static Item NAUTILUS_SHELL()
* @method static Item NETHER_BRICK()
* @method static Item NETHER_QUARTZ()
* @method static Item NETHER_STAR()
* @method static ItemBlock NETHER_WART()
* @method static Boat OAK_BOAT()
* @method static Banner ORANGE_BANNER()
* @method static Bed ORANGE_BED()
* @method static Dye ORANGE_DYE()
* @method static PaintingItem PAINTING()
* @method static Item PAPER()
* @method static Banner PINK_BANNER()
* @method static Bed PINK_BED()
* @method static Dye PINK_DYE()
* @method static Skull PLAYER_HEAD()
* @method static PoisonousPotato POISONOUS_POTATO()
* @method static Item POPPED_CHORUS_FRUIT()
* @method static Potato POTATO()
* @method static Potion POTION()
* @method static Item PRISMARINE_CRYSTALS()
* @method static Item PRISMARINE_SHARD()
* @method static Pufferfish PUFFERFISH()
* @method static PumpkinPie PUMPKIN_PIE()
* @method static PumpkinSeeds PUMPKIN_SEEDS()
* @method static Banner PURPLE_BANNER()
* @method static Bed PURPLE_BED()
* @method static Dye PURPLE_DYE()
* @method static Item RABBIT_FOOT()
* @method static Item RABBIT_HIDE()
* @method static RabbitStew RABBIT_STEW()
* @method static RawBeef RAW_BEEF()
* @method static RawChicken RAW_CHICKEN()
* @method static RawFish RAW_FISH()
* @method static RawMutton RAW_MUTTON()
* @method static RawPorkchop RAW_PORKCHOP()
* @method static RawRabbit RAW_RABBIT()
* @method static RawSalmon RAW_SALMON()
* @method static Banner RED_BANNER()
* @method static Bed RED_BED()
* @method static Dye RED_DYE()
* @method static Redstone REDSTONE_DUST()
* @method static RottenFlesh ROTTEN_FLESH()
* @method static Item SCUTE()
* @method static Shears SHEARS()
* @method static Item SHULKER_SHELL()
* @method static Skull SKELETON_SKULL()
* @method static Item SLIMEBALL()
* @method static Snowball SNOWBALL()
* @method static SpiderEye SPIDER_EYE()
* @method static SplashPotion SPLASH_POTION()
* @method static Boat SPRUCE_BOAT()
* @method static Steak STEAK()
* @method static Stick STICK()
* @method static Axe STONE_AXE()
* @method static Hoe STONE_HOE()
* @method static Pickaxe STONE_PICKAXE()
* @method static Shovel STONE_SHOVEL()
* @method static Sword STONE_SWORD()
* @method static StringItem STRING()
* @method static Item SUGAR()
* @method static ItemBlock SUGARCANE()
* @method static Totem TOTEM()
* @method static LiquidBucket WATER_BUCKET()
* @method static Item WHEAT()
* @method static WheatSeeds WHEAT_SEEDS()
* @method static Banner WHITE_BANNER()
* @method static Bed WHITE_BED()
* @method static Dye WHITE_DYE()
* @method static Skull WITHER_SKELETON_SKULL()
* @method static Axe WOODEN_AXE()
* @method static Hoe WOODEN_HOE()
* @method static Pickaxe WOODEN_PICKAXE()
* @method static Shovel WOODEN_SHOVEL()
* @method static Sword WOODEN_SWORD()
* @method static WritableBook WRITABLE_BOOK()
* @method static WrittenBook WRITTEN_BOOK()
* @method static Banner YELLOW_BANNER()
* @method static Bed YELLOW_BED()
* @method static Dye YELLOW_DYE()
* @method static Skull ZOMBIE_HEAD()
*/
final class VanillaItems{
use RegistryTrait {
fromString as private Registry_fromString;
getAll as private Registry_getAll;
register as private Registry_register;
}
private function __construct(){
//NOOP
}
protected static function register(string $name, Item $item) : void{
self::Registry_register($name, $item);
}
/**
* @param string $name
*
* @return Item
*/
public static function fromString(string $name) : Item{
$result = self::Registry_fromString($name);
assert($result instanceof Item);
return clone $result;
}
/**
* @return Item[]
*/
public static function getAll() : array{
return array_map(function(Item $member){ return clone $member; }, self::Registry_getAll());
}
protected static function setup() : void{
self::register("acacia_boat", ItemFactory::get(333, 4));
self::register("apple", ItemFactory::get(260));
self::register("arrow", ItemFactory::get(262));
self::register("baked_potato", ItemFactory::get(393));
self::register("beetroot", ItemFactory::get(457));
self::register("beetroot_seeds", ItemFactory::get(458));
self::register("beetroot_soup", ItemFactory::get(459));
self::register("birch_boat", ItemFactory::get(333, 2));
self::register("black_banner", ItemFactory::get(446));
self::register("black_bed", ItemFactory::get(355, 15));
self::register("black_dye", ItemFactory::get(351, 16));
self::register("blaze_powder", ItemFactory::get(377));
self::register("blaze_rod", ItemFactory::get(369));
self::register("bleach", ItemFactory::get(451));
self::register("blue_banner", ItemFactory::get(446, 4));
self::register("blue_bed", ItemFactory::get(355, 11));
self::register("blue_dye", ItemFactory::get(351, 18));
self::register("bone", ItemFactory::get(352));
self::register("bone_meal", ItemFactory::get(351, 15));
self::register("book", ItemFactory::get(340));
self::register("bow", ItemFactory::get(261));
self::register("bowl", ItemFactory::get(281));
self::register("bread", ItemFactory::get(297));
self::register("brick", ItemFactory::get(336));
self::register("brown_banner", ItemFactory::get(446, 3));
self::register("brown_bed", ItemFactory::get(355, 12));
self::register("brown_dye", ItemFactory::get(351, 17));
self::register("bucket", ItemFactory::get(325));
self::register("cake", ItemFactory::get(354));
self::register("carrot", ItemFactory::get(391));
self::register("chainmail_boots", ItemFactory::get(305));
self::register("chainmail_chestplate", ItemFactory::get(303));
self::register("chainmail_helmet", ItemFactory::get(302));
self::register("chainmail_leggings", ItemFactory::get(304));
self::register("charcoal", ItemFactory::get(263, 1));
self::register("chemical_aluminium_oxide", ItemFactory::get(499, 13));
self::register("chemical_ammonia", ItemFactory::get(499, 36));
self::register("chemical_barium_sulphate", ItemFactory::get(499, 20));
self::register("chemical_benzene", ItemFactory::get(499, 33));
self::register("chemical_boron_trioxide", ItemFactory::get(499, 14));
self::register("chemical_calcium_bromide", ItemFactory::get(499, 7));
self::register("chemical_calcium_chloride", ItemFactory::get(499, 25));
self::register("chemical_cerium_chloride", ItemFactory::get(499, 23));
self::register("chemical_charcoal", ItemFactory::get(499, 11));
self::register("chemical_crude_oil", ItemFactory::get(499, 29));
self::register("chemical_glue", ItemFactory::get(499, 27));
self::register("chemical_hydrogen_peroxide", ItemFactory::get(499, 35));
self::register("chemical_hypochlorite", ItemFactory::get(499, 28));
self::register("chemical_ink", ItemFactory::get(499, 34));
self::register("chemical_iron_sulphide", ItemFactory::get(499, 4));
self::register("chemical_latex", ItemFactory::get(499, 30));
self::register("chemical_lithium_hydride", ItemFactory::get(499, 5));
self::register("chemical_luminol", ItemFactory::get(499, 10));
self::register("chemical_magnesium_nitrate", ItemFactory::get(499, 3));
self::register("chemical_magnesium_oxide", ItemFactory::get(499, 8));
self::register("chemical_magnesium_salts", ItemFactory::get(499, 18));
self::register("chemical_mercuric_chloride", ItemFactory::get(499, 22));
self::register("chemical_polyethylene", ItemFactory::get(499, 16));
self::register("chemical_potassium_chloride", ItemFactory::get(499, 21));
self::register("chemical_potassium_iodide", ItemFactory::get(499, 31));
self::register("chemical_rubbish", ItemFactory::get(499, 17));
self::register("chemical_salt", ItemFactory::get(499));
self::register("chemical_soap", ItemFactory::get(499, 15));
self::register("chemical_sodium_acetate", ItemFactory::get(499, 9));
self::register("chemical_sodium_fluoride", ItemFactory::get(499, 32));
self::register("chemical_sodium_hydride", ItemFactory::get(499, 6));
self::register("chemical_sodium_hydroxide", ItemFactory::get(499, 2));
self::register("chemical_sodium_hypochlorite", ItemFactory::get(499, 37));
self::register("chemical_sodium_oxide", ItemFactory::get(499, 1));
self::register("chemical_sugar", ItemFactory::get(499, 12));
self::register("chemical_sulphate", ItemFactory::get(499, 19));
self::register("chemical_tungsten_chloride", ItemFactory::get(499, 24));
self::register("chemical_water", ItemFactory::get(499, 26));
self::register("chorus_fruit", ItemFactory::get(432));
self::register("clay", ItemFactory::get(337));
self::register("clock", ItemFactory::get(347));
self::register("clownfish", ItemFactory::get(461));
self::register("coal", ItemFactory::get(263));
self::register("cocoa_beans", ItemFactory::get(351, 3));
self::register("compass", ItemFactory::get(345));
self::register("cooked_chicken", ItemFactory::get(366));
self::register("cooked_fish", ItemFactory::get(350));
self::register("cooked_mutton", ItemFactory::get(424));
self::register("cooked_porkchop", ItemFactory::get(320));
self::register("cooked_rabbit", ItemFactory::get(412));
self::register("cooked_salmon", ItemFactory::get(463));
self::register("cookie", ItemFactory::get(357));
self::register("creeper_head", ItemFactory::get(397, 4));
self::register("cyan_banner", ItemFactory::get(446, 6));
self::register("cyan_bed", ItemFactory::get(355, 9));
self::register("cyan_dye", ItemFactory::get(351, 6));
self::register("dark_oak_boat", ItemFactory::get(333, 5));
self::register("diamond", ItemFactory::get(264));
self::register("diamond_axe", ItemFactory::get(279));
self::register("diamond_boots", ItemFactory::get(313));
self::register("diamond_chestplate", ItemFactory::get(311));
self::register("diamond_helmet", ItemFactory::get(310));
self::register("diamond_hoe", ItemFactory::get(293));
self::register("diamond_leggings", ItemFactory::get(312));
self::register("diamond_pickaxe", ItemFactory::get(278));
self::register("diamond_shovel", ItemFactory::get(277));
self::register("diamond_sword", ItemFactory::get(276));
self::register("dragon_breath", ItemFactory::get(437));
self::register("dragon_head", ItemFactory::get(397, 5));
self::register("dried_kelp", ItemFactory::get(464));
self::register("egg", ItemFactory::get(344));
self::register("emerald", ItemFactory::get(388));
self::register("enchanted_golden_apple", ItemFactory::get(466));
self::register("ender_pearl", ItemFactory::get(368));
self::register("experience_bottle", ItemFactory::get(384));
self::register("feather", ItemFactory::get(288));
self::register("fermented_spider_eye", ItemFactory::get(376));
self::register("fishing_rod", ItemFactory::get(346));
self::register("flint", ItemFactory::get(318));
self::register("flint_and_steel", ItemFactory::get(259));
self::register("ghast_tear", ItemFactory::get(370));
self::register("glass_bottle", ItemFactory::get(374));
self::register("glistering_melon", ItemFactory::get(382));
self::register("glowstone_dust", ItemFactory::get(348));
self::register("gold_axe", ItemFactory::get(286));
self::register("gold_boots", ItemFactory::get(317));
self::register("gold_chestplate", ItemFactory::get(315));
self::register("gold_helmet", ItemFactory::get(314));
self::register("gold_ingot", ItemFactory::get(266));
self::register("gold_leggings", ItemFactory::get(316));
self::register("gold_nugget", ItemFactory::get(371));
self::register("gold_pickaxe", ItemFactory::get(285));
self::register("gold_shovel", ItemFactory::get(284));
self::register("gold_sword", ItemFactory::get(283));
self::register("golden_apple", ItemFactory::get(322));
self::register("golden_carrot", ItemFactory::get(396));
self::register("golden_hoe", ItemFactory::get(294));
self::register("gray_banner", ItemFactory::get(446, 8));
self::register("gray_bed", ItemFactory::get(355, 7));
self::register("gray_dye", ItemFactory::get(351, 8));
self::register("green_banner", ItemFactory::get(446, 2));
self::register("green_bed", ItemFactory::get(355, 13));
self::register("green_dye", ItemFactory::get(351, 2));
self::register("gunpowder", ItemFactory::get(289));
self::register("heart_of_the_sea", ItemFactory::get(467));
self::register("ink_sac", ItemFactory::get(351));
self::register("iron_axe", ItemFactory::get(258));
self::register("iron_boots", ItemFactory::get(309));
self::register("iron_chestplate", ItemFactory::get(307));
self::register("iron_helmet", ItemFactory::get(306));
self::register("iron_hoe", ItemFactory::get(292));
self::register("iron_ingot", ItemFactory::get(265));
self::register("iron_leggings", ItemFactory::get(308));
self::register("iron_nugget", ItemFactory::get(452));
self::register("iron_pickaxe", ItemFactory::get(257));
self::register("iron_shovel", ItemFactory::get(256));
self::register("iron_sword", ItemFactory::get(267));
self::register("jungle_boat", ItemFactory::get(333, 3));
self::register("lapis_lazuli", ItemFactory::get(351, 4));
self::register("lava_bucket", ItemFactory::get(325, 10));
self::register("leather", ItemFactory::get(334));
self::register("leather_boots", ItemFactory::get(301));
self::register("leather_cap", ItemFactory::get(298));
self::register("leather_pants", ItemFactory::get(300));
self::register("leather_tunic", ItemFactory::get(299));
self::register("light_blue_banner", ItemFactory::get(446, 12));
self::register("light_blue_bed", ItemFactory::get(355, 3));
self::register("light_blue_dye", ItemFactory::get(351, 12));
self::register("light_gray_banner", ItemFactory::get(446, 7));
self::register("light_gray_bed", ItemFactory::get(355, 8));
self::register("light_gray_dye", ItemFactory::get(351, 7));
self::register("lime_banner", ItemFactory::get(446, 10));
self::register("lime_bed", ItemFactory::get(355, 5));
self::register("lime_dye", ItemFactory::get(351, 10));
self::register("magenta_banner", ItemFactory::get(446, 13));
self::register("magenta_bed", ItemFactory::get(355, 2));
self::register("magenta_dye", ItemFactory::get(351, 13));
self::register("magma_cream", ItemFactory::get(378));
self::register("melon", ItemFactory::get(360));
self::register("melon_seeds", ItemFactory::get(362));
self::register("milk_bucket", ItemFactory::get(325, 1));
self::register("minecart", ItemFactory::get(328));
self::register("mushroom_stew", ItemFactory::get(282));
self::register("nautilus_shell", ItemFactory::get(465));
self::register("nether_brick", ItemFactory::get(405));
self::register("nether_quartz", ItemFactory::get(406));
self::register("nether_star", ItemFactory::get(399));
self::register("nether_wart", ItemFactory::get(372));
self::register("oak_boat", ItemFactory::get(333));
self::register("orange_banner", ItemFactory::get(446, 14));
self::register("orange_bed", ItemFactory::get(355, 1));
self::register("orange_dye", ItemFactory::get(351, 14));
self::register("painting", ItemFactory::get(321));
self::register("paper", ItemFactory::get(339));
self::register("pink_banner", ItemFactory::get(446, 9));
self::register("pink_bed", ItemFactory::get(355, 6));
self::register("pink_dye", ItemFactory::get(351, 9));
self::register("player_head", ItemFactory::get(397, 3));
self::register("poisonous_potato", ItemFactory::get(394));
self::register("popped_chorus_fruit", ItemFactory::get(433));
self::register("potato", ItemFactory::get(392));
self::register("potion", ItemFactory::get(373));
self::register("prismarine_crystals", ItemFactory::get(422));
self::register("prismarine_shard", ItemFactory::get(409));
self::register("pufferfish", ItemFactory::get(462));
self::register("pumpkin_pie", ItemFactory::get(400));
self::register("pumpkin_seeds", ItemFactory::get(361));
self::register("purple_banner", ItemFactory::get(446, 5));
self::register("purple_bed", ItemFactory::get(355, 10));
self::register("purple_dye", ItemFactory::get(351, 5));
self::register("rabbit_foot", ItemFactory::get(414));
self::register("rabbit_hide", ItemFactory::get(415));
self::register("rabbit_stew", ItemFactory::get(413));
self::register("raw_beef", ItemFactory::get(363));
self::register("raw_chicken", ItemFactory::get(365));
self::register("raw_fish", ItemFactory::get(349));
self::register("raw_mutton", ItemFactory::get(423));
self::register("raw_porkchop", ItemFactory::get(319));
self::register("raw_rabbit", ItemFactory::get(411));
self::register("raw_salmon", ItemFactory::get(460));
self::register("red_banner", ItemFactory::get(446, 1));
self::register("red_bed", ItemFactory::get(355, 14));
self::register("red_dye", ItemFactory::get(351, 1));
self::register("redstone_dust", ItemFactory::get(331));
self::register("rotten_flesh", ItemFactory::get(367));
self::register("scute", ItemFactory::get(468));
self::register("shears", ItemFactory::get(359));
self::register("shulker_shell", ItemFactory::get(445));
self::register("skeleton_skull", ItemFactory::get(397));
self::register("slimeball", ItemFactory::get(341));
self::register("snowball", ItemFactory::get(332));
self::register("spider_eye", ItemFactory::get(375));
self::register("splash_potion", ItemFactory::get(438));
self::register("spruce_boat", ItemFactory::get(333, 1));
self::register("steak", ItemFactory::get(364));
self::register("stick", ItemFactory::get(280));
self::register("stone_axe", ItemFactory::get(275));
self::register("stone_hoe", ItemFactory::get(291));
self::register("stone_pickaxe", ItemFactory::get(274));
self::register("stone_shovel", ItemFactory::get(273));
self::register("stone_sword", ItemFactory::get(272));
self::register("string", ItemFactory::get(287));
self::register("sugar", ItemFactory::get(353));
self::register("sugarcane", ItemFactory::get(338));
self::register("totem", ItemFactory::get(450));
self::register("water_bucket", ItemFactory::get(325, 8));
self::register("wheat", ItemFactory::get(296));
self::register("wheat_seeds", ItemFactory::get(295));
self::register("white_banner", ItemFactory::get(446, 15));
self::register("white_bed", ItemFactory::get(355));
self::register("white_dye", ItemFactory::get(351, 19));
self::register("wither_skeleton_skull", ItemFactory::get(397, 1));
self::register("wooden_axe", ItemFactory::get(271));
self::register("wooden_hoe", ItemFactory::get(290));
self::register("wooden_pickaxe", ItemFactory::get(270));
self::register("wooden_shovel", ItemFactory::get(269));
self::register("wooden_sword", ItemFactory::get(268));
self::register("writable_book", ItemFactory::get(386));
self::register("written_book", ItemFactory::get(387));
self::register("yellow_banner", ItemFactory::get(446, 11));
self::register("yellow_bed", ItemFactory::get(355, 4));
self::register("yellow_dye", ItemFactory::get(351, 11));
self::register("zombie_head", ItemFactory::get(397, 2));
}
}