- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Paper
- Минимальная версия Java
- 16
LunaSpring - обширная библиотека, созданная для упрощения процесса разработки плагинов на Minecraft сервера. Она имеет встроенные классы конфигураций, работы и создания меню (инвентарей), предметов, команд, баз данных и гигантское количество полезных утилит.
Разработана участниками команды SateSpace (You must be logged in to see this link., You must be logged in to see this link.)
Применение вне разработки
Большинство пользователей любых форумов плагинов (например, spigotmc) не являются разработчиками плагинов. Поэтому в LunaSpring были добавлены и просто вспомогательные функции для упрощения управления самим сервером:- Встроенная система цветов-заменителей. Многие сервера используют какую-либо свою палитру цветов во всех плагинах и конфигах, но иногда появляется желание, когда нужно поменять один из цветов этой палитры, что же делать? Не менять же каждый файл, верно? В конфигурации LunaSpring можно указать свои собственные цвета или в целом любые заменители, они используются во всех плагинах, написанных при помощи нашей библиотеки, а также в плейсхолдерах (PlaceholderAPI)
- Дополнительные флаги WorldGuard. LunaSpring автоматически предоставляет новые флаги регионов при наличии соответствующего плагина. Были добавлены:
- lsp-elytra-glide - отключает глайдинг на элитрах
- lsp-elytra-glide-hard - отключает в целом попытку сдвинуться при глайдинге
- lsp-elytra-boost - отключает возможность ускориться фейерверком
- lsp-enable-fly - отключает возможность включить полёт
- lsp-enable-sprint - отключает возможность бегать
- lsp-enable-sneak - отключает возможнось присесть
- lsp-shear-entities - отключает возможность постричь овец/грибных коров
- lsp-bukket-fill - отключает возможность налить жидкость в ведро
- lsp-bukket-empty - отключает возможность опустошить ведро
- lsp-jump - отключает возможность прыгнуть
- lsp-damage-items - отключает возможность поломать предмет
- lsp-enable-crafts - отключает крафты
- lsp-receive-damage - фактически делает игроков неуязвимыми
- lsp-use-portals - запрещает использовать порталы
- lsp-disable-exhaust-food-level - запрещает трату голода
- Встроенные плейсхолдеры. LunaSpring добавляет также и свои плейсхолдеры для плагина PlaceholderAPI:
- %lunaspring_hooked% - вернёт все плагины, написанные на LunaSpring через запятую
- %lunaspring_register-<имя плагина>% - вернёт yes, если такой, написанный на библиотеке, плагин существует. Иначе - no
- %lunaspring_localize-<путь до перевода>% - переводит текст на значение, лежащее в конфиге localization.yml по пути Custom.<путь до перевода>. Данный плейсхолдер поддерживает ввод внутренних плейсхолдеров через фигурные скобки. Пример: %lunaspring_localize-{player_name}%
- %lunaspring_color-<цвет>% - вернёт текст цвета. Пример: %lunaspring_color-{S}%
- %lunaspring_lp-<тип перевода>-<тип отображаемого времени>% - вернёт время до окончания наивысшей привилегии Luckperms, если она навсегда, то вернёт ∞. Для корректной работы требуется PlaceholderAPI expansion LuckPerms.
/// Типы перевода: SHORT_TRANSLATE_WITH_POINTS (г., мес., ч., м., с.), TRANSLATE_WITH_POINTS (г., мес., ч., мин., сек.), SHORT_TRANSLATE (г, мес, ч, м, с), ONLY_TRANSLATE (г, мес, ч, мин, сек), NONE (y, mo, h, m, s)
/// Типы отображаемого времени: ONLY_DAYS (показывает общее время в днях, если осталось меньше, то отобразит <1), DAYS_OR_HOURS (показывает общее время в днях, если осталось меньше, то отобразит время в часах), DAYS_WITH_HOURS (показывает общее время и в днях, и в часах), MAXIMAL_SC (показывает общее время в максимальном времени исчисления (сначала года, потом месяцы, потом дни, а когда осталось меньше - то часы, минуты и секунды), MAXIMAL_SC_DAYS (такой же как MAXIMAL_SC, но максимальное время исчисления - дни)
Применение в разработке
Наша библиотека писалась в первую очередь для разработки и в неё было добавлено следующее:- Обработчики команд с помощью удобных аннотаций
- Специальные Conditions для различных проверок в схожем формате, как и в DeluxeMenus
- Удобные и уже полноценны классы для работы с конфигурациями (IConfig, Configuration, PluginConfig)
- Упрощённая работа с базами данных (в частности MySQL)
- Работы с ItemComponent для создания своих кастомных предметов с уникальными свойствами
- Наиболее оптимальная и удобная работа с инвентарями и вставляемыми в них предметами. Достаточно лёгкий процесс создания синхронизации одного инвентаря между игроками и автоматическим обновлением раз в N тиков
- Просто создание своих модулей, которые могут подтягиваться с других плагинов
- Встроенная поддержка режима скрытия (vanish) в метод через VanishManager
- Готовые сервисы и менеджеры функций и возможностей с других плагинов (по типу NBT-API, WorldGuard и другое)
- Удобная реализация рандома через класс Rarity с настройкой шанса
- Написанный и готовый для работы сканер классов любого плагина по аннотациям
- Автоматизированная работа с потоками и отложенными задачами
- Адаптивный кэш в виде Map<K, V>
- Удобное создание босс-баров через LunaBossBar
- Огромное количество утилит (Utils, LunaMath, ComponentUtils, AnnounceUtils и другие)
Обо всём можно прочитать подробнее, изучивYou must be logged in to see this link. или можно прочитать You must be logged in to see this link. (Обратите внимание, что документация находиться еще в стадии разработки и большинство обширных функций еще не добавлены! (Сюда входят команды, модули и режим скрытия))
Установка
Чтобы установить LunaSpring на ваш сервер, сделайте следующие шаги:1. Добавьте скачанный LunaSpring.jar в папку plugins вашего сервера
2. Если еще не установлены, то настоятельно рекомендую установить PlaceholderAPI и NBT-API, остальное по желанию
3. Запустите сервер и проверьте работоспособность
Статистика bStats
- Зависимости
- Необязательны: PlaceholderAPI, NBTAPI, WorldEdit, WorldGuard, Vault
- Исходный код
- https://github.com/NovaSparkle/LunaSpring
- Команды и права
- /lunaspring hooked - отображает все зависимые от LunaSpring плагины
/lunaspring hooked -v - работает также, как и без флага -v, но отображает версии плагинов
/lunaspring hooked -c - отображает только общее кол-во зависимых плагинов
/lunaspring plugins - отображает более красивый и удобный список всех плагинов на сервере
/lunaspring reload - перезагружает плагин
/lunaspring server-info - показывает информацию о сервере (игроков, версии, порт, средний тпс)
/lunaspring -v - показывает версию самого LunaSpring
lunaspring.reload - право на /lsp reload
lunaspring.server-info - право на /lsp server-info
lunaspring.hooked - право на /lsp hooked
lunaspring.plugins - право на /lsp plugins
lunaspring.version - право на /lsp -v
lunaspring.moveignore - право на игнорирование закрытия меню при передвижении