hAirdrops | Универсальный плагин на аирдропы

Платно Плагин hAirdrops | Универсальный плагин на аирдропы v1.1

Нет прав для приобретения ("899.99" ₽)
Поддерживаемые версии
  1. 1.16
  2. 1.17
  3. 1.18
  4. 1.19
  5. 1.20
  6. 1.21
Ядра и Прокси
  1. Bukkit
  2. Spigot
  3. Paper
Минимальная версия Java
17

⚡ Что такое hAirdrops?​

Представьте: на карте появляется точка интереса. Сначала — анонс и визуальный эффект. Затем — бой с мощным боссом, которого нельзя просто заспамить. После — этап вскрытия, где доступ к луту нужно заработать личными ударами. И только потом — открытие сундука со скрытым лутом под масками.

Для просмотра этого контента нам потребуется ваше согласие на установку файлов cookie третьих лиц.
Более подробную информацию можно найти на нашей странице cookie.

Код:
settings:
  prefix: "#FDBE00&lСЕРВЕР&7: &f"
  formatted:
    year: "{0} г {1} мес {2} нед {3} д {4} ч {5} мин {6} сек"
    month: "{0} мес {1} нед {2} д {3} ч {4} мин {5} сек"
    week: "{0} нед {1} д {2} ч {3} мин {4} сек"
    day: "{0} д {1} ч {2} мин {3} сек"
    hour: "{0} ч {1} мин {2} сек"
    minute: "{0} мин {1} сек"
    second: "{0} сек"
messages:
  noPermission: "{prefix}У вас #FDBE00недостаточно прав"
  usage: "{prefix}/hairdrops reload &7|&f spawn &7(Айди) | &fremove &7(Айди) | &ftp &7(Айди) | &fadditems &7(Айди) (Инвентарь ID) | &fboss &7(Айди) | &fgivesummoner &7(Айди) [Игрок] [Количество]"
  reload: "{prefix}Конфигурация #FDBE00успешно перезагружена"
  spawnSuccess: "{prefix}Аирдроп #FDBE00{id}&f заспавнен"
  spawnFailed: "{prefix}Не удалось #FDBE00заспавнить&f аирдроп #FDBE00{id}"
  removeSuccess: "{prefix}Аирдроп #FDBE00{id}&f удалён"
  notFoundActive: "{prefix}Активный аирдроп #FDBE00{id}&f не найден"
  tpSuccess: "{prefix}Телепортация к аирдропу #FDBE00{id}&f выполнена"
  definitionNotFound: "{prefix}Аирдроп #FDBE00{id}&f не найден"
  playerNotFound: "{prefix}Игрок #FDBE00{player}&f не найден"
  invalidAmount: "{prefix}Укажите #FDBE00корректное количество&f больше 0"
actions:
 bossAlive:
  - "[Message] {prefix}Сначала #FDBE00убей &fбосса"
  breakingProgress:
  - "[ActionBar] {prefix}Прогресс вскрытия: #FDBE00{breakingCurrent}/{breakingCount} &7({breakingMode})"
  breakingReady:
  - "[Message] {prefix}Требование на #FDBE00вскрытие &fвыполнено"
  breakingLocked:
  - "[Message] {prefix}Сломай аирдроп ещё #FDBE00{breakingRemainingCurrent}&f раз"
  notReady:
  - "[Message] {prefix}Аирдроп ещё #FDBE00закрыт&f, до открытия&7: #FDBE00{timeLeft}"
  protectedBlock:
  - "[Message] {prefix}Аирдроп #FDBE00невозможно &fсломать!"
  editorOpened:
  - "[Message] {prefix}Открыт #FDBE00редактор&f лута для аирдропа #FDBE00{id}&f и инвентаря #FDBE00{inventoryId}&f. ЛКМ #FDBE00+1%&f, ПКМ #FDBE00-1%&f, Shift+ЛКМ #FDBE00+25%&f, Shift+ПКМ #FDBE00-25%&f, Q #FDBE00забрать&f, Ctrl+Q #FDBE00удалить"
  editorSaved:
  - "[Message] {prefix}Инвентарь #FDBE00{inventoryId} &fдля аирдропа #FDBE00{id} &fсохранён"
  editorChanceUpdated:
  - "[Message] {prefix}Шанс #FDBE00предмета &fобновлён&7: #FDBE00{chance}%"
  bossEditorOpened:
  - "[Message] {prefix}Открыт #FDBE00редактор&f экипа #FDBE00босса &fдля аирдропа #FDBE00{id}&f, слоты слева направо&7: шлем, нагрудник, поножи, ботинки, основная рука, вторая рука"
  bossEditorSaved:
  - "[Message] {prefix}Экип #FDBE00босса&f для аирдропа#FDBE00 {id} &fсохранён"

