Игрок спавнится не там


Секунда давно прошла

Почему везде виноват 1.1.5???
У меня спавн и команда /setworldspawn работают без проблем
А ваш 1.19 застрял как заноза в моём телефоне

Виноват де-факто

1 лайк

Говно стайл + ковно код + он никак не поможет

private $config;

public function onEnable(){
  $this->getServer()->getPluginManager()->registerEvents($this, $this);
  @mkdir($this->getDataFolder());
  $this->config = new Config($this->getDataFolder() . "spawnPoints.yml", Config::YAML);
}

public function onJoin(PlayerJoinEvent $event){
  $player = $event->getPlayer();
  $name = strtolower($player->getName());

  if($this->config->exists($name)){
    $pos = $this->config->get($name);
    $player->teleport(new Vector3($pos["x"], $pos["y"], $pos["z"]));
  }
}

public function onQuit(PlayerQuitEvent $event){
  $player = $event->getPlayer();
  $this->config->set(strtolower($player->getName()), [
    "x" => $player->x,
    "y" => $player->y,
    "z" => $player->z
  ]);
  $this->config->save();
}

Сорри я становлюсь немного дедди.

Это прозвучало двухзначимо…

private $config;

function onEnable(){
  $this->getServer()->getPluginManager()->registerEvents($this, $this);
  $this->config = new Config("/твой/путь/до/папки/хранения/spawnPoints.yml", Config::YAML);
}

function onJoin(PlayerJoinEvent $event){
  $player = $event->getPlayer();
  $name = $player->getLowerCaseName();

  if($this->config->exists($name)) return $player->teleport(new Vector3($this->config->get($name)['x'], $this->config->get($name)['y'], $this->config->get($name)['z']);
}

function onQuit(PlayerQuitEvent $event){
  $player = $event->getPlayer();
  $this->config->set($player->getLowerCaseName(), [
    "x" => $player->x,
    "y" => $player->y,
    "z" => $player->z
  ]);
  $this->config->save();
}

немного поменял

вот мне интересно, а зачем создавать папку? неудобно же

молодец, создавай конфиг в папке, которой может не быть на диске

как ты был говнокодером

директории для хранения конфигов плагинов никому не мешали

1.1 be like:
Удалить ненужные команды? Переименовать отображение имени ядра в сети? Добавить блок, предмет? Плагином это делать позерство! А вот один из немногих моментов, когда можно засунуть кривые руки в ядро и пофиксить, либо скачать форк форка, вы решаете плагином. С этой аудиторией явно что-то не так :thinking:

1 лайк

Потому что по умолчанию папка плагина это папка с названием плагина, и если папка плагина != название плагина = крах

Поэтому если какой то умник решил сделать название папки плагина другим от названия плагина, надо создавать папку с названием плагина

Надеюсь понятно

Фигня, потому что не универсально, при переходя на другой хостинг/вдс надо будет менять

я впринципе не храню конфиги так как здесь, у меня для этого отдельная директория)

поэтому я сделал так)

кому надо - тот изменит.

Ну так вот я изначально и написал универсальный код

с моим указанием пути до файла, плагин, например, не запустится на той же винде, ведь тебе придется менять все, это да

Ну и без обид но твоя функция onJoin не много говно стайл. Если код используется более двух раз, крассивее использовать переменную, как сделал это я

но сука неудобно это все дело хранить по другому, особенно, когда у тебя достаточно много важных данных, как например, база с группами. именно поэтому я выбрал для себя хранение в отдельной директории, чтобы лишний раз ничего не затрагивать