Block: introduce logic for face support types (#4886)

fixes #4856
fixes #458
fixes #4529
fixes #3299

Added API method Block::getSupportType(Facing) : SupportType
Added SupportType enum
fixes torch, lantern, door etc. placement on slabs and upside-down stairs
This commit is contained in:
ShockedPlot7560
2022-05-20 16:18:34 +02:00
committed by GitHub
parent 6d941640a9
commit 6482aa7c64
52 changed files with 427 additions and 55 deletions

View File

@ -27,6 +27,7 @@ use pocketmine\block\tile\Lectern as TileLectern;
use pocketmine\block\utils\BlockDataSerializer;
use pocketmine\block\utils\FacesOppositePlacingPlayerTrait;
use pocketmine\block\utils\HorizontalFacingTrait;
use pocketmine\block\utils\SupportType;
use pocketmine\item\Item;
use pocketmine\item\WritableBookBase;
use pocketmine\math\AxisAlignedBB;
@ -92,6 +93,10 @@ class Lectern extends Transparent{
return [AxisAlignedBB::one()->trim(Facing::UP, 0.1)];
}
public function getSupportType(int $facing) : SupportType{
return SupportType::NONE();
}
public function isProducingSignal() : bool{ return $this->producingSignal; }
/** @return $this */