ShieldyBlocks - плагин для привата территорий через установку специальных блоков. Игрок ставит настроенный блок, плагин создаёт регион в WorldGuard, назначает владельца, показывает голограмму и хранит данные в SQLite.
- Приват создаётся без команд и без ручной разметки.
- У разных блоков можно настроить свой радиус, прочность, лимиты и внешний вид.
- У региона есть владелец и список участников.
- При разрушении блока привата регион удаляется автоматически.
- Поддерживаются уникальные блоки, которые нельзя просто так достать из мира.
- Над регионом отображается голограмма через DecentHolograms.
- Сервер на Paper 1.16.5+.
- Установленный плагин WorldGuard.
- Установленный плагин DecentHolograms.
- Игрок получает или берёт приват-блок.
- Ставит его в мире.
- ShieldyBlocks проверяет лимит регионов игрока и пересечение с уже существующими регионами WorldGuard.
- Если всё корректно, создаётся регион.
- Владелец региона становится владельцем в WorldGuard, а данные региона сохраняются в базу .
Если блок привата сломан киркой участником региона или уничтожен взрывом, регион удаляется.
Поршнями двигать приват-блоки нельзя.
Основной файл: plugins/ShieldyBlocks/config.yml
В конфиге настраиваются:
- глобальные лимиты регионов;
- тексты сообщений;
- текст и параметры голограмм;
- список приват-блоков.
Каждый блок в секции blocks имеет свой уникальный ключ, например common или silent. Именно этот ключ используется в командах и хранится в базе.
Для каждого блока можно задать:
display-name- отображаемое название блока/типа региона;material- материал блока;unique- требуется ли специальный выданный блок с PDC-меткой;radius- радиус привата по всем координатам, включаяy;durability- максимальная прочность региона;hologram.member-view-distance- дальность показа голограммы участникам;hologram.other-view-distance- дальность показа голограммы всем остальным.
Если unique: true, обычный блок такого материала не подойдёт. Такой регион можно поставить только блоком, выданным через /ps give.
Лимиты задаются в секции limits:
default- базовый лимит для всех игроков;overrides- лимиты по правам.
Пример в дефолтном конфиге:
shieldyblocks.limit.vip-> 3 регионаshieldyblocks.limit.premium-> 5 регионов
У каждого типа блока есть прочность.
При взрыве динамитом прочность уменьшается на 1.
Используется SQLite. База создаётся автоматически при запуске.
В регионах хранятся:
- внутренний
id; - ник владельца;
- список никнеймов участников;
block_idиз конфига;- мир и координаты блока;
- текущее и максимальное значение прочности.
Основная команда: /shieldyblocks
Алиас: /ps
/ps add [номер] <ник>- добавить игрока в свой регион./ps remove [номер] <ник>- удалить игрока из своего региона./ps list- показать список своих регионов.
Если номер региона не указан, плагин пытается взять регион, в котором стоит игрок.
Нумерация регионов у каждого игрока своя и строится по возрастанию внутренних id.
Право: shieldyblocks.admin
/ps reload- перезагрузить конфиг и runtime-состояние плагина./ps give <игрок> <block-id>- выдать настроенный приват-блок.
/ps give особенно нужна для блоков с unique: true.
Для локальной сборки используется команда:
./gradlew buildГотовый .jar появится в build/libs/.