mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-11 05:55:33 +00:00
Block: fixed LSP violations in blocks using BlockIdentifierFlattened
a property's type can't be changed by a subclass
This commit is contained in:
parent
285ad25168
commit
73c229a236
@ -39,17 +39,18 @@ class DaylightSensor extends Transparent{
|
|||||||
use AnalogRedstoneSignalEmitterTrait;
|
use AnalogRedstoneSignalEmitterTrait;
|
||||||
|
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
protected $inverted = false;
|
protected $inverted = false;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->inverted ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->inverted ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function writeStateToMeta() : int{
|
protected function writeStateToMeta() : int{
|
||||||
@ -58,7 +59,7 @@ class DaylightSensor extends Transparent{
|
|||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->signalStrength = BlockDataSerializer::readBoundedInt("signalStrength", $stateMeta, 0, 15);
|
$this->signalStrength = BlockDataSerializer::readBoundedInt("signalStrength", $stateMeta, 0, 15);
|
||||||
$this->inverted = $id === $this->idInfo->getSecondId();
|
$this->inverted = $id === $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getStateBitmask() : int{
|
public function getStateBitmask() : int{
|
||||||
|
@ -37,16 +37,17 @@ use function rad2deg;
|
|||||||
|
|
||||||
final class FloorCoralFan extends BaseCoral{
|
final class FloorCoralFan extends BaseCoral{
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
private int $axis = Axis::X;
|
private int $axis = Axis::X;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->dead = $id === $this->idInfo->getSecondId();
|
$this->dead = $id === $this->idInfoFlattened->getSecondId();
|
||||||
$this->axis = ($stateMeta >> 3) === BlockLegacyMetadata::CORAL_FAN_EAST_WEST ? Axis::X : Axis::Z;
|
$this->axis = ($stateMeta >> 3) === BlockLegacyMetadata::CORAL_FAN_EAST_WEST ? Axis::X : Axis::Z;
|
||||||
$coralType = CoralTypeIdMap::getInstance()->fromId($stateMeta & BlockLegacyMetadata::CORAL_FAN_TYPE_MASK);
|
$coralType = CoralTypeIdMap::getInstance()->fromId($stateMeta & BlockLegacyMetadata::CORAL_FAN_TYPE_MASK);
|
||||||
if($coralType === null){
|
if($coralType === null){
|
||||||
@ -56,7 +57,7 @@ final class FloorCoralFan extends BaseCoral{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->dead ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->dead ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function asItem() : Item{
|
public function asItem() : Item{
|
||||||
|
@ -37,22 +37,23 @@ class Furnace extends Opaque{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
protected $lit = false; //this is set based on the blockID
|
protected $lit = false; //this is set based on the blockID
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->lit ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->lit ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->readFacingStateFromData($id, $stateMeta);
|
$this->readFacingStateFromData($id, $stateMeta);
|
||||||
$this->lit = $id === $this->idInfo->getSecondId();
|
$this->lit = $id === $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLightLevel() : int{
|
public function getLightLevel() : int{
|
||||||
|
@ -40,7 +40,7 @@ use function min;
|
|||||||
|
|
||||||
abstract class Liquid extends Transparent{
|
abstract class Liquid extends Transparent{
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var int */
|
/** @var int */
|
||||||
public $adjacentSources = 0;
|
public $adjacentSources = 0;
|
||||||
@ -63,11 +63,12 @@ abstract class Liquid extends Transparent{
|
|||||||
protected $still = false;
|
protected $still = false;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->still ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->still ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function writeStateToMeta() : int{
|
protected function writeStateToMeta() : int{
|
||||||
@ -77,7 +78,7 @@ abstract class Liquid extends Transparent{
|
|||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->decay = BlockDataSerializer::readBoundedInt("decay", $stateMeta & 0x07, 0, 7);
|
$this->decay = BlockDataSerializer::readBoundedInt("decay", $stateMeta & 0x07, 0, 7);
|
||||||
$this->falling = ($stateMeta & BlockLegacyMetadata::LIQUID_FLAG_FALLING) !== 0;
|
$this->falling = ($stateMeta & BlockLegacyMetadata::LIQUID_FLAG_FALLING) !== 0;
|
||||||
$this->still = $id === $this->idInfo->getSecondId();
|
$this->still = $id === $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getStateBitmask() : int{
|
public function getStateBitmask() : int{
|
||||||
|
@ -42,23 +42,24 @@ class RedstoneComparator extends Flowable{
|
|||||||
use PoweredByRedstoneTrait;
|
use PoweredByRedstoneTrait;
|
||||||
|
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
protected $isSubtractMode = false;
|
protected $isSubtractMode = false;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->powered ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->powered ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->facing = BlockDataSerializer::readLegacyHorizontalFacing($stateMeta & 0x03);
|
$this->facing = BlockDataSerializer::readLegacyHorizontalFacing($stateMeta & 0x03);
|
||||||
$this->isSubtractMode = ($stateMeta & BlockLegacyMetadata::REDSTONE_COMPARATOR_FLAG_SUBTRACT) !== 0;
|
$this->isSubtractMode = ($stateMeta & BlockLegacyMetadata::REDSTONE_COMPARATOR_FLAG_SUBTRACT) !== 0;
|
||||||
$this->powered = ($id === $this->idInfo->getSecondId() or ($stateMeta & BlockLegacyMetadata::REDSTONE_COMPARATOR_FLAG_POWERED) !== 0);
|
$this->powered = ($id === $this->idInfoFlattened->getSecondId() or ($stateMeta & BlockLegacyMetadata::REDSTONE_COMPARATOR_FLAG_POWERED) !== 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function writeStateToMeta() : int{
|
public function writeStateToMeta() : int{
|
||||||
|
@ -29,18 +29,19 @@ class RedstoneLamp extends Opaque{
|
|||||||
use PoweredByRedstoneTrait;
|
use PoweredByRedstoneTrait;
|
||||||
|
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->powered ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->powered ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->powered = $id === $this->idInfo->getSecondId();
|
$this->powered = $id === $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLightLevel() : int{
|
public function getLightLevel() : int{
|
||||||
|
@ -31,21 +31,22 @@ use function mt_rand;
|
|||||||
|
|
||||||
class RedstoneOre extends Opaque{
|
class RedstoneOre extends Opaque{
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
protected $lit = false;
|
protected $lit = false;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->lit ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->lit ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->lit = $id === $this->idInfo->getSecondId();
|
$this->lit = $id === $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isLit() : bool{
|
public function isLit() : bool{
|
||||||
|
@ -38,23 +38,24 @@ class RedstoneRepeater extends Flowable{
|
|||||||
use PoweredByRedstoneTrait;
|
use PoweredByRedstoneTrait;
|
||||||
|
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var int */
|
/** @var int */
|
||||||
protected $delay = 1;
|
protected $delay = 1;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->powered ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->powered ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
$this->facing = BlockDataSerializer::readLegacyHorizontalFacing($stateMeta & 0x03);
|
$this->facing = BlockDataSerializer::readLegacyHorizontalFacing($stateMeta & 0x03);
|
||||||
$this->delay = BlockDataSerializer::readBoundedInt("delay", ($stateMeta >> 2) + 1, 1, 4);
|
$this->delay = BlockDataSerializer::readBoundedInt("delay", ($stateMeta >> 2) + 1, 1, 4);
|
||||||
$this->powered = $id === $this->idInfo->getSecondId();
|
$this->powered = $id === $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function writeStateToMeta() : int{
|
public function writeStateToMeta() : int{
|
||||||
|
@ -26,22 +26,23 @@ namespace pocketmine\block;
|
|||||||
class RedstoneTorch extends Torch{
|
class RedstoneTorch extends Torch{
|
||||||
|
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
protected $lit = true;
|
protected $lit = true;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->lit ? parent::getId() : $this->idInfo->getSecondId();
|
return $this->lit ? parent::getId() : $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
parent::readStateFromData($id, $stateMeta);
|
parent::readStateFromData($id, $stateMeta);
|
||||||
$this->lit = $id !== $this->idInfo->getSecondId();
|
$this->lit = $id !== $this->idInfoFlattened->getSecondId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isLit() : bool{
|
public function isLit() : bool{
|
||||||
|
@ -33,18 +33,19 @@ use pocketmine\world\BlockTransaction;
|
|||||||
|
|
||||||
class Slab extends Transparent{
|
class Slab extends Transparent{
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
/** @var SlabType */
|
/** @var SlabType */
|
||||||
protected $slabType;
|
protected $slabType;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name . " Slab", $breakInfo);
|
parent::__construct($idInfo, $name . " Slab", $breakInfo);
|
||||||
$this->slabType = SlabType::BOTTOM();
|
$this->slabType = SlabType::BOTTOM();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
return $this->slabType->equals(SlabType::DOUBLE()) ? $this->idInfo->getSecondId() : parent::getId();
|
return $this->slabType->equals(SlabType::DOUBLE()) ? $this->idInfoFlattened->getSecondId() : parent::getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function writeStateToMeta() : int{
|
protected function writeStateToMeta() : int{
|
||||||
@ -55,7 +56,7 @@ class Slab extends Transparent{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function readStateFromData(int $id, int $stateMeta) : void{
|
public function readStateFromData(int $id, int $stateMeta) : void{
|
||||||
if($id === $this->idInfo->getSecondId()){
|
if($id === $this->idInfoFlattened->getSecondId()){
|
||||||
$this->slabType = SlabType::DOUBLE();
|
$this->slabType = SlabType::DOUBLE();
|
||||||
}else{
|
}else{
|
||||||
$this->slabType = ($stateMeta & BlockLegacyMetadata::SLAB_FLAG_UPPER) !== 0 ? SlabType::TOP() : SlabType::BOTTOM();
|
$this->slabType = ($stateMeta & BlockLegacyMetadata::SLAB_FLAG_UPPER) !== 0 ? SlabType::TOP() : SlabType::BOTTOM();
|
||||||
|
@ -42,9 +42,10 @@ final class WallCoralFan extends BaseCoral{
|
|||||||
use HorizontalFacingTrait;
|
use HorizontalFacingTrait;
|
||||||
|
|
||||||
/** @var BlockIdentifierFlattened */
|
/** @var BlockIdentifierFlattened */
|
||||||
protected $idInfo;
|
protected $idInfoFlattened;
|
||||||
|
|
||||||
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
public function __construct(BlockIdentifierFlattened $idInfo, string $name, BlockBreakInfo $breakInfo){
|
||||||
|
$this->idInfoFlattened = $idInfo;
|
||||||
parent::__construct($idInfo, $name, $breakInfo);
|
parent::__construct($idInfo, $name, $breakInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,13 +55,13 @@ final class WallCoralFan extends BaseCoral{
|
|||||||
|
|
||||||
$coralTypeFlag = $stateMeta & BlockLegacyMetadata::CORAL_FAN_HANG_TYPE_MASK;
|
$coralTypeFlag = $stateMeta & BlockLegacyMetadata::CORAL_FAN_HANG_TYPE_MASK;
|
||||||
switch($id){
|
switch($id){
|
||||||
case $this->idInfo->getBlockId():
|
case $this->idInfoFlattened->getBlockId():
|
||||||
$this->coralType = $coralTypeFlag === BlockLegacyMetadata::CORAL_FAN_HANG_TUBE ? CoralType::TUBE() : CoralType::BRAIN();
|
$this->coralType = $coralTypeFlag === BlockLegacyMetadata::CORAL_FAN_HANG_TUBE ? CoralType::TUBE() : CoralType::BRAIN();
|
||||||
break;
|
break;
|
||||||
case $this->idInfo->getAdditionalId(0):
|
case $this->idInfoFlattened->getAdditionalId(0):
|
||||||
$this->coralType = $coralTypeFlag === BlockLegacyMetadata::CORAL_FAN_HANG2_BUBBLE ? CoralType::BUBBLE() : CoralType::FIRE();
|
$this->coralType = $coralTypeFlag === BlockLegacyMetadata::CORAL_FAN_HANG2_BUBBLE ? CoralType::BUBBLE() : CoralType::FIRE();
|
||||||
break;
|
break;
|
||||||
case $this->idInfo->getAdditionalId(1):
|
case $this->idInfoFlattened->getAdditionalId(1):
|
||||||
if($coralTypeFlag !== BlockLegacyMetadata::CORAL_FAN_HANG3_HORN){
|
if($coralTypeFlag !== BlockLegacyMetadata::CORAL_FAN_HANG3_HORN){
|
||||||
throw new InvalidBlockStateException("Invalid CORAL_FAN_HANG3 type");
|
throw new InvalidBlockStateException("Invalid CORAL_FAN_HANG3 type");
|
||||||
}
|
}
|
||||||
@ -73,11 +74,11 @@ final class WallCoralFan extends BaseCoral{
|
|||||||
|
|
||||||
public function getId() : int{
|
public function getId() : int{
|
||||||
if($this->coralType->equals(CoralType::TUBE()) || $this->coralType->equals(CoralType::BRAIN())){
|
if($this->coralType->equals(CoralType::TUBE()) || $this->coralType->equals(CoralType::BRAIN())){
|
||||||
return $this->idInfo->getBlockId();
|
return $this->idInfoFlattened->getBlockId();
|
||||||
}elseif($this->coralType->equals(CoralType::BUBBLE()) || $this->coralType->equals(CoralType::FIRE())){
|
}elseif($this->coralType->equals(CoralType::BUBBLE()) || $this->coralType->equals(CoralType::FIRE())){
|
||||||
return $this->idInfo->getAdditionalId(0);
|
return $this->idInfoFlattened->getAdditionalId(0);
|
||||||
}elseif($this->coralType->equals(CoralType::HORN())){
|
}elseif($this->coralType->equals(CoralType::HORN())){
|
||||||
return $this->idInfo->getAdditionalId(1);
|
return $this->idInfoFlattened->getAdditionalId(1);
|
||||||
}
|
}
|
||||||
throw new AssumptionFailedError("All types of coral should be covered");
|
throw new AssumptionFailedError("All types of coral should be covered");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user