Secure Plots
Мод для защиты территории с меню, ролями, улучшениями, правами по рангам, атмосферными эффектами и полностью настраиваемой системой визуальных границ.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 418
- Подписчиков на Modrinth
- 2
- версий
- 5
- Обновлён
- 3 апреля 20263 апр.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
🛡 Secure Plots
Minecraft 1.21.1 — Fabric
Мод для защиты территории с меню, ролями, улучшениями, правами по рангам, атмосферными эффектами и полностью настраиваемой системой визуальных границ.
Требования
- Minecraft 1.21.1
- Fabric Loader ≥ 0.15.0
- Fabric API
- Java 21+
Установка
- Закинь
.jarв папкуmods/и на сервере, и на клиенте. - Запусти сервер один раз, чтобы сгенерировались конфиги в
config/. - Отредактируй
secure_plots.json(поведение сервера) иsecure_plots_client.json(визуальные настройки).
Как это работает
Поставь Plot Block, чтобы занять эту область. Уровень блока определяет размер защищённой зоны. ПКМ по блоку или используй предмет Plot Blueprint, чтобы открыть меню управления.
Уровни участков (всё настраивается)
| Уровень | Название | Радиус по умолчанию |
|---|---|---|
| 0 | Bronze | 15 × 15 |
| 1 | Gold | 30 × 30 |
| 2 | Emerald | 50 × 50 |
| 3 | Diamond | 75 × 75 |
| 4 | Netherite | 100 × 100 |
Команды
Все команды доступны как /sp или /secureplots.
Команды игрока
| Команда | Описание |
|---|---|
/sp help | Показать все команды |
/sp list | Список твоих участков |
/sp info [plot] | Информация об участке, на котором ты стоишь, или об участке по имени/номеру |
/sp view | Показать границу ближайшего участка |
| `/sp rename ` | Переименовать участок, на котором ты стоишь |
| `/sp add <plot|all>` | Добавить участника на один или все твои участки |
| `/sp remove <plot|all>` | Убрать участника с одного или всех твоих участков |
| `/sp role <member|admin>` | Изменить роль участника на участке, где ты стоишь |
/sp tp [plot] | Телепортироваться на участок по имени или номеру |
/sp upgrade | Улучшить участок, на котором ты стоишь (тратит материалы) |
/sp myrank | Показать бонусы твоего текущего ранга |
/sp flag | Список доступных глобальных флагов |
| `/sp flag <true|false> [plot]` | Установить глобальный флаг |
/sp perm | Список доступных индивидуальных прав |
| `/sp perm <true|false> [plot]` | Установить право для участника |
/sp fly [true|false] [plot] | Включить/выключить полёт на участке, где ты стоишь |
/sp group | Список групп прав текущего участка |
| `/sp group create ` | Создать группу прав |
| `/sp group delete ` | Удалить группу прав |
| `/sp group addmember ` | Добавить участника в группу |
| `/sp group removemember ` | Убрать участника из группы |
| `/sp group setperm <true|false>` | Установить право для группы |
/sp plot particle <type|clear> | Задать атмосферные частицы при входе на участок |
/sp plot weather <clear|rain|thunder|none> | Переопределить погоду внутри участка |
| `/sp plot time <day|noon|sunset|night|midnight|sunrise||reset>` | Переопределить время внутри участка |
/sp plot music <sound_id|clear> | Проигрывать музыку при входе на участок |
/sp plot enter <message|clear> | Задать сообщение-заголовок при входе |
/sp plot exit <message|clear> | Задать сообщение-заголовок при выходе |
Аргумент plot: большинство команд с
[plot]принимают имя участка, его номер из/sp listилиall.
Команды администратора
Все команды /sp admin требуют OP-уровень ≥ adminOpLevel (по умолчанию: 2).
| Команда | Описание |
|---|---|
/sp admin listall [page] | Список всех участков на сервере с постраничной навигацией (10 на страницу) |
| `/sp admin search [page]` | Список всех участков конкретного игрока |
/sp admin nearby [count] [x y z] | Показать N ближайших участков к твоей позиции или заданным координатам |
| `/sp admin list ` | Быстрый список участков игрока |
| `/sp admin info ` | Полная информация об участке другого игрока |
| `/sp admin tp ` | Телепортироваться на участок другого игрока |
| `/sp admin delete <plot|all>` | Удалить один или все участки игрока |
| `/sp admin rename ` | Переименовать участок другого игрока |
| `/sp admin setowner ` | Передать владение участком, на котором ты стоишь |
| `/sp admin upgrade ` | Принудительно улучшить участок (материалы не тратятся) |
| `/sp admin rank <true|false>` | Включить/выключить защиту ранга (иммунитет к истечению по неактивности) |
| `/sp admin particle ` | Задать частицы на любом участке |
| `/sp admin music ` | Задать музыку на любом участке |
| `/sp admin weather ` | Задать погоду на любом участке |
| `/sp admin time ` | Задать время на любом участке |
| `/sp admin enter ` | Задать сообщение при входе на любой участок |
| `/sp admin exit ` | Задать сообщение при выходе с любого участка |
| `/sp admin setrank ` | Добавить игроку тег ранга (сокращение для `/tag add `) |
| `/sp admin removerank ` | Убрать у игрока тег ранга |
/sp admin reload | Перезагрузить оба конфига и заново синхронизировать всех клиентов (без перезапуска) |
Роли и права
Роли
| Роль | Описание |
|---|---|
OWNER | Полный контроль — может ломать блок, улучшать, переименовывать |
ADMIN | Может управлять участниками, правами и флагами |
MEMBER | Обычный доверенный игрок |
VISITOR | Любой, кто не добавлен явно |
Глобальные флаги (/sp flag)
Глобальные флаги действуют на всех внутри участка, включая посетителей.
| Флаг | По умолчанию | Описание |
|---|---|---|
ALLOW_VISITOR_BUILD | выкл | Любой может ставить и ломать блоки |
ALLOW_VISITOR_INTERACT | выкл | Любой может использовать двери, рычаги, кнопки |
ALLOW_VISITOR_CONTAINERS | выкл | Любой может открывать сундуки |
ALLOW_PVP | выкл | PvP включён для всех игроков |
ALLOW_FLY | выкл | Все могут летать |
ALLOW_TP | вкл | Любой может /sp tp на этот участок |
GREETINGS | вкл | Показывать сообщения-заголовки при входе/выходе |
Индивидуальные права (/sp perm)
Назначаются отдельному участнику или группе прав.
Строительство: BUILD BREAK PLACE
Взаимодействие: INTERACT CONTAINERS USE_BEDS USE_CRAFTING USE_ENCHANTING USE_ANVIL USE_FURNACE USE_BREWING
Сущности: ATTACK_MOBS ATTACK_ANIMALS PVP RIDE_ENTITIES INTERACT_MOBS LEASH_MOBS SHEAR_MOBS MILK_MOBS
Природа: CROP_TRAMPLING PICKUP_ITEMS DROP_ITEMS BREAK_CROPS PLANT_SEEDS USE_BONEMEAL BREAK_DECOR
Взрывчатка: DETONATE_TNT GRIEFING
Разное: TP FLY ENTER CHAT COMMAND_USE
Управление: MANAGE_MEMBERS MANAGE_PERMS MANAGE_FLAGS MANAGE_GROUPS
Права на основе рангов
Ранги позволяют давать разным игрокам разные лимиты возможностей участка — не трогая индивидуальные права каждого игрока. Ранги используют ванильные теги команд, назначаемые через `/tag add `.
Как это работает
- Определите ранги в
secure_plots.jsonв разделеrankPerks. - Назначьте теги игрокам через `/tag add
или сокращением/sp admin setrank `. - Игроки без тега ранга используют глобальные значения по умолчанию.
- Если у игрока несколько тегов рангов, побеждает самое разрешающее значение каждого поля.
adminTagвсегда обходит все ограничения рангов.
Поля ранга
| Поле | По умолчанию | Описание |
|---|---|---|
tag | — | Тег команды для сопоставления |
maxPlots | 0 | Макс. участков, которыми может владеть этот ранг (0 = использовать глобальный maxPlotsPerPlayer) |
maxTier | 4 | Наивысший тир участка (0–4), который может разместить этот ранг |
canRename | true | Может переименовывать свой участок |
canSetMusic | true | Может задавать музыку участка |
canSetParticles | true | Может задавать частицы участка |
canSetWeather | true | Может задавать переопределение погоды |
canSetTime | true | Может задавать переопределение времени |
canSetEnterExit | true | Может задавать сообщения входа/выхода |
canTp | true | Может использовать /sp tp на свой участок |
canFly | true | Может включать полёт на своём участке |
canUpgrade | true | Может улучшать тир своего участка |
canGroups | true | Может создавать группы прав |
hasRankProtection | false | Участок защищён от истечения по неактивности |
Пример конфига рангов
"rankPerks": [
{
"tag": "basic",
"maxPlots": 1,
"maxTier": 0,
"canSetMusic": false,
"canSetParticles": false,
"canSetWeather": false,
"canSetTime": false,
"canFly": false,
"canUpgrade": false,
"canGroups": false
},
{
"tag": "vip",
"maxPlots": 5,
"maxTier": 3,
"canSetMusic": true,
"canSetParticles": true,
"canFly": true,
"canUpgrade": true
},
{
"tag": "mvp",
"maxPlots": 10,
"maxTier": 4,
"hasRankProtection": true
}
]Конфиг сервера — secure_plots.json
Переключатели функций
| Поле | По умолчанию | Описание |
|---|---|---|
enableProtection | true | Главный переключатель всей защиты блоков/взаимодействий |
enableFlyInPlots | true | Разрешить выдачу полёта через разрешение FLY |
enableEnterHud | true | Показывать название участка в action bar при входе |
enableGreetingMessages | true | Показывать title-сообщения при входе/выходе |
enablePlotParticles | true | Частицы окружения при входе на участок |
enablePlotMusic | true | Воспроизведение музыки при входе на участок |
enablePlotWeather | true | Своя погода для каждого участка |
enablePlotTime | true | Своё время для каждого участка |
enablePlotTeleport | true | Разрешить /sp tp |
enableHologram | true | Плавающее информационное отображение над блоками участка |
enablePvpControl | true | Блокировать PvP на участках без флага ALLOW_PVP |
enableUpgrades | true | Разрешить улучшения уровня |
enablePermissionGroups | true | Разрешить создание групп разрешений |
plotBlocksUnbreakable | true | Не-владельцы не могут ломать блоки участка |
allowNestedPlots | false | Разрешить размещать участки внутри других участков |
Общие
| Поле | По умолчанию | Описание |
|---|---|---|
maxPlotsPerPlayer | 3 | Максимум участков на игрока по умолчанию (0 = без ограничений; переопределяется rankPerks) |
plotBuffer | 15 | Минимальный зазор в блоках между участками |
adminOpLevel | 2 | Требуемый OP-уровень для команд /sp admin (0–4) |
adminTag | "plot_admin" | Тег команды, дающий полный админ-доступ |
blockedStructurePrefixes | ["legendarymonuments:"] | Префиксы ID структур, блокирующие размещение участка |
Настройки окружения
| Поле | По умолчанию | Описание |
|---|---|---|
particleCount | 3 | Количество частиц при входе на участок (1–5) |
ambientParticleCount | 2 | Постоянные частицы за интервал (1–5) |
ambientInterval | 20 | Тиков между спавном частиц окружения |
checkInterval | 10 | Тиков между проверками входа/выхода |
musicVolume | 4.0 | Громкость музыки (0.1–4.0) |
Истечение срока при неактивности
"inactivityExpiry": {
"enabled": false,
"baseDays": 45,
"daysPerTier": 5
}Когда включено, участок истекает, если владелец не заходил baseDays + (tier × daysPerTier) дней. Участки с hasRankProtection защищены от этого.
Конфигурация уровней
"tiers": [
{ "tier": 0, "displayName": "Bronze", "radius": 15, "luminance": 4, "hardness": 50, "blastResistance": 1200 },
{ "tier": 1, "displayName": "Gold", "radius": 30, "luminance": 5, "hardness": 50, "blastResistance": 1200 },
{ "tier": 2, "displayName": "Emerald", "radius": 50, "luminance": 6, "hardness": 50, "blastResistance": 1200 },
{ "tier": 3, "displayName": "Diamond", "radius": 75, "luminance": 7, "hardness": 50, "blastResistance": 1200 },
{ "tier": 4, "displayName": "Netherite", "radius": 100, "luminance": 8, "hardness": 50, "blastResistance": 1200 }
]Стоимость улучшений
Каждое улучшение может требовать любое количество предметов из любого мода.
"upgradeCosts": [
{ "fromTier": 0, "toTier": 1, "items": [{ "itemId": "minecraft:gold_block", "amount": 15 }] },
{ "fromTier": 1, "toTier": 2, "items": [{ "itemId": "minecraft:emerald_block", "amount": 10 }] },
{ "fromTier": 2, "toTier": 3, "items": [{ "itemId": "minecraft:diamond", "amount": 64 }] },
{ "fromTier": 3, "toTier": 4, "items": [{ "itemId": "minecraft:netherite_block", "amount": 1 }] }
]Разрешения ролей по умолчанию
Разрешения, автоматически выдаваемые при добавлении участника по роли.
"roleDefaults": {
"admin": ["BUILD", "INTERACT", "CONTAINERS", "PVP", "MANAGE_MEMBERS", "MANAGE_PERMS", "TP", "ENTER"],
"member": ["BUILD", "INTERACT", "CONTAINERS", "TP", "ENTER"],
"visitor": ["INTERACT", "ENTER"]
}
### Флаги по умолчанию для новых участков
```json
"defaultFlags": ["ALLOW_TP", "GREETINGS"]Рецепты крафта
Рецепты для блоков участков и предмета-чертежа. Каждый можно отключить отдельно ("disabled": true), тогда предмет можно получить только в креативе или через /sp admin.
"craftingRecipes": [
{
"result": "secure-plots:bronze_plot_block",
"pattern": ["CBC", "BHB", "CBC"],
"key": {
"C": "minecraft:copper_block",
"B": "minecraft:redstone_block",
"H": "minecraft:heart_of_the_sea"
}
},
{
"result": "secure-plots:plot_blueprint",
"pattern": ["SPS", "PCP", "SPS"],
"key": {
"S": "minecraft:amethyst_shard",
"P": "minecraft:paper",
"C": "minecraft:compass"
}
}
]Клиентский визуальный конфиг — secure_plots_client.json
Этот файл лежит на сервере и автоматически синхронизируется с каждым клиентом при входе. Редактируй его на стороне сервера — изменения применяются мгновенно при следующем /sp admin reload.
Граница участка — толщина
| Поле | По умолчанию | Описание |
|---|---|---|
edgeThickness | 0.06 | Ширина основной линии границы |
glowThickness | 0.13 | Ширина внешнего свечения |
scanlineThickness | 0.025 | Ширина вертикальной линии сканирования |
scanlineSpacing | 1.5 | Блоков между линиями сканирования |
borderHeight | 25.0 | Высота стены границы в блоках |
Граница участка — анимация
| Поле | По умолчанию | Описание |
|---|---|---|
pulseCycleMs | 2000 | Длительность одного цикла пульсации яркости (мс) |
pulseMin | 0.6 | Минимальная яркость (0.0–1.0) |
pulseRange | 0.4 | Диапазон изменения яркости (pulseMin + pulseRange ≤ 1.0) |
boltFlickerMs | 120 | Как часто обновляются угловые молнии (мс) |
Граница участка — цвета уровней
У каждого уровня 9 цветовых каналов (значения 0.0–1.0):
"tierColors": [
{
"tier": 0,
"coreR": 1.0, "coreG": 0.55, "coreB": 0.05,
"glowR": 0.7, "glowG": 0.28, "glowB": 0.0,
"whiteR": 1.0, "whiteG": 0.88, "whiteB": 0.55
}
]| Группа каналов | Эффект |
|---|---|
coreR/G/B | Основной цвет границы |
glowR/G/B | Цвет внешнего свечения |
whiteR/G/B | Внутреннее яркое ядро |
Голограмма
Плавающая информационная панель, отображаемая над блоками участков.
| Поле | По умолчанию | Описание |
|---|---|---|
hologramEnabled | true | Показывать/скрывать голограмму |
hologramHeight | 3.0 | Блоков над блоком участка |
hologramMaxDistance | 24.0 | Максимальная дальность прорисовки в блоках |
hologramScale | 0.025 | Масштаб текста |
hologramBackgroundOpacity | 0.75 | Прозрачность фона панели (0.0–1.0) |
hologramPaddingX | 8 | Горизонтальный отступ в пикселях шрифта |
hologramPaddingY | 6 | Вертикальный отступ в пикселях шрифта |
hologramLineSpacing | 1 | Дополнительные пиксели между строками |
hologramFadeInMs | 400 | Длительность появления (мс) |
hologramFadeOutMs | 600 | Длительность исчезновения перед пропаданием (мс) |
hologramFloat | true | Включить анимацию плавания вверх/вниз |
hologramFloatAmplitude | 0.1 | Амплитуда плавания в блоках |
hologramFloatCycleMs | 3000 | Длительность одного цикла плавания (мс) |
Текстовые метки голограммы (все настраиваются)
| Поле | По умолчанию |
|---|---|
hologramDefaultName | "PROTECTED PLOT" |
hologramLabelOwner | "Owner: " |
hologramLabelTier | "Tier: " |
hologramLabelSize | "Size: " |
hologramLabelMembers | "Members: " |
hologramLabelNext | "Next: " |
hologramLabelMaxLevel | "§6§l★ Max Level ★" |
Экран управления участком
| Поле | По умолчанию | Описание |
|---|---|---|
screenPanelWidth | 320 | Ширина панели в пикселях |
screenPanelHeight | 240 | Высота панели в пикселях |
screenRowSpacing | 16 | Пикселей между строками информации |
screenMaxNameLength | 32 | Максимальная длина названия участка |
Цвета панелей экрана (ARGB hex)
| Поле | По умолчанию |
|---|---|
screenColorBorderOuter | 0xFF373737 |
screenColorBackground | 0xFFC6C6C6 |
screenColorTitleBar | 0xFF555555 |
screenColorTitleBarTop | 0xFF666666 |
screenColorShadowDark | 0xFF8B8B8B |
screenColorShadowLight | 0xFFFFFFFF |
Локализация
В комплекте два языка: en_us (английский) и es_es (риоплатский испанский). Все 260+ ключей перевода охватывают команды, интерфейс, подсказки, сообщения HUD, названия прав и все строки, видимые игроку.
Чтобы добавить другой язык, создайте `assets/secure-plots/lang/.json` в ресурспаке, взяв за шаблон существующие файлы.
Краткая справка для админов сервера
| Задача | Команда |
|---|---|
| Выдать админский доступ | `/tag add plot_admin` |
| Назначить ранг | `/sp admin setrank или/tag add ` |
| Снять ранг | `/sp admin removerank ` |
| Посмотреть все участки сервера | /sp admin listall |
| Найти участки по игроку | `/sp admin search ` |
| Найти участки поблизости | /sp admin nearby 10 или /sp admin nearby 10 100 64 -200 |
| Удалить участки игрока | `/sp admin delete all` |
| Передать владение участком | Встаньте на участок, `/sp admin setowner ` |
| Перезагрузить конфиг в игре | /sp admin reload |
| Выдать блок участка из Creative | Встаньте в меню участка → вкладка Creative (только для OP) |
Поддержка
Если Secure Plots пригодился вашему серверу, можете поддержать разработку:
| Способ | Ссылка |
|---|---|
| ☕ Ko-fi | ko-fi.com/zhilius |
| 💙 Mercado Pago | link.mercadopago.com.ar/zhilius |
| 🅿️ PayPal | paypal.com/ncp/payment/TWGPKWLKEJNCG |
Лицензия
GPL-3.0 — Copyright (C) 2025 TupacGodoy
Частые вопросы
Как установить Secure Plots?
Установите Fabric под свою версию Minecraft, скачайте Secure Plots под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Secure Plots?
У Secure Plots есть сборки для Minecraft 1.21.1–1.21.11.
Нужен ли Secure Plots на сервере?
Нужен и в игре, и на сервере