Как летающие текст сделал в определенном мире?
Сделай проверку на мир
Функции spawnTo($player) и respawnTo($player) [не точно!] тебе на помощь
(корды), $this->getServer()->getLevelByName(“МИР”)), ‘’, ‘’);
помощник ты наш))
А я думал new Vector3()
я попробовал, у меня не вышло нормально сделать помоги плиз, вот код где надо сделать на определенный мир а именно world летающий текст
код:
<?php
namespace HoneyText;
use pocketmine\Server;
use pocketmine\Player;
use pocketmine\math\Vector3;
use pocketmine\utils\Config;
use pocketmine\event\Listener;
use pocketmine\plugin\PluginBase;
use pocketmine\Item\Item;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\network\mcpe\protocol\AddItemEntityPacket;
use pocketmine\level\particle\FloatingTextParticle;
class code extends PluginBase implements Listener{
public function onEnable(){
$this->getServer()->getPluginManager()->registerEvents($this, $this);
@mkdir($this->getDataFolder());
$this->config = new Config($this->getDataFolder() . "config.yml", Config::YAML, array(
'Texts' => array(
array(
'Coordinates' => '941 68 -1814',
'Text' => 'Example',
'Id' => 1
),
array(
'Coordinates' => '1 1 1',
'Text' => 'Example #2',
'Id' => 2
)
)
));
}
public function onPJE(PlayerJoinEvent $event){
$player = $event->getPlayer();
foreach($this->config->get('Texts') as $item){
$coordinates = explode(' ', $item['Coordinates']);
$coordinates[1] += 1.25;
foreach(array_reverse(explode('\n', $item['Text']), true) as $index => $text){
$text = str_replace('{player}', $player->getName(), $text);
$player->getLevel()->addParticle(new FloatingTextParticle(new Vector3($coordinates[0], $coordinates[1] + ((count(explode('\n', $item['Text'])) - $index) / 4.175 - 0.8), $coordinates[2]), null, $text), array($player));
}
switch($item['Id']) {
case '0':
$id = 0;
break;
case '1':
$id = 265;
break;
case '2':
$id = 49;
break;
case '3':
$id = 267;
break;
case '4':
$id = 278;
break;
case '5':
$id = 340;
break;
default:
$id = 266;
break;
}
$pk = new AddItemEntityPacket();
$pk->eid = mt_rand(1111, 9999);
$pk->item = Item::get($id, 0, 0);
$pk->x = $coordinates[0];
$pk->y = $coordinates[1] + 1.5;
$pk->z = $coordinates[2];
$pk->metadata = [];
$player->dataPacket($pk);
$player->dataPacket($pk);
}
}
}```
maybe AddEntityPacket, ehhh??, ладно, не буду умничать
ну помогите пожалуйста
Энтити полностью не знаю, только частично (точнее ничего)
ну блин я же спрашиваю потом что тоже не очень шарю
У @Marusel спроси, он точно в энтити шарит
FloatingTextParticle хуйня
я знаю но мне нужно просто в этой хуйне сделать её на определенный мир
@Marusel в этом коде возможно сделать текст на определенный мир?
нет, надо деспавнить текст когда игрок переходит в другой мир. Крч для каждого игрока надо отдельно спавнить этот текст и деспавнить если игрок в другом мире
знаешь где есть похожий плагин
неа
Тебе что нужно исправить баг с порталом
Приветствую! Решение на ваш вопрос:
EntityLevelChangeEvent и Position