「 RDang 」Уникальный плагин на кастом данжи для вашего майнкрафт сервера

「 RDang 」Уникальный плагин на кастом данжи для вашего майнкрафт сервера 1.6

  • Полностью переписана система эффектов при открытии; добавлен эффект при нажатии на закрытый шалкер.
  • Переработана система звуков при нажатии и открытии, а файл shulker.yml стал чище и понятнее.
  • Исправлены параметры distance-dangs: и check_other_regions:, которые не работали в прошлой версии.
  • Параметр distance-dangs: перенесен из config.yml в region.yml.
  • Теперь при вводе просто /rdang в чат выводится полный список всех команд и их описание.
  • В меню /rdang list добавлена кнопка «Удалить все данжи», название говорит само за за себя.
  • Для команды /rdang spawn добавлен новый аргумент WORLD.
  • Добавлена команда /rdang admins с тремя аргументами: test (делает шалкер данжевым), remove (удаляет данжевый шалкер) и loot (заполняет шалкер лутом данжа).
  • В schem.yml добавлен параметр custom-worlds:, про который забыли с первой версии.
  • Добавлено сообщение для компаса в чат о том, сколько осталось времени до конца перезарядки (КД).
  • Логи в консоли переведены на русский язык (раньше сообщения о добавлении шалкера писались на английском).
  • Проведена полная оптимизация: спавн данжей теперь происходит послойно и в отдельных потоках.
  • Убрано более 310 строк лишнего кода, что облегчило плагин.
  • Пофиксили TabCompleter у некоторых команд и добавили звуки при нажатии на элементы в меню.
  • Добавлены звуки в меню при клике на определенные элементы интерфейса.
  • Исправлено множество мелких багов.
[*] Исправлен баг с головами на новых версиях
[-] Удалили такие параметры как
  • rotation: 0
  • mirror: false
  • entities: false
  • biomes: false
из schem.yml
[*] Исправлен класс команды /rdang spawn
**1.4 - Производительная обнова**

**Атомарное удаление из конфига:**
> Переписал логику в Undo. Теперь запись в `block.yml ` стирается в ту же секунду, как только начался откат. Это гарантирует, что если процесс прервется, в файлах не останется "мусора" и битых ссылок.

**Thread Safety:**
> Полностью изолировал `save() ` и работу с конфигами от асинхронных задач. Файлы теперь пишутся только в основном потоке, что исключает риск повреждения данных (`ConcurrentModificationException` или битые `.yml`).

**Локальный кэш координат: **
> Теперь перед запуском асинхронного восстановления блоков все нужные координаты и данные мира копируются в локальные переменные. Задача больше не лезет в конфиг во время выполнения — она работает с уже готовым "снимком" данных.

**Защита от "зависших" шалкеров: **
> Изменил алгоритм очистки списка шалкеров. Теперь плагин сначала собирает все цели в отдельный список и удаляет их "одним махом" после итерации. Это решает проблему ошибок при попытке изменить коллекцию во время перебора.

**Умный ActionBar: **
> Добавил жесткие проверки на `null` и дефолтные значения. Если в конфиге не прописан текст таймера или сообщения, плагин подставит стандартную фразу и не выдаст ошибку в консоль.

**Flyweight для предметов: **
> В меню внедрен кэш шаблонов `(dungeonTemplates)`. Предметы создаются один раз при запуске и просто клонируются при открытии GUI. Это в разы снижает нагрузку на память.

**Авто-нормализация в MessageUtil: **
> Добавил механизм, который сам превращает `{world}, {region}` и прочее в `%s`. Теперь вместо кучи медленных `.replace()` используется один быстрый `String.format()`.

**Кэш HEX-цветов: **
> Все раскрашенные строки теперь живут в `ConcurrentHashMap`. Если сообщение уже красилось один раз, оно берется из памяти мгновенно.

**Оптимизация HeadUtil: **
> Внедрил проверку длины через `&&` в `isBase64Head`. Теперь код не делает лишних проверок, если строка слишком короткая. Также ускорил чтение `NBT` голов, убрав лишние циклы.

**Очистка от Legacy-мусора: **
> Вырезал все старые и медленные методы поиска высоты в `SpawnManager`. Оставил только современную работу через `API` и эффективные циклы для ада и энда.

**Человеческие логи: **
> Заменил стандартный логгер на понятный `System.out.println` с префиксом [Rdang]. Теперь в консоли четко пишется состояние плагина, ошибки бэкапов или прогресс вставок.

**Полная чистка кода: **
> Убрал все старые комментарии, лишние пробелы и "мусорные" строки. Код теперь плотный, профессиональный и легко читается.

**Фикс бага со схематиками:**
> Пофиксили баг что бывало не удалялись схематики данжей
**1.3 - мини обнова**

> Добавили логи для секции messages и удалили `setDefaultMessages()`
> Убрал `= "" и = new ArrayList<>() ` в объявлении полей
> И убрали метод `getDisplayName` в классе `WorldHeightManager`
**1.2 - мини обнова**

> Обновил дизайн сообщения в консоли об новой версии плагине.
> Теперь в логах вместо [ERROR] будет [Rdang].
> Пофиксили баг с меню, что не закрывалось
  • Добавили кд для компаса и такие параметры, как в items.yml
    • сooldown: "30s" # Поддерживает 1m, 1h, 10s и т.д.
    • sounds: "item_totem_use" # Звук при активации
  • Убрали полностью def к предметам, и вместо этого добавили логи, если material: и т. д. неправильный или нет, при этом плагин не будет ломатса.
  • Исправили некоторые баги и т.д

Помочь проекту 💕

Собрано
"52,204.60" ₽
Цель
"60,000.00" ₽