hasTypeTag(BlockTypeTags::DIRT) || $block->hasTypeTag(BlockTypeTags::MUD) || match($block->getTypeId()){ BlockTypeIds::NETHERRACK, BlockTypeIds::SOUL_SAND, BlockTypeIds::SOUL_SOIL => true, default => false }; } public function onNearbyBlockChange() : void{ if(!$this->canBeSupportedBy($this->getSide(Facing::DOWN))){ $this->position->getWorld()->useBreakOn($this->position); } } public function place(BlockTransaction $tx, Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, ?Player $player = null) : bool{ if(!$this->canBeSupportedBy($blockReplace->getSide(Facing::DOWN))){ return false; } return parent::place($tx, $item, $blockReplace, $blockClicked, $face, $clickVector, $player); } public function hasEntityCollision() : bool{ return true; } public function onEntityInside(Entity $entity) : bool{ if($entity instanceof Living && !$entity->getEffects()->has(VanillaEffects::WITHER())){ $entity->getEffects()->add(new EffectInstance(VanillaEffects::WITHER(), 40)); } return true; } public function getFlameEncouragement() : int{ return 60; } public function getFlammability() : int{ return 100; } }