▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Secure Plots
Secure Plots

Secure Plots

Territory protection mod with menus, roles, upgrades, rank-based permissions, ambient effects, and a fully configurable visual border system.

Оцените первым
396
2

🛡 Secure Plots

Minecraft 1.21.1 — Fabric
Territory protection mod with menus, roles, upgrades, rank-based permissions, ambient effects, and a fully configurable visual border system.


Requirements

  • Minecraft 1.21.1
  • Fabric Loader ≥ 0.15.0
  • Fabric API
  • Java 21+

Installation

  1. Drop the .jar into your mods/ folder on both server and client.
  2. Start the server once to generate config files in config/.
  3. Edit secure_plots.json (server behaviour) and secure_plots_client.json (visual settings).

How it works

Place a Plot Block to claim that area. The block's tier determines how large the protected zone is. Right-click the block or use the Plot Blueprint item to open the management menu.

Plot tiers (all configurable)

TierNameDefault radius
0Bronze15 × 15
1Gold30 × 30
2Emerald50 × 50
3Diamond75 × 75
4Netherite100 × 100

Commands

All commands are available as /sp or /secureplots.

Player commands

CommandDescription
/sp helpShow all commands
/sp listList your plots
/sp info [plot]Show info for the plot you're in, or a named/numbered plot
/sp viewShow the border of your nearest plot
/sp rename <name>Rename the plot you're standing in
/sp add <player> <plot|all>Add a member to one or all of your plots
/sp remove <player> <plot|all>Remove a member from one or all of your plots
/sp role <player> <member|admin>Change a member's role in the plot you're standing in
/sp tp [plot]Teleport to a plot by name or number
/sp upgradeUpgrade the plot you're standing in (consumes materials)
/sp myrankShow your current rank perks
/sp flagList available global flags
/sp flag <flag> <true|false> [plot]Set a global flag
/sp permList available individual permissions
/sp perm <player> <perm> <true|false> [plot]Set a permission for a member
/sp fly [true|false] [plot]Toggle fly for the plot you're standing in
/sp groupList permission groups of the current plot
/sp group create <name>Create a permission group
/sp group delete <name>Delete a permission group
/sp group addmember <group> <player>Add a member to a group
/sp group removemember <group> <player>Remove a member from a group
/sp group setperm <group> <perm> <true|false>Set a permission for a group
/sp plot particle <type|clear>Set ambient particles on plot entry
/sp plot weather <clear|rain|thunder|none>Override weather inside the plot
/sp plot time <day|noon|sunset|night|midnight|sunrise|<ticks>|reset>Override time inside the plot
/sp plot music <sound_id|clear>Play music on plot entry
/sp plot enter <message|clear>Set the entry title message
/sp plot exit <message|clear>Set the exit title message

Plot argument: most commands that accept [plot] accept a plot name, its number from /sp list, or all.

Admin commands

All /sp admin commands require OP level ≥ adminOpLevel (default: 2).

CommandDescription
/sp admin listall [page]List every plot on the server, paginated (10 per page)
/sp admin search <player> [page]List all plots owned by a specific player
/sp admin nearby [count] [x y z]Show the N nearest plots to your position or given coordinates
/sp admin list <player>Quick list of a player's plots
/sp admin info <player> <plot>Show full info for another player's plot
/sp admin tp <player> <plot>Teleport to another player's plot
/sp admin delete <player> <plot|all>Delete one or all plots of a player
/sp admin rename <player> <plot> <name>Rename another player's plot
/sp admin setowner <newowner>Transfer ownership of the plot you're standing in
/sp admin upgrade <player> <plot>Force-upgrade a plot (no materials consumed)
/sp admin rank <player> <plot> <true|false>Toggle rank protection (immune to inactivity expiry)
/sp admin particle <player> <plot> <type>Set particles on any plot
/sp admin music <player> <plot> <sound>Set music on any plot
/sp admin weather <player> <plot> <type>Set weather on any plot
/sp admin time <player> <plot> <value>Set time on any plot
/sp admin enter <player> <plot> <message>Set entry message on any plot
/sp admin exit <player> <plot> <message>Set exit message on any plot
/sp admin setrank <player> <tag>Add a rank tag to a player (shortcut for /tag <player> add <tag>)
/sp admin removerank <player> <tag>Remove a rank tag from a player
/sp admin reloadReload both config files and re-sync all clients (no restart needed)

Roles & permissions

Roles

RoleDescription
OWNERFull control — can break the block, upgrade, rename
ADMINCan manage members, permissions, and flags
MEMBERDefault trusted player
VISITORAnyone not explicitly added

Global flags (/sp flag)

Global flags affect everyone inside the plot, including visitors.

