- Поддерживаемые версии
- 1.21
- 26
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Минимальная версия Java
- 21
hAirdrops
Полноценный конструктор аирдропов и серверных событий
Minecraft 1.21–26.x • Java 21 • Paper / Purpur / Folia
Сундуки, боссы, метеориты, движущиеся приманки, ледяные оболочки, гравитационные зоны,
схематики, гибкий лут, многофазные события и глубокая кастомизация — в одном плагине.
ЧТО ТАКОЕ hAirdrops?
hAirdrops — это не очередной плагин, который просто ставит сундук по таймеру. Это модульный движок событий: вы сами собираете сценарий аирдропа из стадий, правил спавна, анимаций, боссов, эффектов, голограмм, регионов, действий и способов выдачи награды.
Один конфиг может описывать обычный сундук с таймером, другой — падающий метеорит с разрушением блоков и боссом, третий — убегающую приманку, четвёртый — ледяной контейнер, который игроки должны вскрыть правильным инструментом. Количество отдельных аирдропов не ограничено логикой плагина: каждый файл в папке airdrops является самостоятельным событием.
ГЛАВНЫЕ ВОЗМОЖНОСТИ
- Модульные стадии события — PRE_SPAWN, BOSS_FIGHT, BREAKING, WARMING, OPENING и OPENED в нужном вам порядке.
- Точные точки и случайный спавн — фиксированные координаты, диапазоны X/Z, случайная высота, несколько блоков в одном событии и независимые точки спавна.
- Интервалы и расписание — запуск раз в N секунд либо в заданные даты/время с собственной временной зоной.
- Падающие контейнеры и метеориты — траектория, замедление перед посадкой, раскачивание, след, купол/парашют, фейерверки, обломки и посадочный взрыв.
- Схематики WorldEdit / FAWE — смещения, защита структуры и режим SMART, сохраняющий внутренние воздушные полости.
- Движущиеся аирдропы — контейнер может менять местоположение во время выбранных фаз и перемещать вместе с собой босса и регион.
- Гравитационные зоны — притягивание игроков к центру, вертикальная тяга, ограничение скорости и периодические подбрасывания.
- Ледяная оболочка — сферическая или заполненная оболочка, собственный материал, радиус и список разрешённых инструментов.
- Боссы и приспешники — Vanilla или MythicMobs, собственный AI, экипировка, способности, эффекты, призывы и таблица урона.
- Три режима лута — инвентарь OPEN, последовательный DROP и эффектный разлёт FLYING.
- GUI-редакторы — настройка предметов и шансов лута, экипировки босса и отдельных групп приспешников прямо в игре.
- Голограммы и BossBar для каждой фазы — Vanilla, DecentHolograms или FancyHolograms.
- Гибкие частицы и эффекты — формы POINT, CIRCLE, SPHERE, HELIX, LINE и BOX, включая эффекты при получении боссом урона.
- WorldGuard-регионы — автоматическое создание, удаление и отдельные флаги на каждой стадии.
- Предметы призыва — выдайте игроку специальный фаер/сигнал для ручного запуска выбранного аирдропа.
- Система действий — сообщения, команды, звук, title, bossbar, эффекты, экономика, фейерверки и многое другое на десятках триггеров.
- PlaceholderAPI, MiniMessage и legacy-цвета — динамический текст во всех основных визуальных элементах.
- Настоящая поддержка Folia и оптимизированные фоновые задачи.
- Публичный API и Bukkit-события для связи hAirdrops с вашими плагинами.
ГОТОВЫЕ ПРИМЕРЫ СОБЫТИЙ
В комплекте находятся восемь подробно прокомментированных конфигураций. Это не жёстко заданные «типы», а готовые примеры, собранные на одном модульном движке:
- Static Chest — простой статичный контейнер с таймером открытия.
- Airdrop with Boss — полный сценарий с боссом, вскрытием, прогревом и лутом.
- Boss Only — событие, построенное вокруг одной битвы с боссом.
- Meteorite with Boss — прилёт метеорита, посадочные эффекты и бой.
- Elusive Decoy — движущаяся приманка, меняющая позицию.
- Gravity Airdrop — зона притяжения и периодические импульсы вверх.
- Ice Airdrop — контейнер внутри разрушаемой ледяной оболочки.
- Full Example — демонстрация практически всех основных настроек.
КОНСТРУКТОР СТАДИЙ
Для каждого аирдропа задаётся собственная ветка прохождения. Ненужные стадии можно не использовать, а доступные стадии комбинируются в подходящий вам сценарий.
Код:
branch:
- "PRE_SPAWN"
- "BOSS_FIGHT;guardian"
- "BREAKING"
- "WARMING"
- "OPENING"
- "OPENED"
- PRE_SPAWN — предварительное появление, оповещение и анимация прибытия.
- BOSS_FIGHT — доступ блокируется, пока жив настроенный босс.
- BREAKING — игроки должны совершить нужное количество кликов или ударов; прогресс может быть общим или личным.
- WARMING — совместное заполнение прогресса игроками в радиусе с настраиваемой скоростью и спадом.
- OPENING — финальный отсчёт перед разблокировкой награды.
- OPENED — лут доступен игрокам до удаления или опустошения.
Для каждой фазы можно независимо назначить голограмму, BossBar, WorldGuard-флаги, частицы, действия и ограничения.
СПАВН, РАСПИСАНИЕ И КОНТРОЛЬ МИРА
- Фиксированные координаты, диапазоны вида min;max и случайная Y-координата.
- Несколько пронумерованных точек в одном аирдропе: у каждой свой материал, смещение, голограмма и профиль лута.
- Режим independentSpawns, превращающий точки в отдельные активные экземпляры.
- Повтор через заданный интервал или календарное расписание с форматом даты/времени и временной зоной.
- Повторно используемые профили правил из rule.yml.
- Проверка биомов, поверхности, погоды, свободного пространства, WorldGuard-регионов, расстояния до предыдущей точки и конфликтующих активных аирдропов.
- Разрешающие и запрещающие списки с инверсией через !.
- Поддержка блоков Nexo, ItemsAdder и Oraxen в правилах и материалах.
- Автоматический WorldGuard-регион вокруг события, буфер по границам и флаги отдельно для каждой стадии.
- Защита собственных блоков и схематики от разрушения вне логики события.
Ограничения позволяют отдельно обрабатывать вход в зону и попытку открыть контейнер: проверять Creative, полёт, Vanish и God Mode, предупреждать игрока, выталкивать его из зоны либо автоматически переводить из Creative в SURVIVAL, ADVENTURE или SPECTATOR.
ПРОДВИНУТЫЙ ЛУТ
OPEN — классический инвентарь аирдропа с собственным названием, размером и случайными слотами.
DROP — предметы по одному появляются в мире на протяжении времени жизни открытого аирдропа.
FLYING — предметы выбрасываются с заметной скоростью и разлётом, создавая эффект взрыва награды.
- Минимальное и максимальное количество выбранных предметов.
- Индивидуальный шанс для каждого предмета; предметы с шансом 100% считаются гарантированными.
- Случайное размещение по слотам.
- Скрытый лут: настоящий предмет временно отображается одной из заданных масок и раскрывается при взаимодействии.
- Настройка позиции появления, радиуса, горизонтальной и вертикальной скорости, задержки подбора, свечения, звука и следа частиц для мирового лута.
- Защита выброшенной награды от нежелательного объединения, воронок и преждевременного исчезновения.
Редактор лута:
Код:
/hairdrops additems <airdropId> <inventoryId>
ЛКМ: +1% • ПКМ: −1% • Shift+ЛКМ: +25% • Shift+ПКМ: −25% • Q: забрать • Ctrl+Q: удалить.
Предметы сохраняются как полноценные ItemStack, поэтому через GUI можно использовать зачарования, метаданные и предметы сторонних item-плагинов.
БОССЫ, СПОСОБНОСТИ И ПРИСПЕШНИКИ
- Провайдер VANILLA либо MYTHIC_MOBS.
- Тип сущности, здоровье, урон, имя, свечение, baby-режим, позиция появления, радиус и максимальная дистанция.
- Обычное поведение либо улучшенный AI с переназначением цели и вертикальным контролем.
- Постоянные potion-эффекты.
- Периодические зональные эффекты с шансом, радиусом, задержкой, интервалом и лимитом запусков.
- Встроенные способности EXPLOSION и SELF_HEAL с подробной настройкой.
- Неограниченное конфигурацией число независимых таймеров призыва приспешников.
- Приспешники Vanilla или MythicMobs, лимит живых мобов, время жизни, экипировка, эффекты и режим цели NONE / BOSS_TARGET / NEAREST_PLAYER.
- Режимы дропа босса: VANILLA, PLUGIN или DISABLE.
- Топ игроков по нанесённому урону и отдельные действия для Top-1, Top-2, Top-3 и других размеров рейтинга.
Редактор экипировки:
Код:
/hairdrops bossAmmunition <bossId>
Через одно меню настраивается экипировка самого босса и каждой отдельной группы его приспешников.
АНИМАЦИИ, ГОЛОГРАММЫ И ЭФФЕКТЫ
- Переиспользуемые профили анимаций из animation.yml.
- Падение контейнера с кривой скорости, торможением, раскачиванием, следом, куполом, фейерверками и эффектами посадки.
- Многослойный метеорит с наклонной траекторией, ядром, внешними материалами, воздушным распадом, обломками, столкновениями и взрывом.
- Пресеты метеорита CUSTOM, SIMPLE, EPIC и LOW_FPS.
- Эффекты форм POINT, CIRCLE, SPHERE, HELIX, LINE и BOX.
- Эффекты выбранных фаз и отдельные реакции на урон босса.
- Рендер частиц через WORLD либо персональные PACKET-пакеты при наличии PacketEvents.
- Жёсткий бюджет частиц на тик и адаптивное снижение нагрузки при росте MSPT.
- Голограммы VANILLA, DECENT и FANCY с отдельным текстом для каждой фазы.
- Расширенные параметры FancyHolograms: billboard, scale, translation, brightness, shadow, background, alignment, see-through и другие.
- BossBar для каждой стадии: заголовок, цвет, стиль, радиус видимости и флаги.
Текст поддерживает Adventure MiniMessage, обычные коды &/§ и hex-цвета вида #FDBE00 или &#FDBE00. PlaceholderAPI можно применять к сообщениям, голограммам, BossBar и другому тексту.
ДЕЙСТВИЯ И АВТОМАТИЗАЦИЯ
Действия можно назначать на появление, попытку открыть закрытый аирдроп, жизнь и смерть босса, места в рейтинге урона, прогресс вскрытия и прогрева, достижение заданных процентов, разрушение льда, открытие, удаление, использование предмета призыва и другие события.
Поддерживаемые типы действий:
Код:
[PARTICLE] [MESSAGE] [SOUND] [TITLE] [ACTIONBAR]
[CONSOLE] [BROADCAST] [BOSSBAR] [ACHIVEMENT]
[EFFECT] [VAULT] [PLAYER] [FIREWORK] [CLOSE]
Код:
actions:
spawn:
- "[BROADCAST] <gold>{id}</gold> появился на <yellow>{x} {y} {z}</yellow>"
- "[SOUND] sound: ENTITY_ENDER_DRAGON_GROWL && volume: 1.0 && pitch: 1.0"
Команды могут выполняться от консоли или игрока; Vault-действия умеют добавлять, снимать, очищать и устанавливать баланс; ACHIVEMENT выводит временный advancement-toast.
ЗАВИСИМОСТИ И ИНТЕГРАЦИИ
Обязательно:
- PlaceholderAPI
Опционально:
- WorldEdit или FastAsyncWorldEdit — вставка схематик.
- WorldGuard — автоматические регионы, флаги и региональные правила спавна.
- DecentHolograms / FancyHolograms — внешние голограммы.
- PacketEvents — режим частиц PACKET.
- MythicMobs — Mythic-боссы и приспешники.
- Vault — экономические действия.
- Nexo / ItemsAdder / Oraxen — пользовательские предметы и блоки.
- Essentials — проверки Vanish и God Mode в ограничениях.
Проверить состояние всех хуков можно командой /hairdrops hooks.
УСТАНОВКА
- Установите Java 21 и совместимое серверное ядро Paper / Purpur / Folia версии 1.21–26.x.
- Установите обязательный PlaceholderAPI и нужные опциональные интеграции.
- Поместите hAirdrops.jar в папку plugins и запустите сервер.
- При первом запуске откройте plugins/hAirdrops/locale.yml и укажите install: "ru". Доступны ru, en, de, uk и be.
- Выполните /hairdrops install либо перезапустите сервер — плагин развернёт локализованные конфиги и примеры.
- Настройте файлы, выполните /hairdrops validate, затем /hairdrops reload.
СТРУКТУРА КОНФИГУРАЦИИ
Код:
plugins/hAirdrops/
├─ config.yml # общие настройки, сообщения, формат времени
├─ debug.yml # расширенная отладка
├─ logger.yml # локализованные сообщения консоли
├─ animation.yml # профили падения и метеорита
├─ drop.yml # профили OPEN / DROP / FLYING
├─ boss.yml # боссы, способности и призывы
├─ rule.yml # правила поиска точки спавна
├─ airdrops/ # отдельные конфиги событий
├─ effects/ # профили частиц и фигур
├─ schematics/ # файлы WorldEdit / FAWE
├─ translations/ # дополнительные переводы
├─ items/ # сохранённый GUI-лут в JSON
├─ bosses/ # сохранённая экипировка в JSON
└─ runtime/ # состояние активных аирдропов при restore
КОМАНДЫ
Код:
/hairdrops install
Устанавливает выбранную локаль при первом запуске.
/hairdrops reload
Безопасно перезагружает конфигурацию.
/hairdrops list
Показывает все определения аирдропов и их состояние.
/hairdrops spawn <id>
Запускает выбранный аирдроп с поиском подходящей точки.
/hairdrops remove <id>
Удаляет активный аирдроп.
/hairdrops tp <id>
Телепортирует к активному аирдропу.
/hairdrops enable <id>
/hairdrops disable <id>
Временно включает или отключает определение до reload.
/hairdrops givesummoner <id> [player] [amount]
Выдаёт предмет призыва.
/hairdrops additems <id> <inventoryId>
Открывает GUI-редактор лута.
/hairdrops bossAmmunition <bossId>
Открывает GUI экипировки босса и приспешников.
/hairdrops hooks
Показывает состояние всех интеграций и платформенного планировщика.
/hairdrops perf
Показывает TPS, MSPT, активные/запланированные события и бюджет частиц.
/hairdrops validate
Полностью проверяет конфигурацию и ссылки между файлами.
/hairdrops whyspawn <id>
Объясняет, разрешён ли спавн в текущей позиции игрока, и выводит причину.
Все административные команды поддерживают tab-complete.
ПРАВА
Код:
hairdrops.admin
Доступ ко всем административным командам и редакторам. По умолчанию: OP.
hairdrops.summoner.<airdrop_id>
Разрешает игроку использовать предмет призыва конкретного аирдропа.
Пример: hairdrops.summoner.meteorite_with_boss
Общие счётчики:
Три формы обращения:
Примеры:
Доступные поля:
Плейсхолдер active использует выбранный активный экземпляр, next — ближайшее предстоящее событие расписания, а airdrop_<id> обращается к конкретному определению. Если подходящих данных нет, возвращается пустая строка.
Встроенные плейсхолдеры текста и actions:
Для рейтинга босса доступны контекстные значения вида {bossKilled_1_name} и {bossKilled_1_hp}. Отдельные триггеры добавляют собственные плейсхолдеры.
Код:
%hairdrops_active_count%
%hairdrops_scheduled_count%
Три формы обращения:
Код:
%hairdrops_active_<field>%
%hairdrops_next_<field>%
%hairdrops_airdrop_<id>_<field>%
Примеры:
Код:
%hairdrops_active_time_left%
%hairdrops_next_id%
%hairdrops_next_next_spawn%
%hairdrops_airdrop_example_status%
%hairdrops_airdrop_meteorite_with_boss_world%
Доступные поля:
Код:
id
active
scheduled
status
state
phase
phase_name
world
x
y
z
time_left
seconds_left
next_spawn
boss_max_health
breaking_mode
breaking_count
breaking_hits
breaking_current
breaking_remaining_current
breaking_completed_players
breaking_player_hits
breaking_player_remaining
warming_current
warming_required
warming_remaining_current
warming_nearby_players
warming_percent
Плейсхолдер active использует выбранный активный экземпляр, next — ближайшее предстоящее событие расписания, а airdrop_<id> обращается к конкретному определению. Если подходящих данных нет, возвращается пустая строка.
Встроенные плейсхолдеры текста и actions:
Код:
{prefix} {id} {world} {x} {y} {z}
{timeLeft} {secondsLeft} {nextSpawn}
{bossHealth} {bossMaxHealth}
{breakingMode} {breakingCount} {breakingHits} {breakingCurrent}
{breakingRemainingCurrent} {breakingCompletedPlayers}
{breakingPlayerHits} {breakingPlayerRemaining}
{warmingCurrent} {warmingRequired} {warmingRemainingCurrent}
{warmingNearbyPlayers} {warmingPercent}
Для рейтинга босса доступны контекстные значения вида {bossKilled_1_name} и {bossKilled_1_hp}. Отдельные триггеры добавляют собственные плейсхолдеры.
Интерфейс HAirdropsApi регистрируется через стандартный Bukkit ServicesManager.
Доступные операции:
Bukkit-события:
События передают runtime ID, ID определения, Location и текущую фазу. PhaseChange также передаёт предыдущую фазу. События информационные и не являются Cancellable.
Код:
import org.bukkit.Bukkit;
import ru.he3hauka.hairdrops.api.HAirdropsApi;
HAirdropsApi api = Bukkit.getServicesManager().load(HAirdropsApi.class);
if (api == null) {
return;
}
api.spawnAsync("example", success -> {
getLogger().info("Spawn result: " + success);
});
Доступные операции:
- получение ID всех определений;
- количество активных и запланированных аирдропов;
- местоположение активного события;
- проверка конкретной точки через SpawnValidationResult;
- асинхронный спавн с автоматическим поиском позиции;
- асинхронный спавн в заданной Location;
- удаление активного события.
Bukkit-события:
Код:
AirdropSpawnEvent
AirdropPhaseChangeEvent
AirdropRemoveEvent
События передают runtime ID, ID определения, Location и текущую фазу. PhaseChange также передаёт предыдущую фазу. События информационные и не являются Cancellable.
Опция restoreActiveAirdrops сохраняет состояние при штатном выключении плагина/сервера. Она не является гарантией восстановления после аварийного завершения процесса.
[/SPOILER]
- Зависимости
- Поддержка ядра Folia. Опционально: WorldGuard, WorldEdit, FastAsyncWorldEdit, FancyHolograms, DecentHolograms, PlaceholderAPI, Vault, MythicMobs, Nexo, ItemsAdder, Oraxen
- Команды и права
Команда Право Описание /hairdrops reload hairdrops.admin Перезагрузка плагина /hairdrops spawn (Айди) hairdrops.admin Спавн аирдропа /hairdrops remove (Айди) hairdrops.admin Удаление аирдропа /hairdrops tp (Айди) hairdrops.admin Телепортация к аирдропу /hairdrops additems (Айди) (Инвентарь айди) hairdrops.admin Добавить предмет в аирдроп в указанный инвентарь /hairdrops boss (Айди) hairdrops.admin Добавить предметы для босса в указанный аирдроп /hairdrops givesummoner (Айди) (Игрок) (Кол-во) hairdrops.admin Выдать предмет для спавна аирдропа игроком путём размещения на рандомной локации