- Поддерживаемые версии
- 1.16
- Ядра и Прокси
- Paper
- Минимальная версия Java
- 16
KastDuels — плагин дуэлей для Paper/Spigot
=============================================
Коротко
------
KastDuels — это быстрые и настраиваемые дуэли с типами арен (1v1 / build / buildplace), восстановлением карты после боя, умным выбором свободной арены, редактором китов, очередями, подсказками команд и гибкой локализацией. Плагин отлично подходит как для классических 1v1, так и для билд-режимов с временной стройкой.
• Бесплатный и без «пейволлов». Редактор китов /kiteditor доступен сразу — без донатов и «про»-версий.
• Частые обновления: мы регулярно выкатываем фиксы и фичи, оперативно закрываем обратную связь.
• Три режима арен:
- 1v1 — обычная дуэль, без строительства.
- build — можно ломать и ставить блоки. После матча всё на арене автоматически восстанавливается.
- buildplace — можно только ставить блоки (ломать нельзя). Поставленное очищается в конце матча.
• Бережное восстановление арены: все изменения блоков фиксируются и откатываются после боя.
• Привязка нескольких арен к одному киту: укажите список арен — плагин выберет свободную.
• Защита от выхода за границы: мягкий возврат внутрь + настраиваемый звук/сообщение.
• Сердечки над игроками: глобально и/или точечно по арене (пер-арена флаг), только на время дуэли.
• Гибкий дизайн интерфейса: настраивайте иконки/названия/описания кнопок, «сияние» (glow) и звуки.
• Локализация: все основные сообщения и usage-строки меняются в messages.yml. Цвета через &-коды.
• Удобные GUI: меню очереди и редактора кита, предметы-действия (ActionItem) с метаданными кликов.
• Жёсткая валидация: запрет pos1/pos2 для несуществующих арен, подробные ошибки и таб-комплит.
• Базовые функции (редактор китов, сердечки, режимы build/buildplace, откат карты) не спрятаны за оплатой.
• Можно тонко настроить дизайн кнопок (иконка, слот, название, лор, glow, звук клика) прямо в конфигах.
• Пер-арена параметры (сердечки, тип, точки спавна/границы) — без сторонних аддонов.
• Мы не заставляем покупать «ещё один плагин», чтобы получить доступ к /kiteditor или к настройкам визуала.
• Сервер: Paper/Spigot 1.16+ (рекомендуется Paper).
• Права: см. раздел «Права доступа».
• Зависимости: нет (всё из коробки).
1) Поместите .jar в /plugins.
2) Запустите сервер — сгенерируются каталоги и файлы плагина:
- /plugins/KastDuels/config.yml
- /plugins/KastDuels/messages.yml
- /plugins/KastDuels/arena-regions.yml
- /plugins/KastDuels/kits/…
3) Настройте конфиги под себя (см. ниже).
4) Создайте арены и точки спавна, привяжите киты — готово!
• 1v1 — классический режим, без строительства.
• build — разрешено ломать и ставить блоки; по окончании матча арена откатывается к исходному состоянию.
• buildplace — разрешено ставить блоки (ломать нельзя); все поставленное удаляется после матча.
Плагин хранит «снимки» изменений блоков и корректно откатывает их в конце, не трогая остальной мир.
• Глобальный флаг и подпись задаются в config.yml: hearts.enabled, hearts.label.
• Тонкая настройка на уровне арены — /ktarena hearts <arena> <on|off>.
• Сердечки показываются только на время дуэли и не конфликтуют с основным скорбордом.
• Игрока мягко возвращает внутрь региона.
• Срабатывает на «перлах» и прямом выходе.
• Сообщение/звук при попытке выхода настраиваются в config.yml (sounds.leaveAttempt).
• Каждый кит — отдельный YAML в /plugins/KastDuels/kits/<kit>.yml.
• Инвентарь кита — в <kit>-inv.yml.
• Привяжите к одному киту несколько арен (через запятую) — плагин выберет свободную.
Примеры:
- Создать кит и сохранить инвентарь:
/ktkit create soup
/ktkit setinv soup
- Привязать кит к арене/списку арен:
/ktkit bindarena soup duel1
/ktkit bindarena soup duel1,duel2,duel3
Админские (permission kastduels.admin)
/ktarena create <arena> — создать арену.
/ktarena delete <arena> — удалить арену.
/ktarena pos1 <arena> — задать угол региона (границы).
/ktarena pos2 <arena> — задать второй угол.
/ktarena posarena1 <arena> — точка границы2.
/ktarena posarena2 <arena> — точка границы1
/ktarena type <arena> <1v1|build|buildplace> — тип арены.
/ktarena hearts <arena> <on|off> — сердечки для арены.(Вроде не работает, потом фикс)
/ktkit create <id> — создать кит.
/ktkit delete <id> — удалить кит.
/ktkit setinv <id> — сохранить инвентарь в кит.
/ktkit bindarena <id> <arena|arena1,arena2,...> — привязать арену(ы).
/ktkit list — список китов.
/ktsetlobby — сохранить лобби (используется для телепортов/выходов). (вроде не работает)
Игровые (обычно без прав, при желании — kastduels.play)
• Встать/выйти из очереди через меню и/или команду (если включена).
• kastduels.admin — все админ-команды.
• kastduels.play — (опционально) права на игровые действия.
config.yml
timers:
preStartCountdown: 5
duelDurationSeconds: 600
sounds:
countdown: ENTITY_EXPERIENCE_ORB_PICKUP
start: ENTITY_PLAYER_LEVELUP
leaveAttempt: BLOCK_NOTE_BLOCK_BASS # звук при попытке выйти за границы
announcements:
winGlobal: true
hearts:
enabled: true
label: "&c

