Comments 8
Крутой плагин
Конфиг-файл создавать и загружать можно в две строчки, с помощью saveDefultConfig() и getConfig().
Тут подробнее о конфигах в спиготе:
https://www.spigotmc.org/wiki/config-files/
Если чанки не прогружены в конечной точке телепортации, то внезапный телепорт туда вызовет панику небольшую для сервера, на спиготе их желательно заранее прогрузить, а на бумаге использовать teleportAsync.
Частицы так спавнить вполне себе ок, главное не забывать, что с главного потока использовать sleep может быть очень больно (в вашем случае 23 наносекунды - фигня).
Location сериализируется и десериализируется без проблем уже встроенным ридером yaml.
Ну и да, у спигота довольно хорошая поддержка работы с файлами конфигураций. Есть методы для загрузки дефолтного файла из jar, есть методы для установки дефолтных значений и даже работа с комментами.
Ах да, проверка местоположения игрока это очень дешёвая операция, её вполне можно вызывать на событии движения как только игрок чуть ниже минимальной координаты. Ой, ещё забыл, начиная с 1.18 разные миры имеют разную минимальную высоту, которую лучше проверять :)
Благодарю за объяснение! Для меня вся информация полезна, т.к. только недавно начал познавать данный сектор. Думаю, что я буду дальше развивать этот плагин и в следующих версиях доработаю эти моменты :)
Не совсем понял почему в метод updateWorlds() передаются конкретные реализации интерфейсов, а не сами интерфейсы List<?> и Map<?>
Разработка собственного плагина для сервера Minecraft