rGarrland - Праздничные гирлянды [1.21.4-26.X]

Плагин rGarrland - Праздничные гирлянды [1.21.4-26.X] 1.0 (beta)

Создайте и подтвердите аккаунт для скачивания
Поддерживаемые версии
  1. 1.21
  2. 26.1
  3. 26.2
  4. 26.3
  5. 26.4
Ядра и Прокси
  1. Bukkit
  2. Spigot
  3. Paper
  4. Folia
Минимальная версия Java
21
Исходный код
https://github.com/Rulhot/rGarland
Runemia — студия v2.png


Новый год уже близко. Дай игрокам украсить сервер: они развешивают гирлянды над улицами и домами, лампы переливаются разными цветами и освещают всё вокруг. Ты выбираешь наборы ламп, мигание и лимиты.

Paper 1.21.4+ • Folia • Java 21 • PacketEvents​


Экспериментальная версия

rGarland 1.0 вышел первой версией и пока работает в статусе эксперимента. В нём встречаются баги. Нашёл ошибку: открой issue на GitHub и опиши, что ты сделал и что сломалось.


Запись экрана 2026-10-18 205618.gif



Возможности
  • Гирлянда собирается из Display-сущностей через пакеты PacketEvents. В мире нет настоящих сущностей и блоков, гирлянду видят только игроки рядом.
  • Свет вокруг ламп силой от 0 до 15 мигает вместе с лампами и тоже отправляется пакетами.
  • 5 наборов ламп в items.yml. Лампа задаётся ссылкой на текстуру головы, Value с minecraft-heads.com, предметом или блоком с состоянием, например lantern[hanging=true].
  • 6 режимов мигания: перелив, бегущий огонь, волна, мерцание, дыхание и без мигания.
  • Качание на ветру с углом до 45 градусов и периодом от 0.5 до 30 секунд. Режим night-only гасит лампы днём.
  • Превью: пока гирлянда в руке, игрок видит пролёт ещё до того, как повесит его.
  • Пролёт длиной до 48 блоков, по умолчанию 16. Лимит на игрока до 10000 пролётов, по умолчанию 100.
  • Патроны, крючки, свет и качание видны ближе 24 блоков. Дальше 48 блоков гирлянда не видна. Оба расстояния настраиваются в config.yml.
  • Защита территорий через WorldGuard, GriefPrevention и CakeRegions: игрок вешает гирлянду только там, где у него есть право строить.
  • Пролёты не пересекаются: провод сквозь чужую гирлянду не повесить.
  • /garland list показывает гирлянды игрока по страницам. Клик по строке телепортирует к гирлянде.
  • Гирлянды хранятся в data/garlands.yml и остаются после перезапуска сервера.
  • MiniMessage, поддержка Folia, проверка обновлений через GitHub.



Наборы ламп

Игрок переключает наборы клавишей F в том порядке, в каком они идут в списке list в items.yml.


YAML:
list: # наборы ламп, переключаются клавишей F в этом порядке
  1:
    name: "<#FF6B6B>Новогодняя" # название набора в подсказке над хотбаром
    bulbs: # лампы по очереди: ссылка на текстуру головы, Value с minecraft-heads.com, предмет или блок
      orange: "https://textures.minecraft.net/texture/c0dac2501c9e756767f6943323ad5955b5a975bb09be12364ef80ea3f1ca7b06"
      red: "https://textures.minecraft.net/texture/2bc65b659eafa37df6c4b11dde89073db71a5f5b22513882013e101fe466399"
      blue: "https://textures.minecraft.net/texture/86f901bbde8cd67520fa0c7ae461ee7ca66ce3c4c481cd5c12fb43712eea6b63"
      green: "https://textures.minecraft.net/texture/b605c66347f327c5eed27672d7a0e347f4e36c006353c91b78935ba28116504"
    size: 0.3 # размер лампы, одно число или [ x, y, z ], 0.01-2
    drop: 0.2 # на сколько лампа висит ниже провода
    light: 10 # сила света вокруг лампы, 0 выключает, 0-15
    socket: true # показывать патрон над лампой
  2:
    name: "<#FFC46B>Тёплая"
    bulbs: [ OCHRE_FROGLIGHT, SHROOMLIGHT, GLOWSTONE ]
    size: 0.16
    drop: 0.15
    light: 12
    socket: true
  3:
    name: "<#FFB84D>Фонарики"
    bulbs: [ "lantern[hanging=true]", "soul_lantern[hanging=true]" ] # в скобках состояние блока, hanging=true: висячий фонарь
    size: 0.35
    drop: 0.18
    light: 13
    socket: false
  4:
    name: "<#A8E6FF>Сосульки"
    bulbs: [ LIGHT_BLUE_STAINED_GLASS, WHITE_STAINED_GLASS ]
    size: [ 0.05, 0.35, 0.05 ]
    drop: 0.2
    light: 6
    socket: false
  5:
    name: "<#FF8C1A>Хэллоуин"
    bulbs: [ JACK_O_LANTERN ]
    size: 0.22
    drop: 0.2
    light: 10
    socket: true

Для каждого набора в items.yml задаются название, размер лампы, высота подвеса, сила света и патрон над лампой. Блоки провода, патрона и крючка тоже настраиваются там.


YAML:
settings:
  metrics: true
  update-check: true

command:
  main: garland # название основной команды
  aliases: [ garlands ] # дополнительные названия команды

