Перейти к содержанию

VarryalMythicAdditions

VarryalMythicAdditions — Paper-плагин, в котором живут общие Varryal-интеграции с MythicMobs: поведение предметов, кастомные Mythic mechanics, рендер лора и управляемый спавн мобов.

Назначение

Плагин нужен, чтобы не размазывать MythicMobs-хуки по разным игровым плагинам. Если механика завязана на MythicMobs, но может работать через публичные швы VarryalAPI, её стоит держать здесь.

Текущие зоны ответственности:

  • Consumable charges — расходуемые Mythic-предметы с durability едятся/пьются в несколько применений.
  • Remainders — Mythic-предмет может вернуть другой предмет после полного употребления через varryal_remainder.
  • Lore Renderer — периодически обновляет сгенерированный лор Mythic/Crucible-предметов в инвентарях игроков.
  • Mythic mechanics — регистрирует глобальные кастомные mechanics, сейчас varryalfood{...}.
  • Population Controller — отдельный контроллер естественного спавна управляемых Mythic-животных. По умолчанию выключен.

Зависимости

Обязательные:

  • Paper API 26.1.2
  • Java 25
  • Kotlin JVM
  • VarryalAPI
  • MCKotlin-Paper
  • MythicMobs

Опциональная runtime-интеграция:

  • Nexo — optional dependency для предметного слоя через VarryalAPI/Nexo-референсы.

Основной конфиг

Файл: plugins/VarryalMythicAdditions/config.yml.

debug: false

lore-renderer:
  scan-interval-ticks: 10

population-controller:
  enabled: false
Блок Что делает
debug Включает INFO-трейсы [CHARGES], [LORE] и population-решений. Не держать включённым на проде без причины.
lore-renderer.scan-interval-ticks Частота обновления лора предметов у онлайн-игроков. Значение должно быть >= 1.
population-controller Управляемый спавн WILD/DOMESTIC мобов. Подробнее: Population Controller.

Consumable charges и remainders

Работает только для Mythic-предметов, которые явно opt-in:

  • есть durability/max damage — предмет тратится по одному damage за применение;
  • есть varryal_remainder: <ref> — после полного употребления возвращается указанный предмет.

Примеры varryal_remainder:

varryal_remainder: mythic:empty_bottle
varryal_remainder: nexo:some_item
varryal_remainder: vanilla:bowl

Если у напитка нет varryal_remainder, плагин принудительно не возвращает vanilla-бутылку.

Lore Renderer

Renderer сканирует слоты инвентаря игроков, читает Mythic/Crucible-данные предмета и перерисовывает лор, если изменилась сигнатура предмета. Форматы лежат в:

plugins/VarryalMythicAdditions/lore-formats/*.yml
plugins/VarryalMythicAdditions/stats.yml

Базовый формат сейчас рассчитан на броню: общие характеристики, аксессуары и гемы.

Mythic mechanic: varryalfood

Регистрируется глобальная MythicMobs mechanic:

- varryalfood{type=plant;amount=5}
- varryalfood{type=animal;amount=5}
- varryalfood{type=both;amount=5}

Она добавляет значение в hunger-систему Varryal через VarryalProviders.hunger. Если цель не игрок или указан неверный type, mechanic возвращает ошибку MythicMobs.

Команды

Команды сейчас относятся к Population Controller:

/vma population status
/vma population reload

Alias:

/varryalmythicadditions population status

Permission:

varryal.mythicadditions.population

Разработка

Локальная сборка:

./gradlew test build

Для Windows:

.\gradlew.bat test build

VarryalAPI подключается как composite build из соседней папки ../VarryalAPI, поэтому локальный workspace обычно выглядит так:

workspace/
  VarryalAPI/
  VarryalMythicAdditions/