Код:
# Материал блока, который будет поставлен в точке аирдропа.
# Используется Bukkit Material (например: BARREL, CHEST, SHULKER_BOX).
material: "BARREL"

# Время (в секундах) до открытия лута после спавна аирдропа.
# Используется на стадии opening.
openDelaySeconds: 60

# Время (в секундах), через которое аирдроп удаляется после открытия.
# Используется на стадии opened.
# -1 -> аирдроп не удаляется автоматически и сразу переводится в preSpawn.
removeDelaySeconds: 300

# Если true, аирдроп удалится сразу, когда инвентарь станет пустым.
# Если false, удаление только по таймеру removeDelaySeconds.
removeWhenEmpty: false

# Держать чанк аирдропа загруженным (plugin chunk ticket), пока активен аирдроп.
# Полезно, если сервер выгружает дальние чанки.
keepChunkLoaded: true

# Порядок стадий аирдропа (ветка жизненного цикла).
# Допустимые значения: preSpawn, bossFight, breaking, opening, opened.
# Ветка не должна быть пустой и должна содержать хотя бы одну активную стадию.
branch:
  - "preSpawn"
  - "bossFight"
  - "breaking"
  - "opening"
  - "opened"

schedule:
# Включает автоматический запуск по расписанию.
  enable: true

# Часовой пояс для расписания (ZoneId).
  # Примеры: Europe/Moscow, UTC, America/New_York.
  zone: "Europe/Moscow"

  # Формат времени для schedule.times и плейсхолдера {nextSpawn}.
  # Используется java.time DateTimeFormatter.
  format: "HH:mm"

  # Времена ежедневного спавна.
  times:
    - "18:00"
    - "21:30"

spawn:
# Список миров для спавна.
  # Можно списком или строкой через ";".
  # Пусто -> плагин может выбирать любой загруженный мир.
  world: "world;world_nether"

  # Диапазон X: "min;max" или одно значение "100".
  x: "-100;100"

  # Диапазон Z: "min;max" или одно значение "100".
  z: "-100;100"

  # Y-координата:
  # "random" -> по верхнему блоку колонки (highest block + 1),
  # "64" -> фиксированная высота,
  # "40;90" -> случайный Y в диапазоне.
  y: "random"

  # Сколько попыток подобрать валидную точку спавна.
  maxAttempts: 32

# Проверка свободного места вверх от точки спавна.
  # Количество проверяемых блоков воздуха (минимум 1).
  airClearance: 2

schematic:
# Включить вставку схематики при спавне аирдропа.
  enable: false

# Имя файла схематики в plugins/hAirdrops/schematics.
  # Пример: example.schem
  file: "example.schem"

# Визуальные эффекты для этого аирдропа настраиваются отдельно:
# plugins/hAirdrops/effects/<id>.yml (например effects/example.yml).

region:
# Создавать/обновлять регион WorldGuard вокруг аирдропа/схематики.
  enable: false

# Дополнительный отступ (в блоках) вокруг границ структуры/аирдропа.
  # 0 -> без расширения.
  buffer: 5

# Проверять, что точка спавна находится только в разрешённых регионах.
  # Требует WorldGuard и хотя бы один конкретный id региона в allowedRegions.
  checkSpawnRegions: false

# Разрешённые регионы для checkSpawnRegions.
  # "__global__" = не ограничивать спавн по конкретным регионам.
  # Если в списке только "__global__", проверка checkSpawnRegions фактически пропускается.
  allowedRegions:
    - "__global__"

  # Флаги WorldGuard по стадиям.
  # Если у стадии флаги не указаны, плагин ничего не меняет.
  # Формат:
  # flags:
  #   preSpawn|bossFight|breaking|opening|opened:
  #     <id-флага>: "<значение>"
  flags:
 preSpawn:
      pvp: "allow"
      chest-access: "allow"
      use: "allow"
      blocked-cmds: "god,essentials:god"
    bossFight:
      pvp: "allow"
      chest-access: "allow"
      use: "allow"
      blocked-cmds: "god,essentials:god"
    breaking:
      pvp: "allow"
      chest-access: "allow"
      use: "allow"
      blocked-cmds: "god,essentials:god"
    opening:
      pvp: "allow"
      chest-access: "allow"
      use: "allow"
      blocked-cmds: "god,essentials:god"
    opened:
      pvp: "allow"
      chest-access: "allow"
      use: "allow"
      blocked-cmds: "god,essentials:god"

