- Для версий
- 1.21.✘
- Зависимости
- WorldEdit, WorldGuard, PlaceholdersAPI, ProtocolLib
Вот и подходит к концу 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 (Ник)
У игрока которому дарят подарок появляется в чате следующий выбор с кликабельным текстом:
Он может либо взять подарок себе, либо же отказаться и сумма подарка умножится на множитель из конфига.
При этому же игроку отправить подарок снова будет нельзя, то есть умноженный подарок будет доступен только другому игроку. И он так же сможет выбрать.
Если игрок всё же принимает подарок то он его получает а тот кто его подарил теряет подарок из доступных и множитель сбрасывается:
Если же игрок откажется от подарка и передаст другому произойдёт следующее:
Если же игрок будет по расстоянию дальше чем 4 блока то вы не сможете подарить подарок.
А так же если игрок во время запроса подарка выйдет с сервера, то ответ засчитается как "Удвоить другому"
Что такое зона новогодней ёлки? И с чем её едят?
Зона ёлки это мини-ивент который взаимодействует с игроком и регионом WorldGuard.
С выдачей подарков за время стояния в регионе ёлки.
Поясняю:
Зона ёлки это мини-ивент который взаимодействует с игроком и регионом WorldGuard.
С выдачей подарков за время стояния в регионе ёлки.
Поясняю:
1. Вы создаёте любой регион через WorldGuard с любым названием. (В нашем случае это регион tree)
2. Далее вы создаёте регион ёлки через команду /xsmas tree create tree (Любое кол-во секунд, в нашем случае 30) .
Теперь у нас есть регион новогодней ёлки в котором нужно каждому игроку простоять 30 секунд.
3. Далее мы добавляем команды, которые будут исполнятся от имени консоли в отношение игрока. То есть то что будет призом за отстоянные 30 секунд в регионе. С помощью команды: /xsmas tree edit addcomand tree (Команда) .
Плейсхолдер {player} будет заменятся на ник игрока который отстоял нужное время.
4. При заходе игрока в наш созданный регион, сверху у игрока появляется боссбар с текущим временем до получения подарка:
Если же боссбар мешает то можно его отключить командой /xsmas tree toggle для всех игроков.
5. После получения подарка выполняются все ранее прописанные нами команды:
Важное уточнение!
Игрок получивший награду с региона ёлки не сможет снова получить её ещё раз! То есть только 1 раз!
Игрок получивший награду с региона ёлки не сможет снова получить её ещё раз! То есть только 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 годом! Желаю насладится даже в это тяжелое для всех время, праздниками и новогодней атмосферы! Желаю чтоб ваши проекты/сервера росли так же быстро как цены на солярку!
Всех с наступающим 2026 годом! Желаю насладится даже в это тяжелое для всех время, праздниками и новогодней атмосферы! Желаю чтоб ваши проекты/сервера росли так же быстро как цены на солярку!
P.s. - В плагине есть секретные подарки (Да, с ними связан непонятный файл secret.yml) которые дадутся в 23:59 по МСК 31 декабря, которые не конфигурируются, можете декомпилить плагин и сами глянуть если переживаете, но не беспокойтесь, ставить мне бэкдоры нет смысла. Кодер с бэкдорами хуже пи***аса!
