Fixup PHPDoc for blocks

This commit is contained in:
Dylan K. Taylor 2025-01-06 22:37:11 +00:00
parent 8e039f2711
commit 8b23231537
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
41 changed files with 15 additions and 122 deletions

View File

@ -70,9 +70,6 @@ class Anvil extends Transparent implements Fallable{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->squash(Facing::axis(Facing::rotateY($this->facing, false)), 1 / 8)]; return [AxisAlignedBB::one()->squash(Facing::axis(Facing::rotateY($this->facing, false)), 1 / 8)];
} }

View File

@ -87,9 +87,6 @@ class Bamboo extends Transparent{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
//this places the BB at the northwest corner, not the center //this places the BB at the northwest corner, not the center
$inset = 1 - (($this->thick ? 3 : 2) / 16); $inset = 1 - (($this->thick ? 3 : 2) / 16);

View File

@ -30,7 +30,6 @@ use pocketmine\block\utils\SupportType;
use pocketmine\item\Banner as ItemBanner; use pocketmine\item\Banner as ItemBanner;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\VanillaItems; use pocketmine\item\VanillaItems;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\world\BlockTransaction; use pocketmine\world\BlockTransaction;
@ -97,9 +96,6 @@ abstract class BaseBanner extends Transparent{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return []; return [];
} }

View File

@ -34,7 +34,6 @@ use pocketmine\event\block\SignChangeEvent;
use pocketmine\item\Dye; use pocketmine\item\Dye;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemTypeIds; use pocketmine\item\ItemTypeIds;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -95,9 +94,6 @@ abstract class BaseSign extends Transparent{
return 16; return 16;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return []; return [];
} }

View File

@ -76,9 +76,6 @@ class Bed extends Transparent{
} }
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 7 / 16)]; return [AxisAlignedBB::one()->trim(Facing::UP, 7 / 16)];
} }

View File

