Плагин Механика Fun Косметика Утилита Смешанный ⛄ XSMas ⛄ Новогодние ивенты! [1.0.1]

⛄ XSMas ⛄ Новогодние ивенты!
Краткое описание:
Новогоднее настроение, подарки (1 тебе или 2 следующему), Территории ивента ёлки! И многое другое!
10
194
  • Лайк 0
Реакции:1 пользователя
Для версий
  1. 1.21.✘
Java
  1. Java 17
  2. Java 19
  3. Java 20
  4. Java 21
Зависимости
WorldEdit, WorldGuard, PlaceholdersAPI, ProtocolLib
Gemini Generated Image xpci5rxpci5rxpci


Вот и подходит к концу 2025 год, я не был особо значимым или отличившимся разработчиком на BM, но всё же хочу представить вам для ваших ванильных (и не очень) серверов новогодний плагин XSMas. Который привнесёт на ваш сервер новогоднее настроение, подарки, и даже секретный ивент :3​

Права:
xsmas.admin
- Все админ-команды /xsmas
xsmas.use - Все права для игроков из /newyear

Плейсходеры (PlaceholdersAPI):
%xmas_gifts%
- Кол-во подарков игрока
%xmas_multiply% - Кол-во множителя подарка игрока
%xmas_recived% - Кол-во полученных подарков от разных игроков
%xmas_snowtoggle% - Включен или выключен снег
%xmas_treetimer% - Кол-во секунд до подарка в текущем регионе ёлки

Команды:
/xsmas
- Выводит список всех команд.
/xsmas reload - Перезагружает конфигурацию плагина.
/xsmas newyear gift add (Ник) (Кол-во) - Выдаёт игроку на аккаунт подарки для передачи.

/xsmas tree create (Название региона) (Кулдаун до получения подарка в секундах) - Создать регион ёлки с куладауном на получение подарка.
/xsmas tree remove (Название региона) - Удалить регион ёлки.
/xsmas tree edit addcomand (Название региона) (Команда) - Добавляет команду исполняемую от консоли в список исполняемых команд для подарка. ({player} - Ник игрока стоящего в регионе).
/xsmas tree edit resetcommands (Название региона) - Сбрасывает список команд региона ёлки.
/xsmas tree toggle - Вкл/выкл боссбар включаемый при входе в регион.

/newyear - Выдаёт игроку в чат все команды категории newyear.
/newyear gift (Ник) - Предложить игроку подарок себе, или умножить на множитель для другого.
/newyear gifts - Кол-во подарков игрока.
/newyear snow - Вкл/Выкл приватный снегопад.
/nw me - (Доп. команда) Согласится на подарок и принять его.
/nw next - (Доп. команда) Отказаться от подарка, увеличив ему множитель.



Что такое подарки? И как их дарить?

Подарки это небольшой ивент в котором игроки могут почувствовать себя как в тренде "1 тебе или 2 следующему".

Пример:

Игрок подходит к игроку (радиус 4 блока) и пишет команду /newyear gift (Ник)
7167E7B1 9366 4F1D B66F 7F865D7FF85C


У игрока которому дарят подарок появляется в чате следующий выбор с кликабельным текстом:
72C98B35 1B66 4668 8F3C 26F4CD183C84

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


Если игрок всё же принимает подарок то он его получает а тот кто его подарил теряет подарок из доступных и множитель сбрасывается:
D2976FC4 9882 4053 90F8 C2228448ED77

A6391285 FCAD 491A 837E 3A096004D95E


Если же игрок откажется от подарка и передаст другому произойдёт следующее:
33BA56B6 7D2C 48E4 911E 2585051ED8B9

727E1FFA 9410 4560 835C FB989C5C4AC6



Если же игрок будет по расстоянию дальше чем 4 блока то вы не сможете подарить подарок.
А так же если игрок во время запроса подарка выйдет с сервера, то ответ засчитается как "Удвоить другому"
99BA1399 DAAF 4A84 9FB4 1DBC09280DA9




Что такое зона новогодней ёлки? И с чем её едят?