# Биомы, где спавн запрещён.
blockedBiomes:
  - "OCEAN"
  - "DEEP_OCEAN"
  - "RIVER"
  - "FOREST"
  - "MOUNTAINS"
  - "DARK_FOREST"
  - "GIANT_TREE_TAIGA_HILLS"
  - "GIANT_TREE_TAIGA"
  - "WOODED_MOUNTAINS"
  - "WOODED_HILLS"
  - "TAIGA"
  - "BEACH"
  - "BIRCH_FOREST"

# Блоки под аирдропом, на которых спавн запрещён.
blockedBlocks:
  - "WATER"
  - "LAVA"
  - "MAGMA_BLOCK"
  - "CACTUS"

# Погода, при которой спавн запрещён.
# Допустимые значения: CLEAR, RAIN, THUNDER.
blockedWeather:
  - "THUNDER"

bossBar:
  # Общие правила для range:
  # 0  -> скрыть bossbar,
  # -1 -> показывать всем игрокам,
  # >0 -> радиус в блоках от центра аирдропа/точки preSpawn.
  #
  # title поддерживает цветовые коды и плейсхолдеры:
  # {id} {timeLeft} {secondsLeft} {world} {x} {y} {z} {nextSpawn} {bossHealth} {bossMaxHealth}
  # {breakingMode} {breakingCount} {breakingHits} {breakingCurrent} {breakingRemainingCurrent} {breakingCompletedPlayers}
  preSpawn:
    # Стадия до фактического спавна (по расписанию).
    title: "&fДо респавна&7: #FDBE00{timeLeft}"
    color: "YELLOW"
    style: "SEGMENTED_10"
    range: 0
 flags: []
 bossFight:
    # Стадия боя с боссом.
    title: "&fСтраж #FDBE00аирдропа &fещё жив &7({bossHealth}/{bossMaxHealth})"
    color: "RED"
    style: "SOLID"
    range: 60
 flags:
    - "DARKEN_SKY"
  breaking:
    # Стадия вскрытия аирдропа ударами.
    title: "&fВскрытие #FDBE00аирдропа &7({breakingCurrent}/{breakingCount})"
    color: "YELLOW"
    style: "SEGMENTED_10"
    range: 60
    flags: []
 opening:
   # Стадия ожидания открытия лута.
    title: "&fОткрытие #FDBE00аирдропа &fчерез #FDBE00{timeLeft}"
    color: "BLUE"
    style: "SEGMENTED_10"
    range: 60
    flags: []
 opened:
    # Стадия после открытия, до удаления.
    title: "&fАирдроп #FDBE00открыт&f, до удаления&7: #FDBE00{timeLeft}"
    color: "GREEN"
    style: "SEGMENTED_10"
    range: 60
    flags: []

hologram:
  # Включить голограмму над аирдропом.
  enable: true

  # Режим голограммы:
  # vanilla -> ArmorStand-строки (без внешних плагинов),
  # fancy   -> FancyHolograms,
  # decent  -> DecentHolograms.
  mode: "vanilla"

  # Вертикальное смещение голограммы от точки аирдропа.
  offsetY: 1.3

  # Расстояние между строками голограммы.
  lineSpacing: 0.28

  # Текст голограммы по стадиям.
  # Поддерживаются те же основные плейсхолдеры, что и в bossBar/actions.
  # Для breaking дополнительно доступны:
  # {breakingMode} {breakingCount} {breakingHits} {breakingCurrent} {breakingRemainingCurrent} {breakingCompletedPlayers}
  preSpawn:
 lines:
      - "#FDBE00Тестовый аирдроп"
      - "&7До спавна: #FDBE00{timeLeft}"
      - "&7Следующий спавн: #FDBE00{nextSpawn}"
  bossFight:
 lines:
      - "#FDBE00Тестовый аирдроп"
      - "&7Здоровье: #FDBE00{bossHealth}&7/#FDBE00{bossMaxHealth}"
      - "&7Координаты: #FDBE00{x} {y} {z}"
  breaking:
 lines:
      - "#FDBE00Тестовый аирдроп"
      - "&7Вскрытие: #FDBE00{breakingCurrent}&7/#FDBE00{breakingCount}"
      - "&7Режим: #FDBE00{breakingMode}"
  opening:
 lines:
      - "#FDBE00Тестовый аирдроп"
      - "&7Открытие через: #FDBE00{timeLeft}"
      - "&7Мир: #FDBE00{world}"
  opened:
 lines:
      - "#FDBE00Тестовый аирдроп"
      - "&7До удаления: #FDBE00{timeLeft}"
      - "&7Координаты: #FDBE00{x} {y} {z}"

