Changed block construction calls to Block::get()

This commit is contained in:
Dylan K. Taylor 2017-08-19 13:46:17 +01:00
parent 276fccf4bb
commit 0e24596aed
22 changed files with 50 additions and 63 deletions

View File

@ -2492,7 +2492,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
}
$block = $target->getSide($packet->face);
if($block->getId() === Block::FIRE){
$this->level->setBlock($block, new Air());
$this->level->setBlock($block, Block::get(Block::AIR));
break;
}

View File

@ -76,7 +76,7 @@ class Block extends Position implements BlockIds, Metadatable{
self::$transparent = new \SplFixedArray(256);
self::$diffusesSkyLight = new \SplFixedArray(256);
self::registerBlock(new Air());
self::registerBlock(Block::get(Block::AIR));
self::registerBlock(new Stone());
self::registerBlock(new Grass());
self::registerBlock(new Dirt());
@ -511,7 +511,7 @@ class Block extends Position implements BlockIds, Metadatable{
* @return bool
*/
public function onBreak(Item $item) : bool{
return $this->getLevel()->setBlock($this, new Air(), true, true);
return $this->getLevel()->setBlock($this, Block::get(Block::AIR), true, true);
}
/**

View File

@ -90,7 +90,7 @@ class Cactus extends Transparent{
for($y = 1; $y < 3; ++$y){
$b = $this->getLevel()->getBlock(new Vector3($this->x, $this->y + $y, $this->z));
if($b->getId() === self::AIR){
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($b, new Cactus()));
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($b, Block::get(Block::CACTUS)));
if(!$ev->isCancelled()){
$this->getLevel()->setBlock($b, $ev->getNewState(), true);
}

View File

@ -76,7 +76,7 @@ class Cake extends Transparent implements FoodSource{
public function onUpdate(int $type){
if($type === Level::BLOCK_UPDATE_NORMAL){
if($this->getSide(Vector3::SIDE_DOWN)->getId() === self::AIR){ //Replace with common break method
$this->getLevel()->setBlock($this, new Air(), true);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), true);
return Level::BLOCK_UPDATE_NORMAL;
}
@ -114,7 +114,7 @@ class Cake extends Transparent implements FoodSource{
$clone = clone $this;
$clone->meta++;
if($clone->meta >= 0x06){
$clone = new Air();
$clone = Block::get(Block::AIR);
}
return $clone;
}

View File

@ -129,7 +129,7 @@ class Chest extends Transparent{
if($t instanceof TileChest){
$t->unpair();
}
$this->getLevel()->setBlock($this, new Air(), true, true);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), true, true);
return true;
}

View File

@ -204,9 +204,9 @@ abstract class Door extends Transparent{
public function onUpdate(int $type){
if($type === Level::BLOCK_UPDATE_NORMAL){
if($this->getSide(Vector3::SIDE_DOWN)->getId() === self::AIR){ //Replace with common break method
$this->getLevel()->setBlock($this, new Air(), false);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), false);
if($this->getSide(Vector3::SIDE_UP) instanceof Door){
$this->getLevel()->setBlock($this->getSide(Vector3::SIDE_UP), new Air(), false);
$this->getLevel()->setBlock($this->getSide(Vector3::SIDE_UP), Block::get(Block::AIR), false);
}
return Level::BLOCK_UPDATE_NORMAL;
@ -250,15 +250,15 @@ abstract class Door extends Transparent{
if(($this->getDamage() & 0x08) === 0x08){
$down = $this->getSide(Vector3::SIDE_DOWN);
if($down->getId() === $this->getId()){
$this->getLevel()->setBlock($down, new Air(), true);
$this->getLevel()->setBlock($down, Block::get(Block::AIR), true);
}
}else{
$up = $this->getSide(Vector3::SIDE_UP);
if($up->getId() === $this->getId()){
$this->getLevel()->setBlock($up, new Air(), true);
$this->getLevel()->setBlock($up, Block::get(Block::AIR), true);
}
}
$this->getLevel()->setBlock($this, new Air(), true);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), true);
return true;
}

View File

@ -87,14 +87,14 @@ class Fire extends Flowable{
return false;
}
}
$this->getLevel()->setBlock($this, new Air(), true);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), true);
return Level::BLOCK_UPDATE_NORMAL;
}elseif($type === Level::BLOCK_UPDATE_RANDOM){
if($this->getSide(Vector3::SIDE_DOWN)->getId() !== self::NETHERRACK){
if(mt_rand(0, 2) === 0){
if($this->meta === 0x0F){
$this->level->setBlock($this, new Air());
$this->level->setBlock($this, Block::get(Block::AIR));
}else{
$this->meta++;
$this->level->setBlock($this, $this);

View File

@ -105,12 +105,12 @@ class Grass extends Solid{
return true;
}elseif($item->isHoe()){
$item->useOn($this);
$this->getLevel()->setBlock($this, new Farmland());
$this->getLevel()->setBlock($this, Block::get(Block::FARMLAND));
return true;
}elseif($item->isShovel() and $this->getSide(Vector3::SIDE_UP)->getId() === Block::AIR){
$item->useOn($this);
$this->getLevel()->setBlock($this, new GrassPath());
$this->getLevel()->setBlock($this, Block::get(Block::GRASS_PATH));
return true;
}

View File

@ -52,7 +52,7 @@ class Ice extends Transparent{
}
public function onBreak(Item $item) : bool{
$this->getLevel()->setBlock($this, new Water(), true);
$this->getLevel()->setBlock($this, Block::get(Block::WATER), true);
return true;
}

View File

@ -241,7 +241,7 @@ abstract class Liquid extends Transparent{
if($k !== $decay){
$decay = $k;
if($decay < 0){
$this->getLevel()->setBlock($this, new Air(), true, true);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), true, true);
}else{
$this->getLevel()->setBlock($this, Block::get($this->id, $decay), true, true);
$this->getLevel()->scheduleDelayedBlockUpdate($this, $this->tickRate());

View File

@ -68,7 +68,7 @@ class MelonStem extends Crops{
$side = $this->getSide(mt_rand(2, 5));
$d = $side->getSide(Vector3::SIDE_DOWN);
if($side->getId() === self::AIR and ($d->getId() === self::FARMLAND or $d->getId() === self::GRASS or $d->getId() === self::DIRT)){
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($side, new Melon()));
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($side, Block::get(Block::MELON_BLOCK)));
if(!$ev->isCancelled()){
$this->getLevel()->setBlock($side, $ev->getNewState(), true);
}

View File

@ -65,7 +65,7 @@ class Mycelium extends Solid{
$block = $this->getLevel()->getBlock(new Vector3($x, $y, $z));
if($block->getId() === Block::DIRT){
if($block->getSide(Vector3::SIDE_UP) instanceof Transparent){
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockSpreadEvent($block, $this, new Mycelium()));
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockSpreadEvent($block, $this, Block::get(Block::MYCELIUM)));
if(!$ev->isCancelled()){
$this->getLevel()->setBlock($block, $ev->getNewState());
}

View File

@ -68,7 +68,7 @@ class PumpkinStem extends Crops{
$side = $this->getSide(mt_rand(2, 5));
$d = $side->getSide(Vector3::SIDE_DOWN);
if($side->getId() === self::AIR and ($d->getId() === self::FARMLAND or $d->getId() === self::GRASS or $d->getId() === self::DIRT)){
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($side, new Pumpkin()));
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($side, Block::get(Block::PUMPKIN)));
if(!$ev->isCancelled()){
$this->getLevel()->setBlock($side, $ev->getNewState(), true);
}

View File

@ -50,7 +50,7 @@ class Sugarcane extends Flowable{
for($y = 1; $y < 3; ++$y){
$b = $this->getLevel()->getBlock(new Vector3($this->x, $this->y + $y, $this->z));
if($b->getId() === self::AIR){
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($b, new Sugarcane()));
Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($b, Block::get(Block::SUGARCANE_BLOCK)));
if(!$ev->isCancelled()){
$this->getLevel()->setBlock($b, $ev->getNewState(), true);
}
@ -84,7 +84,7 @@ class Sugarcane extends Flowable{
for($y = 1; $y < 3; ++$y){
$b = $this->getLevel()->getBlock(new Vector3($this->x, $this->y + $y, $this->z));
if($b->getId() === self::AIR){
$this->getLevel()->setBlock($b, new Sugarcane(), true);
$this->getLevel()->setBlock($b, Block::get(Block::SUGARCANE_BLOCK), true);
break;
}
}
@ -105,7 +105,7 @@ class Sugarcane extends Flowable{
public function place(Item $item, Block $block, Block $target, int $face, float $fx, float $fy, float $fz, Player $player = null) : bool{
$down = $this->getSide(Vector3::SIDE_DOWN);
if($down->getId() === self::SUGARCANE_BLOCK){
$this->getLevel()->setBlock($block, new Sugarcane(), true);
$this->getLevel()->setBlock($block, Block::get(Block::SUGARCANE_BLOCK), true);
return true;
}elseif($down->getId() === self::GRASS or $down->getId() === self::DIRT or $down->getId() === self::SAND){
@ -114,7 +114,7 @@ class Sugarcane extends Flowable{
$block2 = $down->getSide(Vector3::SIDE_WEST);
$block3 = $down->getSide(Vector3::SIDE_EAST);
if(($block0 instanceof Water) or ($block1 instanceof Water) or ($block2 instanceof Water) or ($block3 instanceof Water)){
$this->getLevel()->setBlock($block, new Sugarcane(), true);
$this->getLevel()->setBlock($block, Block::get(Block::SUGARCANE_BLOCK), true);
return true;
}

View File

@ -60,7 +60,7 @@ class TNT extends Solid{
}
public function ignite(int $fuse = 80){
$this->getLevel()->setBlock($this, new Air(), true);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), true);
$mot = (new Random())->nextSignedFloat() * M_PI * 2;
$tnt = Entity::createEntity("PrimedTNT", $this->getLevel(), new CompoundTag("", [

View File

@ -64,7 +64,7 @@ class TallGrass extends Flowable{
public function onUpdate(int $type){
if($type === Level::BLOCK_UPDATE_NORMAL){
if($this->getSide(Vector3::SIDE_DOWN)->isTransparent() === true){ //Replace with common break method
$this->getLevel()->setBlock($this, new Air(), true, true);
$this->getLevel()->setBlock($this, Block::get(Block::AIR), true, true);
return Level::BLOCK_UPDATE_NORMAL;
}

View File

@ -56,7 +56,7 @@ class Bucket extends Item{
$result->setDamage($target->getId());
$player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketFillEvent($player, $block, $face, $this, $result));
if(!$ev->isCancelled()){
$player->getLevel()->setBlock($target, new Air(), true, true);
$player->getLevel()->setBlock($target, Block::get(Block::AIR), true, true);
if($player->isSurvival()){
$player->getInventory()->setItemInHand($ev->getItem());
}

View File

@ -36,7 +36,7 @@ class FlintSteel extends Tool{
public function onActivate(Level $level, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){
if($block->getId() === self::AIR and ($target instanceof Solid)){
$level->setBlock($block, new Fire(), true);
$level->setBlock($block, Block::get(Block::FIRE), true);
if(($player->gamemode & 0x01) === 0 and $this->useOn($block)){
if($this->getDamage() >= $this->getMaxDurability()){
$player->getInventory()->setItemInHand(new Item(Item::AIR, 0, 0));

View File

@ -1656,7 +1656,7 @@ class Level implements ChunkManager, Metadatable{
$above = $this->getBlock(new Vector3($target->x, $target->y + 1, $target->z));
if($above !== null){
if($above->getId() === Item::FIRE){
$this->setBlock($above, new Air(), true);
$this->setBlock($above, Block::get(Block::AIR), true);
}
}

View File

@ -23,17 +23,11 @@ declare(strict_types=1);
namespace pocketmine\level\generator;
use pocketmine\block\CoalOre;
use pocketmine\block\DiamondOre;
use pocketmine\block\Dirt;
use pocketmine\block\GoldOre;
use pocketmine\block\Gravel;
use pocketmine\block\IronOre;
use pocketmine\block\LapisOre;
use pocketmine\block\RedstoneOre;
use pocketmine\block\Block;
use pocketmine\item\Item;
use pocketmine\level\ChunkManager;
use pocketmine\level\format\Chunk;
use pocketmine\level\generator\object\OreType;
use pocketmine\level\generator\populator\Ore;
use pocketmine\level\generator\populator\Populator;
use pocketmine\math\Vector3;
@ -67,14 +61,14 @@ class Flat extends Generator{
if(isset($this->options["decoration"])){
$ores = new Ore();
$ores->setOreTypes([
new object\OreType(new CoalOre(), 20, 16, 0, 128),
new object\OreType(new IronOre(), 20, 8, 0, 64),
new object\OreType(new RedstoneOre(), 8, 7, 0, 16),
new object\OreType(new LapisOre(), 1, 6, 0, 32),
new object\OreType(new GoldOre(), 2, 8, 0, 32),
new object\OreType(new DiamondOre(), 1, 7, 0, 16),
new object\OreType(new Dirt(), 20, 32, 0, 128),
new object\OreType(new Gravel(), 10, 16, 0, 128)
new OreType(Block::get(Block::COAL_ORE), 20, 16, 0, 128),
new OreType(Block::get(Block::IRON_ORE), 20, 8, 0, 64),
new OreType(Block::get(Block::REDSTONE_ORE), 8, 7, 0, 16),
new OreType(Block::get(Block::LAPIS_ORE), 1, 6, 0, 32),
new OreType(Block::get(Block::GOLD_ORE), 2, 8, 0, 32),
new OreType(Block::get(Block::DIAMOND_ORE), 1, 7, 0, 16),
new OreType(Block::get(Block::DIRT), 20, 32, 0, 128),
new OreType(Block::get(Block::GRAVEL), 10, 16, 0, 128)
]);
$this->populators[] = $ores;
}

View File

@ -24,14 +24,6 @@ declare(strict_types=1);
namespace pocketmine\level\generator\normal;
use pocketmine\block\Block;
use pocketmine\block\CoalOre;
use pocketmine\block\DiamondOre;
use pocketmine\block\Dirt;
use pocketmine\block\GoldOre;
use pocketmine\block\Gravel;
use pocketmine\block\IronOre;
use pocketmine\block\LapisOre;
use pocketmine\block\RedstoneOre;
use pocketmine\level\ChunkManager;
use pocketmine\level\generator\biome\Biome;
use pocketmine\level\generator\biome\BiomeSelector;
@ -179,14 +171,14 @@ class Normal extends Generator{
$ores = new Ore();
$ores->setOreTypes([
new OreType(new CoalOre(), 20, 16, 0, 128),
new OreType(New IronOre(), 20, 8, 0, 64),
new OreType(new RedstoneOre(), 8, 7, 0, 16),
new OreType(new LapisOre(), 1, 6, 0, 32),
new OreType(new GoldOre(), 2, 8, 0, 32),
new OreType(new DiamondOre(), 1, 7, 0, 16),
new OreType(new Dirt(), 20, 32, 0, 128),
new OreType(new Gravel(), 10, 16, 0, 128)
new OreType(Block::get(Block::COAL_ORE), 20, 16, 0, 128),
new OreType(Block::get(Block::IRON_ORE), 20, 8, 0, 64),
new OreType(Block::get(Block::REDSTONE_ORE), 8, 7, 0, 16),
new OreType(Block::get(Block::LAPIS_ORE), 1, 6, 0, 32),
new OreType(Block::get(Block::GOLD_ORE), 2, 8, 0, 32),
new OreType(Block::get(Block::DIAMOND_ORE), 1, 7, 0, 16),
new OreType(Block::get(Block::DIRT), 20, 32, 0, 128),
new OreType(Block::get(Block::GRAVEL), 10, 16, 0, 128)
]);
$this->populators[] = $ores;
}

View File

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace pocketmine\level\generator\populator;
use pocketmine\block\Block;
use pocketmine\block\Water;
use pocketmine\level\ChunkManager;
use pocketmine\math\Vector3;
@ -38,7 +39,7 @@ class Pond extends Populator{
$x = $random->nextRange($chunkX << 4, ($chunkX << 4) + 16);
$y = $random->nextBoundedInt(128);
$z = $random->nextRange($chunkZ << 4, ($chunkZ << 4) + 16);
$pond = new \pocketmine\level\generator\object\Pond($random, new Water());
$pond = new \pocketmine\level\generator\object\Pond($random, Block::get(Block::WATER));
if($pond->canPlaceObject($level, $v = new Vector3($x, $y, $z))){
$pond->placeObject($level, $v);
}