Зона ёлки это мини-ивент который взаимодействует с игроком и регионом WorldGuard.
С выдачей подарков за время стояния в регионе ёлки.

Поясняю:

1. Вы создаёте любой регион через WorldGuard с любым названием. (В нашем случае это регион tree)

2. Далее вы создаёте регион ёлки через команду /xsmas tree create tree (Любое кол-во секунд, в нашем случае 30) .
6617C8D2 9471 40B8 80E2 0F44D1BBEDF3

Теперь у нас есть регион новогодней ёлки в котором нужно каждому игроку простоять 30 секунд.

3. Далее мы добавляем команды, которые будут исполнятся от имени консоли в отношение игрока. То есть то что будет призом за отстоянные 30 секунд в регионе. С помощью команды: /xsmas tree edit addcomand tree (Команда) .
D8207DDC 7883 41DC 9960 6ADFCBFBB329

Плейсхолдер {player} будет заменятся на ник игрока который отстоял нужное время.

4. При заходе игрока в наш созданный регион, сверху у игрока появляется боссбар с текущим временем до получения подарка:
99448B1E 80F5 46B2 9B42 D5FFCD53898B

Если же боссбар мешает то можно его отключить командой /xsmas tree toggle для всех игроков.

5. После получения подарка выполняются все ранее прописанные нами команды:
AFFBF3C0 D0F6 4BA6 AECE 75AA487391B3


Важное уточнение!
Игрок получивший награду с региона ёлки не сможет снова получить её ещё раз! То есть только 1 раз!


Конфиг:
config.yml:
# Глобальные настройки модулей
global-settings:
  # Включить возможность дарить подарки с множителем
  gift-to-next: true
  # Включить режим персонального снега
  snow-mode: true
  # Включить механику регионов с ёлками (WorldGuard)
  tree-regions: true

# Настройки подарков
gifts-settings:
  # Базовое кол-во валюты/предметов в подарке (1 уровень)
  current: 1
  # На сколько увеличивается множитель при передаче другому (Пример: 1.0 -> 1.5 -> 2.0)
  next-multiply: 0.5
  # Кулдаун на отправку подарков (в секундах)
  cooldown: 300
  # Разрешить дарить подарки одному и тому же игроку несколько раз?
  # true - можно дарить бесконечно
  # false - один раз одному игроку (список сохраняется в базе)
  allow-repeated-gifts: false
  # Команды, исполняемые консолью, когда игрок ЗАБИРАЕТ подарок себе
  # {player} - кто забрал, {gifter} - кто отправил (или Unknown), {ammount} - итоговое число
  commands:
    - "say Игрок {player} получил новогодний подарок от {gifter} в размере {ammount}!"
    - "give {player} diamond {ammount}"
    - "spawnfirework {player}"

# Настройки регионов ёлки
tree-settings:
  # Настройки боссбара (полоска сверху)
  bossbar-message:
    # Цвет: BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
    color: BLUE
    # Текст над полоской (%xmas_treetimer% - время в секундах)
    text: "&b&lНовогодняя ёлка: &fосталось стоять &e%xmas_treetimer% сек."

  # Регионы, которые нельзя превратить в ёлку (защита от дурака)
  blocked-regions:
    - spawn
    - pvp_arena

Сообщения:
messages.yml:
# Поддерживает цвета через символ '&' и HEX-цвета (например, &#FF0000)

errors:
  # Если игрок дальше 4 блоков
  too-far: "&cЭтот игрок слишком далеко от вас! Подойдите ближе (нужно быть рядом)."
  # Если у игрока 0 подарков
  no-gifts: "&cУ вас закончились подарки! Попробуйте позже или выбейте их в игре."
  # Если получателю уже кто-то кинул предложение
  target-busy: "&cЭтому игроку уже кто-то предлагает подарок прямо сейчас. Подождите."
  # Если пытаешься ответить на подарок, которого нет
  no-pending: "&cУ вас нет активных предложений подарка."
  # Если игроки разбежались во время выбора
  auto-decline-distance: "&cОбмен отменен: вы отошли слишком далеко друг от друга."
  # Если игрок вышел
  player-offline: "&cИгрок не найден или оффлайн."

