Как сделать так?

как сделать чтобы когда игрок поставил определенный блок, и блоку добавилась Тег
кодом скиньте если не сложно

что добавилось?

тег в виде летающего текста

public function handleBlockPlace(BlockPlaceEvent $event){
    $block = $event->getBlock();
    if($block->getId() === BlockIds::STAINED_CLAY){
        $block->getLevel()->addParticle(new FloatingTextParticle($block->asPosition(), 'head', 'text');
    }
}
1 лайк

ParseError: “syntax error, unexpected ‘;’, expecting ‘)’” (EXCEPTION) in “plugins/Guard/src/guard/Guard” at line 164

public function onPlace(BlockPlaceEvent $e){
$block = $e->getBlock();
$p = $e->getPlayer();
$n = $p->getName();
$id = $e->getBlock()->getId();
$x = $e->getBlock()->getFloorX();
$y = $e->getBlock()->getFloorY();
$z = $e->getBlock()->getFloorZ();
if($id == 224){
$name = $x.$y.$z;
$this->cfg->setNested(“$name.x”, $x);
$this->cfg->setNested(“$name.y”, $y);
$this->cfg->setNested(“$name.z”, $z);
$this->cfg->setNested(“$name.owner”, $n);
$this->mm = new Config($this->getDataFolder().$n.“.yml”, Config::YAML);
$this->mm->set($n, true);
$this->mm->save();
$this->cfg->save();
$p->sendPopup(“§l§aПриват успешно!”);
164. $block->getLevel()->addParticle(new FloatingTextParticle($block->asPosition(), ‘§aМаленький приват’, ‘§b9x9x9’);
}

закрывающей скобки не хватает

$block->getLevel()->addParticle(new FloatingTextParticle($block->asPosition(), ‘§aМаленький приват’, ‘§b9x9x9’));
  • он не пропал после того как я его сломал

ну да) ты попросил спавн партикла, дали спавн

ну ок пасибо


А ты не **уел, прости?

Ахахаха

Как много скамеров развелось

блять я немогу сразу 3 вопрос решен поставить

Боже чел

function removeCustomFloating($player, $id){

    	$pk = new \pocketmine\network\mcpe\protocol\RemoveEntityPacket();
		$pk->eid = $id;

		$player->dataPacket($pk);
    }
$this->idfloating[$x . $y . $z] = $id;

Только после этого придётся переписать летающий текст)

function createCustomFloating($player, $x, $y, $z, $text){

    	if(isset($this->idfloating[$x . $y . $z])) $id = $this->idfloating[$x . $y . $z]; else $id = Entity::$entityCount++; //$id = $this->entityfloating;

    	$pk = new \pocketmine\network\mcpe\protocol\AddPlayerPacket();
   		$pk->eid = $id;
   		$pk->uuid = \pocketmine\utils\UUID::fromRandom();
   		$pk->username = "null";
   		$pk->x = $x; $pk->y = $y; $pk->z = $z;
   		$pk->item = Item::get(Item::AIR);

   		$flags = (
			(1 << Entity::DATA_FLAG_CAN_SHOW_NAMETAG) |
			(1 << Entity::DATA_FLAG_ALWAYS_SHOW_NAMETAG) |
			(1 << Entity::DATA_FLAG_IMMOBILE)
		);

   		$pk->metadata = [
			Entity::DATA_FLAGS => [Entity::DATA_TYPE_LONG, $flags],
			Entity::DATA_NAMETAG => [Entity::DATA_TYPE_STRING, $text],
			Entity::DATA_SCALE => [Entity::DATA_TYPE_FLOAT, 0],
		];

        $player->dataPacket($pk);

        $this->idfloating[$x . $y . $z] = $id; // $this->entityfloating++;
    }

что это такое

Сохранил координаты, можно было через new Vector3() но этот код не мой

Сохранил айди летающего текста по координатам

О боже