Добавлено три плейсхолдера.
%borderplus_world_display_name_название мира% - выведет настраиваемое название мира из конфига.
%borderplus_world_current_size_название мира% - Выведет текущую границу мира.
%borderplus_world_max_radius_название мира% - Выведет максимальное количество блоков, на которое может быть расширена граница.
В конфиг добавлен параметр для каждого мираname: "Название мира"
На деле это выглядит примерно вот так:Таким образом вы можете кастомизировать название мира в сообщении которое выводится когда кто-то увеличивает границы мира.YAML:settings: show_title: true manage_world: true worlds: world: gui: "gui.yml" max_radius: 5000 name: "Мир выживания" # название которое выводится когда кто то расширяет мир flat_world: gui: "gui2.yml" max_radius: 5000 name: "Плоский мир"
Добавлена поддержка голов из плагина HeadDatabase.
Добавлена поддержка звука для каждого повышения.
Полностью изменён GUI
Теперь файл GUI выглядит вот так:YAML:menus: border_menu: title: '&4&lУвеличение границы мира' size: 27 items: increase_diamond_20: required_material: DIAMOND cost: 0.0 material: DIAMOND lore: - '' - '&7Потрать &b&l100 алмазов &7, чтобы' - '&7увеличить границу мира' - '&7на &b&l500 блоков' - '' - '&e&lЛКМ &7- расширить границу мира' - '' required_amount: 100 sound: ENTITY_LIGHTNING_BOLT_THUNDER weight: 500 economy: false slot: 10 display_name: 'ᱹDA &lАлмазное расширение' increase_gold_50: required_material: GOLD_INGOT cost: 0.0 material: GOLD_INGOT lore: - '' - '&7Потрать &6&l50 золотых слитков &7, чтобы' - '&7увеличить границу мира' - '&7на &6&l500 блоков' - '' - '&e&lЛКМ &7- расширить границу мира' - '' required_amount: 50 sound: ENTITY_PLAYER_LEVELUP weight: 500 economy: false slot: 13 display_name: 'ᱹDA &lЗолотое расширение' increase_iron_100: required_material: IRON_INGOT cost: 0.0 material: IRON_INGOT lore: - '' - '&7Потрать &f&l100 железных слитков &7, чтобы' - '&7увеличить границу мира' - '&7на &f&l100 блоков' - '' - '&e&lЛКМ &7- расширить границу мира' - '' required_amount: 100 sound: ENTITY_EXPERIENCE_ORB_PICKUP weight: 500 economy: false slot: 16 display_name: '&f&lЖелезное расширение' increase_economy_1000: required_material: EMERALD cost: 1000.0 material: EMERALD lore: - '' - '&7Потрать &61000 монет, чтобы' - '&7увеличить границу мира' - '&7на &a&l1000 блоков' - '' - '&e&lЛКМ &7- расширить границу мира' - '' required_amount: 1000 sound: BLOCK_BEACON_POWER_SELECT weight: 1000 economy: true slot: 22 display_name: '&a&lИзумрудное расширение границы'
Обратите внимание что многие параметры изменены.
Если вы хотите указать голову из плагина HeadDatabase, то измените параметр:
material на hdb-<id головы>. Как в deluxemenus.
Пример:material: hdb-4188
Технические детали:
Если используется HeadDatabase в качестве голов в плагине. Плагин сначала дожидается загрузки всех голов плагина HeadDatabase, только потом инициализирует меню.
- Теперь все HEX цвета должны заключаться в фигурные скобки.
- Пример:
{#7289DA}
- Исправлена проблема, что когда используешь hex в названии предмета, предмет переставал работать. Спасибо @Den4ik2000
- Разделён конфиг и сообщения на два файла.
Добавлена опция для каждого мира: max_radius, которая позволяет указать максимальный радиус границы мира. Теперь плагин предотвращает расширение границы мира за пределы этого радиуса, обеспечивая защиту от превышения установленных лимитов.
Нужно обновить конфигурацию
Для сообщений добавить:YAML:max_radius_reached: "§cГраница мира уже достигла максимального размера. Дополнительное расширение невозможно."
Для каждого мира добавить: max_radius: <значение>
Пример:YAML:worlds: world: gui: "gui.yml" max_radius: 5000 #Дальше этого радиуса невозможно увеличить границу мира. flat_world: gui: "gui2.yml" max_radius: 5000
Теперь расчёт из GUI производится не по радиусу а по диаметру...
То есть вот это значение:command: borderplus 1000 world
Увеличит границу от центра на 500 блоков.
- Оптимизация кода.
- Исправление мелких ошибок.
- Убрана команда
/borderplus openи теперь используется только /borderplus open <название мира>- Добавлены логические сообщения об ошибках когда игрок вводит короткую команду.
- Добавлена возможноcть перезагружать конфиг командой из консоли (borderplus reload)
- Добавлен вывод ключа сообщения, если он не найден в конфиге.
- Закомментирован второй мир по умолчанию в конфиге, чтобы не создавалось дополнительное gui. Чтобы вы привыкли к плагину.
- Никаких изменений в базе данных
- Никаких изменений в GUI
Теперь каждое GUI требует отдельное право для его открытия:borderplus.open.<Название_Мира>
Пример:borderplus.open.flat_world
даст доступ к команде: /borderplus open flat_world
Команда /borderplus open без указания мира пока работает только для администраторов. Так как она может вызывала и в мире хаба, или спавна, где расширения не нужны.
НЕОБХОДИМО ОБНОВИТЬ КОНФИГУРАЦИЮ И GUI!!!Полностью переработана система GUI плагина.
Теперь GUI создаётся автоматически при запуске плагина, считывая конфигурацию плагина на основании названия мира в конфиге и название файла под него если плагин не обнаружит его.Так как для каждого мира создаются отдельные GUI, то теперь можете открывать GUI отдельные командой: /borderplus open <НазваниеМираИз_конфига>YAML:worlds: world: # название мира gui: "gui.yml" # название файла GUI под него.
Пример:/borderplus open world
Внимание:
Если вы используете просто /borderplus open, то плагин откроет меню мира, в котором вы находитесь.Переделана конфигурация плагина.
YAML:# =============================== # Настройки плагина # # =============================== # # Вы можете настроить отдельные GUI для каждого мира. Эти GUI будут открываться автоматически, # если игрок находится в соответствующем мире, или при выполнении команды «/borderplus open название_мира». # # Примеры настройки: # - Укажите имя мира и файл GUI, который будет открываться для этого мира. # - Закомментируйте или удалите строки для неиспользуемых миров. # settings: # Показать тайтл всем игрокам, когда игрок преобретает разширение мира? # true = показать # false = не показывать show_title: true manage_world: true worlds: world: gui: "gui.yml" flat_world: gui: "gui2.yml" # world3: # gui: "gui3.yml" # ============= Конец настроек плагина ================== # # =============================== # Сообщения плагина # # =============================== # # Это просто закомментированное сообщение для конфига. # Вы можете настроить его по своему вкусу и сделать так, чтобы он был более информативным и привлекательным. # =============================== messages: border_expanded: | &6&l============================================ &e 🌟 &lГраницы мира расширены! 🌟 &6 Игрок &e&l%player% &6расширил границу мира &e%borderplus_world_name%&6! &6 на &e%actual_amount% &6блоков! &e🔲 &6Новые границы мира: &e Мин. координаты: &a[%minX%, %minZ%] &e Макс. координаты: &a[%maxX%, %maxZ%] &6&l============================================ insufficient_items: "&cУ тебя недостаточно %material% (%needed% шт.)!" insufficient_funds: " &cДенег нет, но вы держитесь. Нужно: %cost%." items_removed: "&cИз твоего инвентаря было изъято %amount_removed% предметов." money_removed: "&cС вашего счета было списано %amount_removed% монет." invalid_number: "&cНеверное число." usage: "&cИспользование: /borderplus <amount>" gui_item_not_found: "&cПредмет в меню не найден." reload_complete: "&aКонфигурация перезагружена." title_message: "&eРасширение границы мира" title_next: "&e%player% расширил границу мира на %actual_amount% блоков" title_sound: "ENTITY_PLAYER_LEVELUP" no_permission: " &cНету прав, сосите лапу" no_money: " &cДенег нет, но вы держитесь." loaded_guis: "§aЗагруженные GUI для миров:" world_gui_info: "§aМир: §e{world} §a| GUI: §e{gui}" gui_not_found: "§cGUI для этого мира не найден." gui_title_size: "Title: %title% | Size: %size%" # ======================================== # Консольные сообщения # # ======================================== # # Здесь вы можете настроить текст сообщений, которые будут отображаться в консоли. # Эти сообщения могут включать предупреждения, ошибки и другую важную информацию. gui_file_not_found: "Файл %guiFileName% для мира %worldName% не найден." gui_load_error: "Невозможно загрузить GUI для мира %worldName%. Имя мира или имя файла равно null." world_load_error: "Ошибка: Для мира %worldKey% не удалось загрузить имя или GUI." world_loading: "Загрузка мира: %worldName% с GUI: %guiName%" only_players: "&cЭту команду могут использовать только игроки." section_missing: "Секция 'menus.border_menu.items' отсутствует в %guiFileName%" material_not_found: "Материал не найден для ключа: %key%" gui_successfully_loaded: "GUI для мира: %worldName% успешно загружен в guiMap." world_name_null: "Имя мира для ключа %worldKey% равно null." gui_initialization_start: "Инициализация загрузки GUI для мира: %worldName%" world_folder_missing: "Папка мира %worldName% не найдена на сервере. Пожалуйста, настройте конфигурацию для этого мира, или удалите его в файле config.yml" gui_loading: "Загрузка GUI для мира: %worldName% с файлом: %guiFileName%" # ============= Конец настроек сообщений ================== #
Добавлен автокомплит всех команд.
Фиксы багов:
- Теперь меню автоматически закрывается когда происходит покупка тем самым предотвращая дополнительное взаимодействие с GUI.
- Добавлено право: borderplus.change, которая позволяет игроку изменять границу мира через команду /borderplus <количество блоков расширения>.