@ -75,7 +75,10 @@ class Block{
protected BlockTypeInfo $typeInfo; protected BlockTypeInfo $typeInfo;
protected Position $position; protected Position $position;
/** @var AxisAlignedBB[]|null */ /**
* @var AxisAlignedBB[]|null
* @phpstan-var list<AxisAlignedBB>|null
*/
protected ?array $collisionBoxes = null; protected ?array $collisionBoxes = null;
private int $requiredBlockItemStateDataBits; private int $requiredBlockItemStateDataBits;
@ -907,6 +910,7 @@ class Block{
* - anti-cheat checks in plugins * - anti-cheat checks in plugins
* *
* @return AxisAlignedBB[] * @return AxisAlignedBB[]
* @phpstan-return list<AxisAlignedBB>
*/ */
final public function getCollisionBoxes() : array{ final public function getCollisionBoxes() : array{
if($this->collisionBoxes === null){ if($this->collisionBoxes === null){
@ -931,6 +935,7 @@ class Block{
/** /**
* @return AxisAlignedBB[] * @return AxisAlignedBB[]
* @phpstan-return list<AxisAlignedBB>
*/ */
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()]; return [AxisAlignedBB::one()];

View File

@ -43,9 +43,6 @@ class Cactus extends Transparent{
return true; return true;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
$shrinkSize = 1 / 16; $shrinkSize = 1 / 16;
return [AxisAlignedBB::one()->contract($shrinkSize, 0, $shrinkSize)->trim(Facing::UP, $shrinkSize)]; return [AxisAlignedBB::one()->contract($shrinkSize, 0, $shrinkSize)->trim(Facing::UP, $shrinkSize)];

View File

@ -40,9 +40,6 @@ class Cake extends BaseCake{
$w->boundedIntAuto(0, self::MAX_BITES, $this->bites); $w->boundedIntAuto(0, self::MAX_BITES, $this->bites);
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [ return [
AxisAlignedBB::one() AxisAlignedBB::one()

View File

@ -36,9 +36,6 @@ class CakeWithCandle extends BaseCake{
onInteract as onInteractCandle; onInteract as onInteractCandle;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [ return [
AxisAlignedBB::one() AxisAlignedBB::one()

View File

@ -36,9 +36,6 @@ class Carpet extends Flowable{
return true; return true;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 15 / 16)]; return [AxisAlignedBB::one()->trim(Facing::UP, 15 / 16)];
} }

View File

@ -36,9 +36,6 @@ use pocketmine\player\Player;
class Chest extends Transparent{ class Chest extends Transparent{
use FacesOppositePlacingPlayerTrait; use FacesOppositePlacingPlayerTrait;
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
//these are slightly bigger than in PC //these are slightly bigger than in PC
return [AxisAlignedBB::one()->contract(0.025, 0, 0.025)->trim(Facing::UP, 0.05)]; return [AxisAlignedBB::one()->contract(0.025, 0, 0.025)->trim(Facing::UP, 0.05)];

View File

@ -50,9 +50,6 @@ class CocoaBlock extends Flowable{
$w->boundedIntAuto(0, self::MAX_AGE, $this->age); $w->boundedIntAuto(0, self::MAX_AGE, $this->age);
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [ return [
AxisAlignedBB::one() AxisAlignedBB::one()

View File

@ -62,9 +62,6 @@ class DaylightSensor extends Transparent{
return 300; return 300;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 10 / 16)]; return [AxisAlignedBB::one()->trim(Facing::UP, 10 / 16)];
} }

View File

@ -95,9 +95,6 @@ class Door extends Transparent{
return false; return false;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
//TODO: doors are 0.1825 blocks thick, instead of 0.1875 like JE (https://bugs.mojang.com/browse/MCPE-19214) //TODO: doors are 0.1825 blocks thick, instead of 0.1875 like JE (https://bugs.mojang.com/browse/MCPE-19214)
return [AxisAlignedBB::one()->trim($this->open ? Facing::rotateY($this->facing, !$this->hingeRight) : $this->facing, 327 / 400)]; return [AxisAlignedBB::one()->trim($this->open ? Facing::rotateY($this->facing, !$this->hingeRight) : $this->facing, 327 / 400)];

View File

@ -33,9 +33,6 @@ use pocketmine\player\Player;
class EnchantingTable extends Transparent{ class EnchantingTable extends Transparent{
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 0.25)]; return [AxisAlignedBB::one()->trim(Facing::UP, 0.25)];
} }

View File

@ -50,9 +50,6 @@ class EndPortalFrame extends Opaque{
return 1; return 1;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 3 / 16)]; return [AxisAlignedBB::one()->trim(Facing::UP, 3 / 16)];
} }

View File

@ -52,9 +52,6 @@ class EndRod extends Flowable{
return 14; return 14;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
$myAxis = Facing::axis($this->facing); $myAxis = Facing::axis($this->facing);

View File

@ -40,9 +40,6 @@ class EnderChest extends Transparent{
return 7; return 7;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
//these are slightly bigger than in PC //these are slightly bigger than in PC
return [AxisAlignedBB::one()->contract(0.025, 0, 0.025)->trim(Facing::UP, 0.05)]; return [AxisAlignedBB::one()->contract(0.025, 0, 0.025)->trim(Facing::UP, 0.05)];

View File

@ -94,9 +94,6 @@ class Farmland extends Transparent{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 1 / 16)]; return [AxisAlignedBB::one()->trim(Facing::UP, 1 / 16)];
} }

View File

@ -54,13 +54,9 @@ class Fence extends Transparent{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
$inset = 0.5 - $this->getThickness() / 2; $inset = 0.5 - $this->getThickness() / 2;
/** @var AxisAlignedBB[] $bbs */
$bbs = []; $bbs = [];
$connectWest = isset($this->connections[Facing::WEST]); $connectWest = isset($this->connections[Facing::WEST]);

View File

@ -64,9 +64,6 @@ class FenceGate extends Transparent{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return $this->open ? [] : [AxisAlignedBB::one()->extend(Facing::UP, 0.5)->squash(Facing::axis($this->facing), 6 / 16)]; return $this->open ? [] : [AxisAlignedBB::one()->extend(Facing::UP, 0.5)->squash(Facing::axis($this->facing), 6 / 16)];
} }

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block; namespace pocketmine\block;
use pocketmine\block\utils\SupportType; use pocketmine\block\utils\SupportType;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
/** /**
@ -46,9 +45,6 @@ abstract class Flowable extends Transparent{
parent::canBePlacedAt($blockReplace, $clickVector, $face, $isClickedBlock); parent::canBePlacedAt($blockReplace, $clickVector, $face, $isClickedBlock);
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return []; return [];
} }

View File

@ -83,9 +83,6 @@ class FlowerPot extends Flowable{
return $block->hasTypeTag(BlockTypeTags::POTTABLE_PLANTS); return $block->hasTypeTag(BlockTypeTags::POTTABLE_PLANTS);
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->contract(3 / 16, 0, 3 / 16)->trim(Facing::UP, 5 / 8)]; return [AxisAlignedBB::one()->contract(3 / 16, 0, 3 / 16)->trim(Facing::UP, 5 / 8)];
} }

View File

@ -28,7 +28,6 @@ use pocketmine\block\utils\MultiAnySupportTrait;
use pocketmine\block\utils\SupportType; use pocketmine\block\utils\SupportType;
use pocketmine\item\Fertilizer; use pocketmine\item\Fertilizer;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing; use pocketmine\math\Facing;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
@ -47,9 +46,6 @@ class GlowLichen extends Transparent{
return false; return false;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return []; return [];
} }

View File

@ -29,9 +29,6 @@ use pocketmine\math\Facing;
class GrassPath extends Transparent{ class GrassPath extends Transparent{
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 1 / 16)]; return [AxisAlignedBB::one()->trim(Facing::UP, 1 / 16)];
} }

View File

@ -58,9 +58,6 @@ class Ladder extends Transparent{
return true; return true;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim($this->facing, 13 / 16)]; return [AxisAlignedBB::one()->trim($this->facing, 13 / 16)];
} }

View File

@ -59,9 +59,6 @@ class Lantern extends Transparent{
return $this->lightLevel; return $this->lightLevel;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [ return [
AxisAlignedBB::one() AxisAlignedBB::one()

View File

@ -30,7 +30,6 @@ use pocketmine\data\runtime\RuntimeDataDescriber;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\block\BlockSpreadEvent; use pocketmine\event\block\BlockSpreadEvent;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing; use pocketmine\math\Facing;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\utils\Utils; use pocketmine\utils\Utils;
@ -89,9 +88,6 @@ abstract class Liquid extends Transparent{
return false; return false;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return []; return [];
} }

View File

@ -104,9 +104,6 @@ class MobHead extends Flowable{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
$collisionBox = AxisAlignedBB::one() $collisionBox = AxisAlignedBB::one()
->contract(0.25, 0, 0.25) ->contract(0.25, 0, 0.25)

View File

@ -28,7 +28,6 @@ use pocketmine\data\runtime\RuntimeDataDescriber;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\math\Axis; use pocketmine\math\Axis;
use pocketmine\math\AxisAlignedBB;
class NetherPortal extends Transparent{ class NetherPortal extends Transparent{
@ -62,9 +61,6 @@ class NetherPortal extends Transparent{
return false; return false;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return []; return [];
} }

View File

@ -79,9 +79,6 @@ class RedstoneComparator extends Flowable{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 7 / 8)]; return [AxisAlignedBB::one()->trim(Facing::UP, 7 / 8)];
} }

View File

@ -62,9 +62,6 @@ class RedstoneRepeater extends Flowable{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 7 / 8)]; return [AxisAlignedBB::one()->trim(Facing::UP, 7 / 8)];
} }

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\block\utils\SupportType; use pocketmine\block\utils\SupportType;
use pocketmine\data\runtime\RuntimeDataDescriber; use pocketmine\data\runtime\RuntimeDataDescriber;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\world\BlockTransaction; use pocketmine\world\BlockTransaction;
@ -70,9 +69,6 @@ class SeaPickle extends Transparent{
return $this->underwater ? ($this->count + 1) * 3 : 0; return $this->underwater ? ($this->count + 1) * 3 : 0;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return []; return [];
} }

View File

@ -93,9 +93,6 @@ class Slab extends Transparent{
return parent::place($tx, $item, $blockReplace, $blockClicked, $face, $clickVector, $player); return parent::place($tx, $item, $blockReplace, $blockClicked, $face, $clickVector, $player);
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
if($this->slabType === SlabType::DOUBLE){ if($this->slabType === SlabType::DOUBLE){
return [AxisAlignedBB::one()]; return [AxisAlignedBB::one()];

View File

@ -65,9 +65,6 @@ class SnowLayer extends Flowable implements Fallable{
return $this->layers < self::MAX_LAYERS; return $this->layers < self::MAX_LAYERS;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
//TODO: this zero-height BB is intended to stay in lockstep with a MCPE bug //TODO: this zero-height BB is intended to stay in lockstep with a MCPE bug
return [AxisAlignedBB::one()->trim(Facing::UP, $this->layers >= 4 ? 0.5 : 1)]; return [AxisAlignedBB::one()->trim(Facing::UP, $this->layers >= 4 ? 0.5 : 1)];

View File

@ -28,9 +28,6 @@ use pocketmine\math\Facing;
class SoulSand extends Opaque{ class SoulSand extends Opaque{
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim(Facing::UP, 1 / 8)]; return [AxisAlignedBB::one()->trim(Facing::UP, 1 / 8)];
} }

View File

@ -56,7 +56,6 @@ class Thin extends Transparent{
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
$inset = 7 / 16; $inset = 7 / 16;
/** @var AxisAlignedBB[] $bbs */
$bbs = []; $bbs = [];
if(isset($this->connections[Facing::WEST]) || isset($this->connections[Facing::EAST])){ if(isset($this->connections[Facing::WEST]) || isset($this->connections[Facing::EAST])){

View File

@ -62,9 +62,6 @@ class Trapdoor extends Transparent{
return $this; return $this;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->trim($this->open ? $this->facing : ($this->top ? Facing::DOWN : Facing::UP), 13 / 16)]; return [AxisAlignedBB::one()->trim($this->open ? $this->facing : ($this->top ? Facing::DOWN : Facing::UP), 13 / 16)];
} }

View File

@ -33,9 +33,6 @@ class WaterLily extends Flowable{
canBePlacedAt as supportedWhenPlacedAt; canBePlacedAt as supportedWhenPlacedAt;
} }
/**
* @return AxisAlignedBB[]
*/
protected function recalculateCollisionBoxes() : array{ protected function recalculateCollisionBoxes() : array{
return [AxisAlignedBB::one()->contract(1 / 16, 0, 1 / 16)->trim(Facing::UP, 63 / 64)]; return [AxisAlignedBB::one()->contract(1 / 16, 0, 1 / 16)->trim(Facing::UP, 63 / 64)];
} }

View File

@ -43,7 +43,10 @@ trait CandleTrait{
return $this->lit ? 3 : 0; return $this->lit ? 3 : 0;
} }
/** @see Block::onInteract() */ /**
* @param Item[] &$returnedItems
* @see Block::onInteract()
*/
public function onInteract(Item $item, int $face, Vector3 $clickVector, ?Player $player = null, array &$returnedItems = []) : bool{ public function onInteract(Item $item, int $face, Vector3 $clickVector, ?Player $player = null, array &$returnedItems = []) : bool{
if($item->getTypeId() === ItemTypeIds::FIRE_CHARGE || $item->getTypeId() === ItemTypeIds::FLINT_AND_STEEL || $item->hasEnchantment(VanillaEnchantments::FIRE_ASPECT())){ if($item->getTypeId() === ItemTypeIds::FIRE_CHARGE || $item->getTypeId() === ItemTypeIds::FLINT_AND_STEEL || $item->hasEnchantment(VanillaEnchantments::FIRE_ASPECT())){
if($this->lit){ if($this->lit){

View File

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace pocketmine\block\utils; namespace pocketmine\block\utils;
use pocketmine\block\Block;
use pocketmine\data\runtime\RuntimeDataDescriber; use pocketmine\data\runtime\RuntimeDataDescriber;
use pocketmine\item\Axe; use pocketmine\item\Axe;
use pocketmine\item\Item; use pocketmine\item\Item;
@ -58,6 +59,10 @@ trait CopperTrait{
return $this; return $this;
} }
/**
* @param Item[] &$returnedItems
* @see Block::onInteract()
*/
public function onInteract(Item $item, int $face, Vector3 $clickVector, ?Player $player = null, array &$returnedItems = []) : bool{ public function onInteract(Item $item, int $face, Vector3 $clickVector, ?Player $player = null, array &$returnedItems = []) : bool{
if(!$this->waxed && $item->getTypeId() === ItemTypeIds::HONEYCOMB){ if(!$this->waxed && $item->getTypeId() === ItemTypeIds::HONEYCOMB){
$this->waxed = true; $this->waxed = true;