arena-regions.yml
arenas:
duel1:
type: 1v1
hearts: true
pos1: { world: world, x: 0, y: 64, z: 0, yaw: 0, pitch: 0 }
pos2: { world: world, x: 50, y: 90, z: 50, yaw: 0, pitch: 0 }
posarena1: { world: world, x: 10, y: 65, z: 10, yaw: 180, pitch: 0 }
posarena2: { world: world, x: 40, y: 65, z: 40, yaw: 0, pitch: 0 }
kits/soup.yml (дизайн кнопки кита и привязка арен)
display-name: "&fSoup PvP" # имя в меню
slot: 19 # слот в GUI
material: DIAMOND_SWORD # иконка
enchantment:
glow-only: true # «сияние» без чаров
enabled: true
attributes:
enabled: false
description:
in-queue:
- "&7Лёгкий и быстрый кит"
- "&7Подходит для разогрева"
in-duel:
- "&7Классическое PvP"
click-sound: "UI_BUTTON_CLICK"
# одна арена:
# arena: duel1
# или несколько арен списком (плагин выберет свободную):
arena:
- duel1
- duel2
messages.yml (локализация и usage — всё редактируется)
usage.ktarena: "&7/ktarena <create|delete|pos1|pos2|posarena1|posarena2|type|hearts>"
usage.ktkit: "&7/ktkit <create|delete|setinv|bindarena|list>"
arena:
not-found: "&cАрена &e{name}&c не найдена."
noplace: "&cНа этой арене нельзя ломать блоки."
nobreak: "&cНа этой арене нельзя ставить блоки."
leave-boundary: "&cНельзя покидать арену!"
duel:
start-title: "&aСтарт!"
start-subtitle: "&7Удачи в бою"
win: "&a{winner} &7победил игрока &c{loser} &7в ките &e{kit}&7."
• Сначала создайте арену и её точки спавна(pos1/pos2), затем точки границы (posarena1/posarena2), потом тип.
• Создайте киты, сохраните инвентари, привяжите нужные арены (списком, если их несколько).
• Включите/выключите сердечки там, где нужно (глобально и/или per-арена).
• Подправьте дизайн кнопок/иконок/звуков под стиль вашего сервера.
• Отрегулируйте тексты usage и сообщения в messages.yml — это экономит время модерам.
Готово!
-------
KastDuels — бесплатные дуэли «без скрытых доплат» и с действительно полезными настройками. Частые обновления, три режима арен, чистая карта после боя, гибкий дизайн GUI и локализация — всё это помогает игрокам получать удовольствие, а вам — меньше тратить времени на ручное администрирование.
- Команды и права
- Команды:
Админские (permission kastduels.admin)
/ktarena create <arena> — создать арену.
/ktarena delete <arena> — удалить арену.
/ktarena pos1 <arena> — задать угол региона (границы).
/ktarena pos2 <arena> — задать второй угол.
/ktarena posarena1 <arena> — точка границы2.
/ktarena posarena2 <arena> — точка границы1
/ktarena type <arena> <1v1|build|buildplace> — тип арены.
/ktarena hearts <arena> <on|off> — сердечки для арены.(Вроде не работает, потом фикс)
/ktkit create <id> — создать кит.
/ktkit delete <id> — удалить кит.
/ktkit setinv <id> — сохранить инвентарь в кит.
/ktkit bindarena <id> <arena|arena1,arena2,...> — привязать арену(ы).
/ktkit list — список китов.
/ktsetlobby — сохранить лобби (используется для телепортов/выходов). (вроде не работает)
Игровые (обычно без прав, при желании — kastduels.play)
• Встать/выйти из очереди через меню и/или команду (если включена).
Права доступа:
• kastduels.admin — все админ-команды.
• kastduels.play — (опционально) права на игровые действия.