boss:
  # Настройки босса. Секция нужна только если branch содержит bossFight.
  # Режим дропа босса:
  # vanilla -> обычный дроп моба Minecraft,
  # plugin  -> только экипировка из редактора босса,
  # disable -> без дропа.
  lootMode: "plugin"

  # Тип сущности босса (EntityType), например: ZOMBIE, SKELETON, WITHER_SKELETON.
  type: "ZOMBIE"

  # HP босса (минимум 1.0).
  health: 500.0

  # Отображаемое имя босса.
  name: "#FDBE00Страж аирдропа"

  # Показывать ли имя всегда.
  nameVisible: true

  # Включить свечение сущности.
  glowing: true

  # Радиус случайного появления босса вокруг аирдропа (в блоках).
  spawnRadius: 5.0

  # Максимальное удаление босса от аирдропа.
  # Если уйдёт дальше, плагин вернёт его ближе.
  maxDistanceFromAirdrop: 30.0

   # Кастомный AI босса.
  customAi:
   # Включить расширенный AI.
    enable: false
   # Улучшенный выбор цели (проверка достижимости/приоритета ближних целей).
    improvedTargeting: true
   # Улучшенное движение, если босс застрял.
    improvedMovement: true
   # Радиус поиска цели в блоках.
    targetRange: 32
   # Частота пересчёта цели (в тиках, 20 = 1 сек).
    retargetIntervalTicks: 20
   # Максимальная разница по высоте для целей.
    maxVerticalDifference: 12

  # Режим возраста для Ageable-сущностей (например, зомби/животные):
  # true -> детёныш, false -> взрослый.
  baby: false

 # Постоянные/долгие эффекты босса.
  effects:
  # Тип эффекта (PotionEffectType), например: SPEED, INCREASE_DAMAGE.
    - type: "SPEED"
      # Длительность в тиках (20 тиков = 1 сек). Минимум 20.
      duration: 999999
      # Уровень эффекта: 0 = I, 1 = II и т.д.
      amplifier: 0
      # true -> "тихий" эффект.
      ambient: false
      # true -> показывать частицы.
      particles: true
   - type: "INCREASE_DAMAGE"
      duration: 999999
   amplifier: 1
   ambient: false
   particles: true

breaking:
  # Включить стадию вскрытия аирдропа ударами (если есть в branch).
  enable: true

  # Сколько ударов нужно для перехода дальше.
  count: 50

  # Как засчитывается прогресс вскрытия:
  # break -> попытка сломать блок аирдропа;
  # click -> левый клик по блоку аирдропа.
  triggerMode: "break"

  # Режим ударов:
  # self   -> каждый игрок набивает count сам, удары не стакаются между игроками;
  # global -> count ударов суммарно на всех игроков.
  breakMode: "self"

loot:
  # Заголовок инвентаря аирдропа.
  title: "#FDBE00Тестовый аирдроп"

  # Размер инвентаря (9..54, кратно 9).
  size: 27

  # true  -> предметы из шаблона кладутся в случайные свободные слоты.
  # false -> сначала в сохранённые слоты шаблона, иначе в случайные свободные.
  randomSlots: true

