- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Минимальная версия Java
- 17
hStanZoneItem
Кастомные предметы для создания временных stun-зон
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Кастомные предметы для создания временных stun-зон
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
hStanZoneItem — это плагин для создания настраиваемых предметов, которые по ПКМ создают временную stun-зону вокруг игрока.
Внутри активной зоны плагин может отключать полёт, Elytra/glide, запуск с помощью Elytra и использование фейерверков для буста. Это полезно для PvP-серверов, клановых проектов, арен, ивентов и серверов, где нужно временно ограничивать преимущество полёта.
Плагин работает на базе WorldGuard и WorldEdit, поддерживает разные формы зон, гибкие размеры, cooldown, customModelData, эффекты частиц, звуки активации и систему действий.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Основные возможности
Кастомные предметы для создания зон
Каждая stun-зона создаётся через отдельный настраиваемый предмет.
Для каждого предмета можно настроить:
- Материал
- Название
- Описание
- CustomModelData
- Будет ли предмет тратиться после использования
- Право на использование
- Cooldown
- Форму зоны
- Размер зоны
- Время действия
- Частицы
- Звук активации
- Запрещённые WorldGuard-регионы
Пример:
Код:
items:
default:
material: NETHER_STAR
name: "&cСтан-зона"
customModelData: 0
consumeOnUse: true
permission: "hstanzoneitem.use"
cooldownSeconds: 0
Так можно создавать обычные расходники, PvP-предметы, предметы для клановых войн, донатные способности или специальные ивентовые предметы.
────────────────────────────────────────
Временные anti-flight зоны
Когда игрок использует настроенный предмет, плагин создаёт временную зону в точке активации.
Внутри активной зоны плагин может блокировать:
- Обычный полёт
- Elytra gliding
- Запуск через Elytra
- Буст фейерверками
- Нечестное воздушное перемещение в PvP
Это особенно полезно на серверах, где Elytra, fly-права или ракеты мешают нормальному PvP.
────────────────────────────────────────
Восстановление состояния полёта
Плагин сохраняет предыдущее состояние allow-flight у игрока и восстанавливает его после выхода из зоны.
Это значит, что зона временно отключает полёт, но не ломает прежнее состояние игрока навсегда.
Состояние также восстанавливается при выходе игрока с сервера и при отключении плагина.
────────────────────────────────────────
Принудительное движение вниз
Для зоны можно включить принудительное опускание игрока вниз, когда его полёт, glide или Elytra-движение блокируются.
Пример:
Код:
zone:
forceDownwardVelocity: true
downwardVelocity: -0.45
Это помогает не дать игроку зависнуть в воздухе после срабатывания зоны.
────────────────────────────────────────
Несколько форм зон
hStanZoneItem поддерживает несколько форм зон:
Код:
CUBE
DOME
SPHERE
Каждый предмет может использовать свою форму.
Пример:
Код:
zone:
shape: DOME
size: "5x5x0x5x5x5"
durationSeconds: 12
Это позволяет создавать кубические зоны, купола и сферы под разные PvP-сценарии.
────────────────────────────────────────
Гибкие форматы размера
Размеры зоны можно задавать разными способами.
Поддерживаемые форматы:
Код:
"10" -> один размер для ширины, высоты и глубины
"10x6" -> ширина x глубина, высота рассчитывается автоматически
"10x6x10" -> ширина x высота x глубина
"5x5x10x10" -> -X x +X x высота x глубина
"5x5x0x10x10" -> -X x +X x -Y x +Y x глубина
"5x5x0x5x5x5" -> -X x +X x -Y x +Y x -Z x +Z
Благодаря этому можно создавать симметричные зоны, асимметричные зоны, высокие купола, плоские зоны и специальные области под конкретный геймплей.
────────────────────────────────────────
Отображение зоны частицами
Активную зону можно визуально выделить с помощью REDSTONE-частиц.
Настраивается:
- Включение или отключение частиц
- Интервал отображения
- Цвет частиц
- Размер частиц
Пример:
Код:
effects:
particle:
enable: true
intervalTicks: 20
color: "#b45cff"
size: 1.4
Так игрокам проще понять, где находится активная stun-зона.
────────────────────────────────────────
Звук активации
Каждый предмет может воспроизводить звук при создании зоны.
Пример:
Код:
effects:
activation:
sound:
enable: true
name: BLOCK_BEACON_ACTIVATE
volume: 1.0
pitch: 1.4
Это даёт игроку понятную обратную связь при использовании предмета.
────────────────────────────────────────
Cooldown и расходование предмета
Для каждого предмета можно настроить отдельный cooldown.
Пример:
Код:
cooldownSeconds: 15
Предмет также может тратиться после использования:
Код:
consumeOnUse: true
Так можно делать как одноразовые расходники, так и многоразовые способности.
────────────────────────────────────────
Ограничение по WorldGuard-регионам
Плагин зависит от WorldGuard и WorldEdit.
Для предмета можно указать регионы, в которых его нельзя использовать.
Пример:
Код:
regions:
- world: world
region: spawn
- world: world
region: safezone
Если игрок пытается активировать предмет в запрещённом регионе, плагин отменит создание зоны и выполнит действия из секции regionBlocked.
Это удобно для spawn, safezone, защищённых арен и других мест, где нельзя ставить stun-зоны.
────────────────────────────────────────
Защита от пересечения зон
Плагин проверяет активные зоны и не даёт создать новую зону, если она пересекается с уже активной.
Это помогает избежать наложения зон, визуального спама и нечестного стакания anti-flight эффектов.
────────────────────────────────────────
Bypass-право
Администраторы или отдельные группы могут обходить ограничения активных зон.
Право обхода:
Код:
hstanzoneitem.bypass
Игроки с этим правом игнорируются активными stun-зонами.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Система действий
hStanZoneItem имеет гибкую систему действий для сообщений, звуков, команд, эффектов и визуальной обратной связи.
Доступные секции действий:
Код:
actions.noPermission
actions.cooldown
actions.activated
actions.zoneIntersects
actions.flightBlocked
actions.fireworkBlocked
actions.regionBlocked
Через actions можно отправлять сообщения, делать broadcast, запускать команды, проигрывать звуки и показывать визуальные эффекты.
────────────────────────────────────────
Поддерживаемые типы действий
Доступные типы действий:
Код:
[MESSAGE]
[BROADCAST]
[CONSOLE]
[PLAYER]
[SOUND]
[TITLE]
[ACTIONBAR]
[BOSSBAR]
[PARTICLE]
[FIREWORK]
[EFFECT]
[VAULT]
Пример:
Код:
actions:
activated:
- "[MESSAGE] {prefix}Активирована {item} ({shape}, {size}) на {time} секунд"
- "[SOUND] sound:BLOCK_BEACON_ACTIVATE && volume:1.0 && pitch:1.2"
flightBlocked:
- "[MESSAGE] {prefix}В зоне {item} запрещён полёт"
cooldown:
- "[MESSAGE] {prefix}Подождите {time} секунд перед использованием {item}"
────────────────────────────────────────
Плейсхолдеры для действий
Эти плейсхолдеры можно использовать в сообщениях и actions:
Код:
{prefix} - префикс плагина
{player} - имя игрока
{item} - название предмета
{id} - ID предмета
{shape} - форма зоны
{size} - размер зоны
{time} - время cooldown или длительность
{amount} - значение amount
{count} - значение count
Если на сервере установлен PlaceholderAPI, его плейсхолдеры также можно использовать в тексте actions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Команды
Код:
/hstanzone
/hstanzone give <player> <item> [amount]
/hstanzone reload
Описание команд:
Код:
/hstanzone - показать использование команд
/hstanzone give <player> <item> [amount] - выдать настроенный предмет зоны
/hstanzone reload - перезагрузить конфиг и предметы
Команда поддерживает tab-complete для подкоманд, онлайн-игроков и ID предметов из конфига.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Права
Код:
hstanzoneitem.use - разрешает использовать предметы stun-зон
hstanzoneitem.give - доступ к /hstanzone give
hstanzoneitem.reload - доступ к перезагрузке конфига
hstanzoneitem.bypass - обход ограничений активных зон
Значения по умолчанию:
Код:
hstanzoneitem.use - true
hstanzoneitem.give - OP
hstanzoneitem.reload - OP
hstanzoneitem.bypass - OP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Зависимости
Обязательные:
- Java 17 или новее
- Spigot, Paper или Purpur 1.16+
- WorldEdit
- WorldGuard
Опциональные:
- PlaceholderAPI для плейсхолдеров в тексте actions
- Vault для Vault-действий
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Установка
- Установите WorldEdit и WorldGuard.
- Поместите hStanZoneItem.jar в папку plugins.
- Перезапустите сервер.
- Откройте созданный конфиг.
- Настройте предметы в секции items.
- Выдайте игрокам нужные права.
- Выдайте предмет командой /hstanzone give <player> <item> [amount].
Основной файл конфигурации:
Код:
plugins/hStanZoneItem/config.yml
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Пример настройки предмета
Код:
items:
dome:
material: END_CRYSTAL
name: "&dКупол стана"
lore:
- "&7ПКМ: создать купол."
- "&7Размер: &f5x5x0x5x5x5"
- "&7Внутри купола отключаются полет и элитры."
customModelData: 0
consumeOnUse: true
permission: "hstanzoneitem.use"
cooldownSeconds: 15
regions:
- world: world
region: spawn
zone:
shape: DOME
size: "5x5x0x5x5x5"
durationSeconds: 12
forceDownwardVelocity: true
downwardVelocity: -0.45
effects:
particle:
enable: true
intervalTicks: 20
color: "#b45cff"
size: 1.4
activation:
sound:
enable: true
name: BLOCK_BEACON_ACTIVATE
volume: 1.0
pitch: 1.4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Для чего можно использовать hStanZoneItem
- Anti-Elytra предметы для PvP
- Временные no-fly зоны
- Клановые способности
- Контроль зон на аренах
- Ивентовые расходники
- Кастомные PvP-ловушки
- Вспомогательные предметы для King of the Hill
- Защита safezone и spawn-регионов
- Донатные или ранговые способности
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Почему hStanZoneItem
hStanZoneItem даёт серверу простой способ создавать временные anti-flight зоны без сложной системы арен.
Вы настраиваете предметы, формы, размеры, права, cooldown, регионы, частицы и действия через YAML.
В результате получается гибкий PvP-инструмент, который можно адаптировать под кланы, арены, ивенты, survival-серверы и кастомные способности.
- Зависимости
- PlaceholderAPI (Опционально) WorldGuard, WorldEdit (Обязательно)
- Команды и права
Команда Право Описание Отсутствует hstanzoneitem.use Доступ к использованию стан-предмета (дефолтный, для каждой зоны можно настроить свой в permission) /hstanzoneitem give hstanzoneitem.give Доступ к выдаче стан зоны /hstanzoneitem reload hstanzoneitem.reload Доступ к перезагрузке конфига Отсутствует hstanzoneitem.bypass Обход ограничений в стан зоне