messages:
  # Сообщение отправителю
  offer-sent: "&aВы предложили подарок игроку &e{target}&a! Ожидаем его решения..."
 
  # Если получатель выбрал "Забрать себе" (сброс множителя у отправителя)
  multiplier-reset: "&eВаш множитель сброшен до 1.0, так как ваш подарок был принят получателем."
 
  # Если получатель выбрал "Передать дальше" (увеличение множителя у отправителя)
  multiplier-increased: "&a&lУСПЕХ! &aИгрок передал подарок дальше! Ваш множитель вырос до &6x{new_val}&a!"
 
  # Сообщение тому, кто отказался от подарка в пользу следующего
  you-passed: "&aВы благородно передали право подарка следующему игроку (удвоив его)!"
 
  # Сообщение тому, кто забрал подарок
  gift-received: "&aВы приняли подарок! Получено награды: &b{amount} шт."
 
  # Сообщение при получении награды за стояние у Ёлки
  tree-completed: "&6&lПоздравляем! &eВы простояли у ёлки нужное время и получили подарок!"

# Интерактивное сообщение в чате (которое видит получатель)
gift-offer:
  - ""
  - " &b&l❄ &3&lНОВОГОДНЕЕ ЧУДО &b&l❄"
  - " &7Игрок &f{sender} &7предлагает вам подарок!"
  - " &7У вас есть выбор: забрать награду сейчас"
  - " &7или отказаться, чтобы следующий получил больше."
  - ""
  - "{buttons}"
  - ""

# Текст кнопок в чате
buttons:
  # {buttons} в gift-offer заменяется на эту конструкцию
  accept-text: "&a&l[ЗАБРАТЬ СЕБЕ]"
  next-text: "&c&l[УДВОИТЬ ДРУГОМУ]"



Комментарий разработчика

Всех с наступающим 2026 годом! Желаю насладится даже в это тяжелое для всех время, праздниками и новогодней атмосферы! Желаю чтоб ваши проекты/сервера росли так же быстро как цены на солярку! :sunglasses:


P.s. - В плагине есть секретные подарки (Да, с ними связан непонятный файл secret.yml) которые дадутся в 23:59 по МСК 31 декабря, которые не конфигурируются, можете декомпилить плагин и сами глянуть если переживаете, но не беспокойтесь, ставить мне бэкдоры нет смысла. Кодер с бэкдорами хуже пи***аса! :)
  • 6617C8D2-9471-40B8-80E2-0F44D1BBEDF3.png
    6617C8D2-9471-40B8-80E2-0F44D1BBEDF3.png
    30,6 КБ · Просмотры: 5

Автор

ScriptsDev

Еще ресурсы от ScriptsDev

XSChunkLoader | Блок-прогрузчик чанков
XSChunkLoader | Блок-прогрузчик чанков
Легкий и интуитивно понятный плагин добавляющий блоки-прогрузчики чанков к вам на сервер!
XSChunkLoader [DEMO] | Блок-Прогрузчик чанков
XSChunkLoader [DEMO] | Блок-Прогрузчик чанков
Легкий и интуитивно понятный плагин добавляющий блоки-прогрузчики чанков к вам на сервер!
🎁 PermEvent 🎁
🎁 PermEvent 🎁
Автоматическая раздача призов на вашем сервере!
⌚ DevTimer ⌚
⌚ DevTimer ⌚
Копия плагина с проекта СП-Worlds | СПВремя
🍬 DevCrates 🍬
🍬 DevCrates 🍬
Лёгкая и гибкая система генерации предметов в ваших структурах и данжах!
🙋 DevVote 🙋
🙋 DevVote 🙋
Простое и понятное голосование у вас на сервере
📊 DevRcon 📊
📊 DevRcon 📊
Урезанная консоль для донатеров.
💢 DevFilter 💢
💢 DevFilter 💢
Лёгкая и простая защита, от лишнего пиара.
⚡ EnderPearlPlus ⚡
⚡ EnderPearlPlus ⚡
Кастомизация механики жемчуга эндера у вас на сервере!
ВерхНиз