summoner:
  # Необязательная секция предмета-вызова для команды /hairdrops givesummoner <id>.
  # Если секции нет, используются встроенные значения по умолчанию.

  # Материал предмета summoner.
  material: "FIREWORK_STAR"

  # Имя предмета. Поддерживается плейсхолдер {id}.
  name: "#FDBE00Фаер аирдропа &f{id}"

  # Описание предмета. Поддерживается плейсхолдер {id}.
  lore:
    - "&7Призывает аирдроп &f{id}"
    - "&7ПКМ по блоку или в воздух"
    - "&7Точка спавна берётся из цели игрока"

  # Необязательные чарки.
  # Формат: "ЧАРКА;УРОВЕНЬ"
  enchants:
    - "DURABILITY;1"

  # Необязательные item flags.
  flags:
    - "HIDE_ENCHANTS"

hideDrop:
  # Скрыть реальные предметы в луте и показывать маски.
  # При клике по маске игрок получает настоящий предмет из этого слота.
  enable: false

  # Кулдаун между получениями предметов одним игроком (в миллисекундах).
  # 1000 = 1 сек.
  cooldown: 1000

  # Набор предметов-масок (выбирается случайно для каждого занятого слота).
  hideItems:
 1:
 material: WHITE_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    2:
 material: ORANGE_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    3:
 material: MAGENTA_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    4:
 material: LIGHT_BLUE_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    5:
 material: YELLOW_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    6:
 material: LIME_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    7:
 material: PINK_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    8:
 material: GRAY_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    9:
 material: LIGHT_GRAY_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    10:
 material: CYAN_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    11:
 material: PURPLE_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    12:
 material: BLUE_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    13:
 material: BROWN_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    14:
 material: GREEN_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    15:
 material: RED_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"
    16:
 material: BLACK_DYE
name: "#FDBE00&kСлучайный предмет"
      lore:
        - "&7Нажми, чтобы забрать"
        - "&7Этот предмет из аирдропа"

actions:
  # Для убийства босса можно задать:
  # bossKilled     -> базовый список (fallback, если нет подходящего bossKilled_N)
  # bossKilled_N   -> список для N и более участников урона (выбирается максимальный N <= фактическому количеству)
  # Пример: есть только bossKilled_3, а били 5 игроков -> будет использован bossKilled_3.
  #
  # Дополнительные плейсхолдеры для bossKilled / bossKilled_N:
  # {bossKilled_players}      -> число игроков, нанёсших урон боссу
  # {bossKilled_killer_name}  -> имя убийцы босса (если убийца игрок)
  # {bossKilled_killer_hp}    -> урон убийцы по боссу
  # {bossKilled_1_name}/{bossKilled_1_hp}, {bossKilled_2_name}/{bossKilled_2_hp}, ...
  # где 1,2,3... — место в топе по нанесённому урону.
  spawn:
    - "[BROADCAST] #FDBE00Тестовый аирдроп &fпоявился в мире #FDBE00{world} &fна координатах #FDBE00{x} {y} {z}"
    - "[SOUND] sound: ENTITY_ENDER_DRAGON_GROWL && volume: 1.0 && pitch: 1.0"
  bossKilled:
     - "[BROADCAST] &fБосс #FDBE00тестового аирдропа &fубит, теперь нужно #FDBE00вскрыть &fаирдроп"
    - "[SOUND] sound: ENTITY_WITHER_DEATH && volume: 0.6 && pitch: 1.2"
  bossKilled_1:
     - "[BROADCAST] &fБосс #FDBE00тестового аирдропа &fубит, теперь нужно #FDBE00вскрыть &fаирдроп"
    - "[BROADCAST] &fИгрок {bossKilled_killer_name} убил босса и нанёс ему {bossKilled_killer_hp} урона"
    - "[BROADCAST] &fИгрок {bossKilled_1_name} нанёс {bossKilled_1_hp} урона"
    - "[SOUND] sound: ENTITY_WITHER_DEATH && volume: 0.6 && pitch: 1.2"
  bossKilled_2:
     - "[BROADCAST] &fБосс #FDBE00тестового аирдропа &fубит, теперь нужно #FDBE00вскрыть &fаирдроп"
    - "[BROADCAST] &fИгрок {bossKilled_killer_name} убил босса и нанёс ему {bossKilled_killer_hp} урона"
    - "[BROADCAST] &fИгрок {bossKilled_1_name} нанёс {bossKilled_1_hp} урона"
    - "[BROADCAST] &fИгрок {bossKilled_2_name} нанёс {bossKilled_2_hp} урона"
    - "[SOUND] sound: ENTITY_WITHER_DEATH && volume: 0.6 && pitch: 1.2"
  bossKilled_3:
     - "[BROADCAST] &fБосс #FDBE00тестового аирдропа &fубит, теперь нужно #FDBE00вскрыть &fаирдроп"
    - "[BROADCAST] &fИгрок {bossKilled_killer_name} убил босса и нанёс ему {bossKilled_killer_hp} урона"
    - "[BROADCAST] &fИгрок {bossKilled_1_name} нанёс {bossKilled_1_hp} урона"
    - "[BROADCAST] &fИгрок {bossKilled_2_name} нанёс {bossKilled_2_hp} урона"
    - "[BROADCAST] &fИгрок {bossKilled_3_name} нанёс {bossKilled_3_hp} урона"
    - "[SOUND] sound: ENTITY_WITHER_DEATH && volume: 0.6 && pitch: 1.2"
  unlock:
     - "[BROADCAST] #FDBE00Тестовый аирдроп &fбыл #FDBE00открыт&f, успейте #FDBE00забрать&f лут"
    - "[SOUND] sound: BLOCK_BEACON_ACTIVATE && volume: 1.0 && pitch: 1.0"
  cooldown:
