Make state setters fluent, clean up some BlockFactory noise

This commit is contained in:
Dylan K. Taylor 2018-12-05 15:03:59 +00:00
parent ceef3110d7
commit 2014ebccd8
7 changed files with 49 additions and 32 deletions

View File

@ -101,13 +101,9 @@ class BlockFactory{
self::registerBlock(new Bedrock());
self::registerBlock(new Water());
$b = new Water();
$b->setStill();
self::registerBlock($b); //flattening hack
self::registerBlock((new Water())->setStill()); //flattening hack
self::registerBlock(new Lava());
$b = new Lava();
$b->setStill();
self::registerBlock($b); //flattening hack
self::registerBlock((new Lava())->setStill()); //flattening hack
self::registerBlock(new Sand(Block::SAND, 0, "Sand"));
self::registerBlock(new Sand(Block::SAND, 1, "Red Sand"));
@ -214,10 +210,7 @@ class BlockFactory{
self::registerBlock(new Farmland());
self::registerBlock(new Furnace());
$furnace = new Furnace();
$furnace->setLit();
self::registerBlock($furnace); //flattening hack
self::registerBlock((new Furnace())->setLit()); //flattening hack
self::registerBlock(new SignPost());
self::registerBlock(new WoodenDoor(Block::OAK_DOOR_BLOCK, 0, "Oak Door", Item::OAK_DOOR));
@ -230,16 +223,9 @@ class BlockFactory{
self::registerBlock(new IronDoor());
self::registerBlock(new WoodenPressurePlate());
self::registerBlock(new RedstoneOre());
$litRedstone = new RedstoneOre();
$litRedstone->setLit();
self::registerBlock($litRedstone); //flattening hack
self::registerBlock((new RedstoneOre())->setLit()); //flattening hack
self::registerBlock(new RedstoneTorch());
$unlitRedstoneTorch = new RedstoneTorch();
$unlitRedstoneTorch->setLit(false);
self::registerBlock($unlitRedstoneTorch); //flattening hack
self::registerBlock((new RedstoneTorch())->setLit()); //flattening hack
self::registerBlock(new StoneButton());
self::registerBlock(new SnowLayer());
self::registerBlock(new Ice());
@ -292,10 +278,7 @@ class BlockFactory{
self::registerBlock(new EndStone());
//TODO: DRAGON_EGG
self::registerBlock(new RedstoneLamp());
$litLamp = new RedstoneLamp();
$litLamp->setLit();
self::registerBlock($litLamp); //flattening hack
self::registerBlock((new RedstoneLamp())->setLit()); //flattening hack
//TODO: DROPPER
self::registerBlock(new ActivatorRail());
self::registerBlock(new CocoaBlock());
@ -330,9 +313,7 @@ class BlockFactory{
//TODO: COMPARATOR_BLOCK
//TODO: POWERED_COMPARATOR
self::registerBlock(new DaylightSensor());
$invertedSensor = new DaylightSensor();
$invertedSensor->setInverted();
self::registerBlock($invertedSensor); //flattening hack
self::registerBlock((new DaylightSensor())->setInverted()); //flattening hack
self::registerBlock(new Redstone());
self::registerBlock(new NetherQuartzOre());

View File

@ -62,8 +62,14 @@ class DaylightSensor extends Transparent{
return $this->inverted;
}
public function setInverted(bool $inverted = true) : void{
/**
* @param bool $inverted
*
* @return $this
*/
public function setInverted(bool $inverted = true) : self{
$this->inverted = $inverted;
return $this;
}
public function getName() : string{

View File

@ -85,8 +85,14 @@ class Furnace extends Solid{
return $this->lit;
}
public function setLit(bool $lit = true) : void{
/**
* @param bool $lit
*
* @return $this
*/
public function setLit(bool $lit = true) : self{
$this->lit = $lit;
return $this;
}
public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, Player $player = null) : bool{

View File

@ -137,8 +137,14 @@ abstract class Liquid extends Transparent{
return $this->still;
}
public function setStill(bool $still = true) : void{
/**
* @param bool $still
*
* @return $this
*/
public function setStill(bool $still = true) : self{
$this->still = $still;
return $this;
}
protected function getEffectiveFlowDecay(Block $block) : int{

View File

@ -42,8 +42,14 @@ class RedstoneLamp extends Solid{
return $this->lit;
}
public function setLit(bool $lit = true) : void{
/**
* @param bool $lit
*
* @return $this
*/
public function setLit(bool $lit = true) : self{
$this->lit = $lit;
return $this;
}
public function getLightLevel() : int{

View File

@ -56,8 +56,14 @@ class RedstoneOre extends Solid{
return $this->lit;
}
public function setLit(bool $lit = true) : void{
/**
* @param bool $lit
*
* @return $this
*/
public function setLit(bool $lit = true) : self{
$this->lit = $lit;
return $this;
}
public function getLightLevel() : int{

View File

@ -42,8 +42,14 @@ class RedstoneTorch extends Torch{
return $this->lit;
}
public function setLit(bool $lit = true) : void{
/**
* @param bool $lit
*
* @return $this
*/
public function setLit(bool $lit = true) : self{
$this->lit = $lit;
return $this;
}
public function getLightLevel() : int{