meta = $meta; } public function getName() : string{ return "TNT"; } public function getHardness() : float{ return 0; } public function onActivate(Item $item, Player $player = null) : bool{ if($item->getId() === Item::FLINT_STEEL){ $item->useOn($this); $this->ignite(); return true; } return false; } public function ignite(int $fuse = 80){ $this->getLevel()->setBlock($this, BlockFactory::get(Block::AIR), true); $mot = (new Random())->nextSignedFloat() * M_PI * 2; $nbt = Entity::createBaseNBT($this->add(0.5, 0, 0.5), new Vector3(-sin($mot) * 0.02, 0.2, -cos($mot) * 0.02)); $nbt->setShort("Fuse", $fuse); $tnt = Entity::createEntity("PrimedTNT", $this->getLevel(), $nbt); if($tnt !== null){ $tnt->spawnToAll(); } } }