- "[MESSAGE] {prefix}Подожди #FDBE00{timeLeft}&f перед #FDBE00следующим&f предметом"
  summonerUseSuccess:
     - "[MESSAGE] {prefix}Фаер аирдропа #FDBE00{id}&f активирован в точке #FDBE00{x} {y} {z}"
     - "[SOUND] sound: ENTITY_FIREWORK_ROCKET_LAUNCH && volume: 1.0 && pitch: 1.15"
  summonerUseFailed:
    - "[MESSAGE] {prefix}Не удалось #FDBE00вызвать&f аирдроп #FDBE00{id}&f в этой точке"
    - "[SOUND] sound: BLOCK_NOTE_BLOCK_BASS && volume: 1.0 && pitch: 0.7"
  remove:
    - "[BROADCAST] #FDBE00Тестовый аирдроп &fбыл #FDBE00украден&f цыганями, расход"
    - "[SOUND] sound: ENTITY_ITEM_BREAK && volume: 0.7 && pitch: 0.8"

Код:
effects:
# Уникальный ключ эффекта (можно любой).
  # Можно добавить неограниченное количество секций.

  idle_ring:
 enable: true
    phases: "preSpawn;breaking;opening;opened"
    particle: "ENCHANTMENT_TABLE"
    shape: "circle"       # POINT, CIRCLE, SPHERE, HELIX, LINE, BOX
    intervalTicks: 6      # как часто рисовать (20 тиков = 1 сек)
    points: 28            # плотность фигуры
    radius: 1.8           # радиус круга/сферы/box
    height: 0.0           # для helix/box
    count: 1
    speed: 0.0
    offset:
      x: 0.0              # смещение центра фигуры от блока аирдропа
      y: 0.25
      z: 0.0
    spread:
      x: 0.0
      y: 0.0
      z: 0.0
    viewRange: 64         # >0: рисуется только игрокам в радиусе
    force: false          # используется когда viewRange <= 0

  pre_spawn_beacon:
    enable: true
    phase: "preSpawn"     # можно phase или phases
    particle: "END_ROD"
    shape: "helix"
    intervalTicks: 2
    points: 22
     radius: 0.9
     height: 2.5
     count: 1
     offset:
       x: 0.0
       y: 0.1
       z: 0.0
     viewRange: -1         # -1/0 -> world.spawnParticle
     force: true

 breaking_crackle:
 enable: true
phase: "breaking"
    particle: "CRIT_MAGIC"
    shape: "circle"
    intervalTicks: 3
 points: 18
 radius: 1.15
 count: 1
 offset:
 y: 0.35
 viewRange: 72

 opening_sphere:
 enable: true
phase: "opening"
    particle: "SPELL_WITCH"
    shape: "sphere"
    intervalTicks: 8
 points: 34
 radius: 1.5
 count: 1
 offset:
 y: 0.7
 viewRange: 72

 opened_beam_up:
 enable: true