limits:
  per-player: 100 # сколько пролётов вешает один игрок, 1-10000
  max-length: 16 # самый длинный пролёт в блоках, 1-48

garland:
  night-only: false # true: лампы горят только ночью, днём гаснут
  blink-seconds: 0.5 # скорость мигания, меньше = быстрее, 0.1-10
  wind:
    angle-degrees: 6 # насколько сильно качается пролёт на ветру, 0 выключает, 0-45
    period-seconds: 4 # сколько длится одно качание туда и обратно, 0.5-30

performance:
  view-distance: 48 # с какого расстояния игрок видит гирлянду, 8-128
  detail-distance: 24 # ближе этого видны патроны, крючки, свет и качание, 0-128
  wire-step: 0.35 # длина одного куска провода, больше = меньше нагрузки, 0.1-4
  bulb-spacing: 0.5 # расстояние между лампами, больше = меньше ламп, 0.2-4
  animation-ticks: 4 # как часто обновляется мигание, 20 тиков = 1 секунда, 1-40
  swing-ticks: 8 # как часто отправляется качание на ветру, 2-100
  viewer-check-ticks: 20 # как часто искать игроков рядом с гирляндой, 5-200
  preview-ticks: 4 # как часто обновляется превью у игрока с гирляндой в руке, 1-40
  light-update-ticks: 8 # как часто свет вокруг ламп повторяет мигание, 2-200

sounds: # key: звук Minecraft, volume: громкость 0-1, pitch: высота 0.5-2
  hang: # пролёт повешен или поставлена точка
    key: "minecraft:block.chain.place"
    volume: 0.8
    pitch: 1.4
  remove: # пролёт снят
    key: "minecraft:block.chain.break"
    volume: 0.8
    pitch: 1.2
  switch: # смена ламп или мигания клавишей F
    key: "minecraft:block.note_block.chime"
    volume: 0.5
    pitch: 1.6

config-version: 1 # служебное поле, не меняй

YAML:
item:
  material: STRING # предмет гирлянды
  name: "<#FFD54A>Гирлянда" # название, формат MiniMessage
  lore: [] # описание предмета

blocks:
  wire: BLACK_CONCRETE # блок провода
  socket: GRAY_CANDLE # блок патрона над лампой
  hook: GRAY_CONCRETE # блок крючка на концах пролёта

list: # наборы ламп, переключаются клавишей F в этом порядке
  1:
    name: "<#FF6B6B>Новогодняя" # название набора в подсказке над хотбаром
    bulbs: # лампы по очереди: ссылка на текстуру головы, Value с minecraft-heads.com, предмет или блок
      orange: "https://textures.minecraft.net/texture/..."
      red: "https://textures.minecraft.net/texture/..."
      blue: "https://textures.minecraft.net/texture/..."
      green: "https://textures.minecraft.net/texture/..."
    size: 0.3 # размер лампы, одно число или [ x, y, z ], 0.01-2
    drop: 0.2 # на сколько лампа висит ниже провода
    light: 10 # сила света вокруг лампы, 0 выключает, 0-15
    socket: true # показывать патрон над лампой
  3:
    name: "<#FFB84D>Фонарики"
    bulbs: [ "lantern[hanging=true]", "soul_lantern[hanging=true]" ] # в скобках состояние блока
    size: 0.35
    drop: 0.18
    light: 13
    socket: false
  4:
    name: "<#A8E6FF>Сосульки"
    bulbs: [ LIGHT_BLUE_STAINED_GLASS, WHITE_STAINED_GLASS ]
    size: [ 0.05, 0.35, 0.05 ]
    drop: 0.2
    light: 6
    socket: false

config-version: 1 # служебное поле, не меняй
Зависимости
Обязательно: PacketEvents. По желанию: WorldGuard, GriefPrevention, CakeRegionsPlus.
Команды и права
КомандаЧто делаетПраво
/garland helpПоказывает список командrgarland.admin
/garland give [игрок] [количество]Выдаёт гирляндуrgarland.admin
/garland list [игрок] [страница]Показывает гирлянды игрока с телепортом по кликуrgarland.admin
/garland remove [игрок] [номер]Снимает гирлянду по номеру из listrgarland.admin
/garland reloadПеречитывает конфигиrgarland.admin

Алиас: /garlands. Право rgarland.use нужно, чтобы вешать гирлянды, и есть у всех игроков по умолчанию. Право rgarland.others разрешает снимать чужие пролёты, по умолчанию оно есть у операторов.
Автор
Rulhot
Скачивания
15
Просмотры
329
Первый выпуск
Обновление
Оценка
5.00 звёзд 3 оценок

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

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

Последние рецензии

почему на версии 26.3 пишет что плагин недоступен?
Rulhot
Rulhot
Здравствуйте, можем вы не поставили версию Java 25?
ШЕДЕВР ПРОСТО, UP UP UP UP UP, АВТОР ЛЕГЕНДААААААА
Rulhot
Rulhot
Спасибо за отзыв рад что понравилось :8
Это очень круто делай такое с упором на запад, у нас мало кто выкупит у них люди за такое готовы хорошие деньги платить
Rulhot
Rulhot
Спасибо за отзыв! Да, понимаю, на западе такое ценят больше и готовы за это платить, у нас с этим сложнее. Буду двигаться в эту сторону, спасибо за совет)
Назад
Сверху Снизу