привет, мне нужна помощь с кодом
код должен спавнить табличку на месте смерти игрока
<?php
namespace Riovsky;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerDeathEvent;
use pocketmine\item\Item;
use pocketmine\level\Position;
use pocketmine\tile\Sign;
use pocketmine\tile\Tile;
use pocketmine\plugin\PluginBase;
use pocketmine\nbt\tag\StringTag;
class DeathSign extends PluginBase implements Listener {
public function onEnable() {
$this->getServer()->getPluginManager()->registerEvents($this, $this);
}
public function onPlayerDeath(PlayerDeathEvent $event) {
$player = $event->getPlayer();
$cause = $player->getLastDamageCause();
if ($cause !== null) {
$deathMessage = $player->getName() . " died: " . $cause->getCause();
$this->createDeathSign($player, $deathMessage);
}
}
private function createDeathSign($player, $message) {
$level = $player->getLevel();
$x = $player->getX();
$y = $player->getY();
$z = $player->getZ();
$signPosition = new Position($x, $y, $z, $level);
// The correct way to create a tile
$sign = Tile::createTile(Tile::SIGN, $level, Sign::class, [
new StringTag("Text1", ""),
new StringTag("Text2", ""),
new StringTag("Text3", ""),
new StringTag("Text4", ""),
]);
if ($sign instanceof Sign) {
$message = "§r§fЯ вбитий";
$sign->setText("Death", "", $message, "");
$level->addTile($sign);
}
}
}
ошибка [Server thread/CRITICAL]: Could not pass event ‘pocketmine\event\player\PlayerDeathEvent’ to ‘Sign v0.1’: Argument 3 passed to pocketmine\tile\Tile::createTile() must be an instance of pocketmine\nbt\tag\CompoundTag, string given, called in E:\Midnight MurderMystery\plugins\Sign\src\Riovsky\DeathSign.php on line 43 on Riovsky\DeathSign
[18:21:05] [Server thread/CRITICAL]: TypeError: “Argument 3 passed to pocketmine\tile\Tile::createTile() must be an instance of pocketmine\nbt\tag\CompoundTag, string given, called in E:\Midnight MurderMystery\plugins\Sign\src\Riovsky\DeathSign.php on line 43” (EXCEPTION) in “src/pocketmine/tile/Tile” at line 89``