phase: "opened"
    particle: "CLOUD"
    shape: "line"
    intervalTicks: 4
 points: 18
 count: 1
 offset:
 x: 0.0
 y: 0.0
 z: 0.0
 lineTo:
 x: 0.0
 y: 4.0
 z: 0.0
 spread:
 x: 0.02
 y: 0.02
 z: 0.02
 speed: 0.01
 viewRange: 96

 boss_warning_box:
 enable: true
phase: "bossFight"
    particle: "CRIT"
    shape: "box"
    intervalTicks: 3
 points: 24
 radius: 2.2
 height: 2.8
 count: 1
 offset:
 y: 0.1
 viewRange: 80

# Пример цветной пыли (Particle.DustOptions)
  redstone_aura:
 enable: true
 phases:
- "preSpawn"
      - "breaking"
      - "opening"
      - "opened"
    particle: "REDSTONE"
    shape: "circle"
    intervalTicks: 5
 points: 20
 radius: 1.2
 count: 1
 color:
 red: 253
 green: 190
 blue: 0
 size: 1.2
 offset:
 y: 0.35
 viewRange: 70

# Пример particle с BlockData (FALLING_DUST/BLOCK_CRACK и т.п.)
  block_dust:
 enable: false
phase: "opened"
    particle: "BLOCK_CRACK"
    material: "GOLD_BLOCK"
    shape: "point"
    intervalTicks: 2
 count: 4
 offset:
 y: 1.0
 spread:
 x: 0.25
 y: 0.15
 z: 0.25
 speed: 0.05
 viewRange: 48

# Пример particle с ItemStack (ITEM_CRACK)
  item_spark:
 enable: false
phases: "opened"
    particle: "ITEM_CRACK"
    item: "GOLD_NUGGET"
    shape: "point"
    intervalTicks: 2
 count: 3
 offset:
 y: 1.1
 spread:
 x: 0.2
 y: 0.1
 z: 0.2
 speed: 0.02
 viewRange: 48

📍 Фазовая модель​

Каждый аирдроп проходит через цепочку стадий:

preSpawn → bossFight → breaking → opening → opened
Вы можете включать или отключать любые фазы, создавая разные типы ивентов: от быстрого сундука до полноценного рейда с боссом.

🗺️ Расписание для каждого аирдропа​

У каждого ивента своё расписание с поддержкой часовых поясов. Никаких общих таймеров — полный контроль.

🏗️ Схематики + WorldGuard + фазовая защита​

При спавне аирдропа вставляется схематик, автоматически создаётся регион WorldGuard, а флаги безопасности меняются в зависимости от текущей фазы. На этапе боя — PvP разрешён, на этапе открытия — защита от взрывов и гриферства. Этого нет больше нигде.

👑 Продвинутая босс-система​

  • Отдельная фаза bossFight
  • Кастомный AI (улучшенное движение и выбор цели)
  • Полная настройка: тип моба, HP, имя, эффекты зелий
  • GUI-редактор экипировки босса
  • Сбор урона по игрокам, топ-дамагеры, убийца
  • Ветвление действий после смерти босса

🔨 Уникальная механика вскрытия (Breaking)​

Два режима:
  • Global — общий прогресс на весь сервер
  • Self — каждый игрок лично должен нанести N ударов, иначе сундук для него не откроется

🎭 HideDrop — скрытый лут​

Все предметы в сундуке скрыты под масками. Игрок кликает по «фальшивке» и получает реальный предмет. Защита от авто-лута, двойных кликов и мгновенного выноса сундука.

✨ Визуал по фазам​

  • BossBar настраивается под каждую стадию
  • Hologram с поддержкой FancyHolograms, DecentHolograms и vanilla (ArmorStand)
  • Частицы с формами: point, circle, sphere, helix, line, box
  • Поддержка REDSTONE color, BlockData, ItemStack
Зависимости
Опционально: WorldGuard, WorldEdit/FAWE, FancyHolograms/DecentHolograms, PlaceholderAPI, Vault
Команды и права
КомандаПравоОписание
/hairdrops reloadhairdrops.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Выдать предмет для спавна аирдропа игроком путём размещения на рандомной локации
  • Печально (0)
Реакции: qweyns
Автор
He3HaukaX
Просмотры
175
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя He3HaukaX

Поделиться ресурсом

Последние обновления

  1. Крупное обновление (не вошло в видео)

    1. Очень сильно оптимизировал "FancyHologramsReflectionUtils" 2. Добавил предмет призыва...
Назад
Сверху Снизу