FlagDefaultDescription
ALLOW_VISITOR_BUILDoffAnyone can place and break blocks
ALLOW_VISITOR_INTERACToffAnyone can use doors, levers, buttons
ALLOW_VISITOR_CONTAINERSoffAnyone can open chests
ALLOW_PVPoffPvP enabled for all players
ALLOW_FLYoffEveryone can fly
ALLOW_TPonAnyone can /sp tp to this plot
GREETINGSonShow enter/exit title messages

Individual permissions (/sp perm)

Assignable per member or per permission group.

Construction: BUILD BREAK PLACE

Interaction: INTERACT CONTAINERS USE_BEDS USE_CRAFTING USE_ENCHANTING USE_ANVIL USE_FURNACE USE_BREWING

Entities: ATTACK_MOBS ATTACK_ANIMALS PVP RIDE_ENTITIES INTERACT_MOBS LEASH_MOBS SHEAR_MOBS MILK_MOBS

Nature: CROP_TRAMPLING PICKUP_ITEMS DROP_ITEMS BREAK_CROPS PLANT_SEEDS USE_BONEMEAL BREAK_DECOR

Explosives: DETONATE_TNT GRIEFING

Misc: TP FLY ENTER CHAT COMMAND_USE

Management: MANAGE_MEMBERS MANAGE_PERMS MANAGE_FLAGS MANAGE_GROUPS


Rank-based permissions

Ranks let you give different players different plot feature limits — without touching individual permissions per player. Ranks use vanilla command tags, assigned with /tag <player> add <tag>.

How it works

  1. Define ranks in secure_plots.json under rankPerks.
  2. Assign tags to players with /tag <player> add <tag> or the shortcut /sp admin setrank <player> <tag>.
  3. Players with no rank tag use the global defaults.
  4. If a player has multiple rank tags, the most permissive value of each field wins.
  5. The adminTag always bypasses all rank restrictions.

Rank fields

FieldDefaultDescription
tag—The command tag to match
maxPlots0Max plots this rank can own (0 = use global maxPlotsPerPlayer)
maxTier4Highest plot tier (0–4) this rank can place
canRenametrueCan rename their plot
canSetMusictrueCan set plot music
canSetParticlestrueCan set plot particles
canSetWeathertrueCan set a weather override
canSetTimetrueCan set a time override
canSetEnterExittrueCan set enter/exit messages
canTptrueCan use /sp tp to their own plot
canFlytrueCan enable fly on their plot
canUpgradetrueCan upgrade their plot tier
canGroupstrueCan create permission groups
hasRankProtectionfalsePlot is immune to inactivity expiry

Example rank config

"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
  }
]

Server config — secure_plots.json

Feature toggles

FieldDefaultDescription
enableProtectiontrueMaster switch for all block/interact protection
enableFlyInPlotstrueAllow fly grants via the FLY permission
enableEnterHudtrueShow plot name in action bar on entry
enableGreetingMessagestrueShow enter/exit title messages
enablePlotParticlestrueAmbient particles on plot entry
enablePlotMusictrueMusic playback on plot entry
enablePlotWeathertruePer-plot weather override
enablePlotTimetruePer-plot time override
enablePlotTeleporttrueAllow /sp tp
enableHologramtrueFloating info display above plot blocks
enablePvpControltrueBlock PvP in plots without ALLOW_PVP flag
enableUpgradestrueAllow tier upgrades
enablePermissionGroupstrueAllow creating permission groups
plotBlocksUnbreakabletrueNon-owners cannot break plot blocks
allowNestedPlotsfalseAllow placing plots inside other plots

General

FieldDefaultDescription
maxPlotsPerPlayer3Default max plots per player (0 = unlimited; overridden by rankPerks)
plotBuffer15Minimum block gap between plots
adminOpLevel2OP level required for /sp admin commands (0–4)
adminTag"plot_admin"Command tag granting full admin override
blockedStructurePrefixes["legendarymonuments:"]Structure ID prefixes that block plot placement

Ambient settings

FieldDefaultDescription
particleCount3Burst particle count on plot entry (1–5)
ambientParticleCount2Continuous particles per interval (1–5)
ambientInterval20Ticks between ambient particle spawns
checkInterval10Ticks between enter/exit detection checks
musicVolume4.0Music volume (0.1–4.0)

Inactivity expiry

"inactivityExpiry": {
  "enabled": false,
  "baseDays": 45,
  "daysPerTier": 5
}

When enabled, a plot expires if the owner hasn't logged in for baseDays + (tier × daysPerTier) days. Plots with hasRankProtection are immune.

Tier configuration

"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 }
]

Upgrade costs

Each upgrade can require any number of items from any mod.

"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 }] }
]

Default role permissions

Permissions automatically granted when a member is added by role.

"roleDefaults": {
  "admin":   ["BUILD", "INTERACT", "CONTAINERS", "PVP", "MANAGE_MEMBERS", "MANAGE_PERMS", "TP", "ENTER"],
  "member":  ["BUILD", "INTERACT", "CONTAINERS", "TP", "ENTER"],
  "visitor": ["INTERACT", "ENTER"]
}

Default flags for new plots

"defaultFlags": ["ALLOW_TP", "GREETINGS"]

Crafting recipes

Recipes for plot blocks and the blueprint item. Each can be disabled individually ("disabled": true) so the item is only obtainable in creative mode or via /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"
    }
  }
]

Client visual config — secure_plots_client.json

This file lives on the server and is automatically synced to every client on join. Edit it server-side — changes propagate instantly on the next /sp admin reload.

Plot border — thickness

FieldDefaultDescription
edgeThickness0.06Core edge line width
glowThickness0.13Outer glow halo width
scanlineThickness0.025Vertical scanline width
scanlineSpacing1.5Blocks between scanlines
borderHeight25.0Height of the border wall in blocks

Plot border — animation

FieldDefaultDescription
pulseCycleMs2000Duration of one brightness pulse cycle (ms)
pulseMin0.6Minimum brightness (0.0–1.0)
pulseRange0.4Brightness variation range (pulseMin + pulseRange ≤ 1.0)
boltFlickerMs120How often corner lightning bolts regenerate (ms)

Plot border — tier colors

Each tier has 9 color channels (values 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
  }
]
Channel groupEffect
coreR/G/BMain edge color
glowR/G/BOuter halo color
whiteR/G/BInner bright core

Hologram

The floating info panel displayed above plot blocks.

FieldDefaultDescription
hologramEnabledtrueShow/hide the hologram
hologramHeight3.0Blocks above the plot block
hologramMaxDistance24.0Max render distance in blocks
hologramScale0.025Text scale
hologramBackgroundOpacity0.75Panel background opacity (0.0–1.0)
hologramPaddingX8Horizontal padding in font pixels
hologramPaddingY6Vertical padding in font pixels
hologramLineSpacing1Extra pixels between lines
hologramFadeInMs400Fade-in duration (ms)
hologramFadeOutMs600Fade-out duration before expiry (ms)
hologramFloattrueEnable floating up/down animation
hologramFloatAmplitude0.1Float range in blocks
hologramFloatCycleMs3000Duration of one float cycle (ms)

Hologram text labels (all customizable)

FieldDefault
hologramDefaultName"PROTECTED PLOT"
hologramLabelOwner"Owner: "
hologramLabelTier"Tier: "
hologramLabelSize"Size: "
hologramLabelMembers"Members: "
hologramLabelNext"Next: "
hologramLabelMaxLevel"§6§l★ Max Level ★"

Plot management screen

FieldDefaultDescription
screenPanelWidth320Panel width in pixels
screenPanelHeight240Panel height in pixels
screenRowSpacing16Pixels between info rows
screenMaxNameLength32Maximum plot name length

Screen panel colors (ARGB hex)

FieldDefault
screenColorBorderOuter0xFF373737
screenColorBackground0xFFC6C6C6
screenColorTitleBar0xFF555555
screenColorTitleBarTop0xFF666666
screenColorShadowDark0xFF8B8B8B
screenColorShadowLight0xFFFFFFFF

Localisation

Two languages are bundled: en_us (English) and es_es (Rioplatense Spanish). All 260+ translation keys cover commands, UI, tooltips, HUD messages, permission names, and every player-facing string.

To add another language, create assets/secure-plots/lang/<locale>.json in a resource pack using the existing files as a template.


Server admin quick reference

TaskCommand
Grant admin override/tag <player> add plot_admin
Assign a rank/sp admin setrank <player> <tag> or /tag <player> add <tag>
Remove a rank/sp admin removerank <player> <tag>
See all server plots/sp admin listall
Find plots by player/sp admin search <player>
Find nearby plots/sp admin nearby 10 or /sp admin nearby 10 100 64 -200
Delete a player's plots/sp admin delete <player> all
Transfer plot ownershipStand in the plot, /sp admin setowner <newowner>
Reload config in-game/sp admin reload
Give Creative plot blockStand in plot menu → Creative tab (OPs only)

Support

If Secure Plots is useful for your server, consider supporting development:

MethodLink
☕ Ko-fiko-fi.com/zhilius
💙 Mercado Pagolink.mercadopago.com.ar/zhilius
🅿️ PayPalpaypal.com/ncp/payment/TWGPKWLKEJNCG

License

GPL-3.0 — Copyright (C) 2025 TupacGodoy

Партнёрский материал

Как поиграть с друзьями с модом Secure Plots?

Мод Secure Plots куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Secure Plots будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Ссылки


Создатели

Детали

Лицензия:
Опубликован:7 месяцев назад
Обновлён:6 месяцев назад
Главная