▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Wards

Wards

Physical land claim protection for Paper & Purpur 1.21 through 26.x. Place ward blocks to protect builds from griefing, manage members via GUI, track events with Ward Intelligence, and customize tiers, radii, and recipes in config.

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

!Machina Wards Banner

MachinaWards

Protect your builds with configurable land claim wards — no grief, no drama.

MachinaWards lets players place physical ward blocks to claim and protect an area. Members can be added by the owner, events are logged, and outsiders are stopped cold. Three tiers of wards scale from starter bases to high-value infrastructure.


How It Works

Craft a ward item and place it like any block. The block marks the center of your protected zone. Break or sneak+right-click to pick it back up — the ward item is returned to your inventory so you can relocate it any time.

Right-click the ward block to open the management menu.


Ward Tiers

TierBlockDefault RadiusMember LimitWard Intelligence
BasicLantern12 blocks5
AdvancedBeacon20 blocks10
SuperCrying Obsidian30 blocksUnlimitedYes

!Basic Ward

!Advance Ward

!Super Ward

All tiers, recipes, radii, prices, and member limits are fully configurable in config.yml. Server operators can add or rename tiers freely.


Protection

Inside a ward the following are blocked for non-members (all individually toggleable in config.yml):

CategoryConfig keyNotes
Block placingblock_place
Block breakingblock_break
Block interactioninteractButtons, chests, doors, etc. VISITOR trust members can still interact — see Trust Levels
ExplosionsexplosionCreeper, TNT, etc.
Fire spreadfire
Piston push/pullpistonBlocks cannot be pushed or pulled across ward boundaries
Entity griefentity_griefEndermen, silverfish, Wither, Ravagers, and other griefing mobs cannot alter blocks
Fluid flowfluid_flowLava and water cannot flow into a ward from outside
Hanging entitieshangingItem frames and paintings are protected from non-members
PVPpvpOutsiders cannot attack players inside. Per-ward override: Allow PVP flag
Entity damageentity_damageOutsiders cannot damage animals or mobs inside. Per-ward override: Allow Mob Damage flag
Crop tramplingcrop_trampleNon-members cannot trample farmland
Bucket pouringbucket_pourNon-members cannot pour lava or water buckets inside a ward
Entity placemententity_placeNon-members cannot place armor stands, boats, or minecarts
Vehicle destructionvehicle_destroyNon-members cannot damage or destroy vehicles inside a ward
Block spreadblock_spreadFire, sculk, vines, etc. cannot spread into a ward from outside

The ward owner and all added members bypass all restrictions. Players with wards.admin bypass everything.

Wards cannot overlap — placement is blocked if the new ward's radius intersects an existing one, keeping protection zones unambiguous.


Trust Levels

When adding a member to a ward, they receive a trust level that controls what they can do inside:

LevelCan DoCannot Do
Member (default)Build, break blocks, use all items
VisitorOpen doors, chests, buttons, containersPlace or break blocks, use buckets

Trust levels are assigned and changed per-member from the Manage Members screen in the ward GUI. Click a member's skull to open their trust sub-menu and select a level. The change takes effect immediately.

Trust level enforcement can be disabled server-wide in config.yml (trust_levels.enabled: false), which makes Visitors behave identically to Members.


Ward Menu

Right-clicking the ward block opens a management GUI. The menu adapts based on who is clicking:

Owner / Admin view — full management access:

ItemAction
Name Tag — RenameSet a custom name for this ward
Bell — Toggle AlertsTurn entry notifications on/off for this ward
Player Head — Manage MembersView and manage all current members and their trust levels
Paper — HistoryShow the last 20 entry log entries
Spyglass — Show RadiusDraw a purple particle boundary for 10 seconds
Emerald — Add MemberType a player name in chat to add them (enforces tier member limit)
Feather — Entry MessageSet a custom message visitors see on entry. Supports & color codes and &#RRGGBB hex. Placeholders: %ward%, %owner%, %tier%, %radius%. Type clear to remove
Allow PVPPer-ward toggle to allow outsiders to PVP inside this ward
Allow Mob DamagePer-ward toggle to allow outsiders to damage animals/mobs inside this ward
Nether Star — Ward Intelligence(Super Ward only) Access the feature tracking system

Member view — read-only access:

ItemAction
Paper — HistoryView the last 20 entry log entries
Spyglass — Show RadiusVisualize the ward boundary

Member Management

From the Manage Members screen, each current member is shown as a player skull. Click a skull to open the Trust sub-menu:

  • Set as Visitor — can interact but not build or break
  • Set as Member — full access (default)
  • Remove from ward — shift-click to confirm

Use the Add Member button (or /ward addmember <player>) to add new members. The ward's member limit is enforced at time of addition.


Super Ward — Ward Intelligence

Super wards include a Ward Intelligence menu with five independently toggleable tracking features:

FeatureWhat It Tracks
Creeper AlertAlerts the owner when a creeper explodes inside the ward
Mob Kills PlayerLogs and alerts when a mob kills a player inside the ward
Mob Kills EntityLogs when a mob kills any non-player entity inside the ward
Player DeathLogs every player death inside the ward
Explosion LogLogs all explosions inside the ward

Each feature has its own sub-menu where you can toggle it on/off, view recent logs (last 20 entries), or clear the log history. All data is persisted to the database and wiped automatically when the ward is destroyed.


Economy Shop

If Vault is installed with an economy provider (e.g. EssentialsX), players can purchase ward items directly using /ward shop. Prices are set per tier in config.yml. If a player's inventory is full, purchased items drop at their feet so they are never lost.


Commands

CommandDescription
/wardShow help
/ward shopOpen the ward shop (requires Vault)
/ward list [page]List your wards with names, tiers, worlds, and coords (8 per page)
/ward whoShow who owns the ward you are standing in and your access level
/ward tp <id|name>Teleport to one of your wards
/ward compass [id|name]Point your compass at a ward
/ward transfer <player>Offer your nearby ward to another player (they must accept)
/ward transfer <id> <player>Offer a specific ward to another player
/ward accept / /ward declineAccept or decline a pending ward transfer offer
/ward addmember <player>Add a member to your nearby ward
/ward removemember <player>Remove a member from your nearby ward
/ward info [id|name]Show info about a nearby or specific ward
/ward nearby [radius]List wards within radius blocks (default 100, max 500), sorted by distance
/ward admin list [player](admin) List all wards, optionally filtered by player
/ward admin delete <id|name>(admin) Delete a ward by ID or name
/ward admin tp <id|name>(admin) Teleport to any ward
/ward admin stats(admin) Show total wards, per-world breakdown, members, and owner count
/ward admin cleanup <days>(admin) Preview, then confirm-delete wards of owners offline ≥ N days
/ward admin migrate mysql(admin) Copy all ward data from SQLite to MySQL
/ward reload(admin) Reload config and re-register recipes

Permissions

NodeDescription
wards.adminFull administrative access — bypass protection, delete any ward
wards.placeAllows placing ward blocks (default: true for all players)
wards.player.<N>Cap how many wards a player can own (e.g. wards.player.3)

Visual & Sound Effects

Particles

  • Ambient — a subtle END_ROD effect floats above each ward block so you always know where your wards are (configurable type and interval)
  • Placement burst — confirms a new ward was created
  • Deletion burst — fires when a ward is broken or picked up
  • Radius preview — purple particle square shows your claim boundary for 10 seconds via the Show Radius button

Sounds (all configurable in config.ymlsounds:, set to "" to disable individually)

KeyWhen It Plays
ward_placeWard block is placed
ward_breakWard is broken/removed
ward_pickupWard is picked up via sneak+right-click
entry_alertVisitor enters a ward

Entry Warnings

When a non-member enters a ward they see an action bar notification showing the ward name and owner. The ward owner can set a fully custom entry message from the ward menu with & color codes and &#RRGGBB hex colors. Supported placeholders: %ward%, %owner%, %tier%, %radius%. The visitor warning can be toggled globally in config.yml.


Ward Compass

/ward compass sets your compass to point at your nearest ward in the current world. Specify an ID or name to target a specific ward. No special item required — any compass in your inventory works.


Ownership Transfer

/ward transfer <player> while standing in a ward offers ownership to another player. Use /ward transfer <id> <player> to offer from anywhere. The recipient must be online and accept within 60 seconds (configurable via transfer.request_timeout_seconds) using the clickable [ACCEPT] / [DECLINE] chat buttons — or /ward accept / /ward decline. The recipient's ward limit is checked before the transfer completes. Admins transfer instantly, including to offline players.


Nearby Wards

/ward nearby [radius] lists all wards within the given radius (default 100 blocks, max 500), sorted by distance. Shows each ward's name, tier, owner, and distance.


Anti-Abuse

  • Ward items cannot be used as crafting ingredients
  • Ward items cannot be inserted into beacon payment slots
  • Wards cannot be placed overlapping an existing ward
  • Picking up a ward block requires a second sneak+right-click confirmation within a configurable window (default 5 seconds) to prevent accidents
  • Breaking the ward block directly also returns the ward item instead of dropping the raw material

Database

MachinaWards stores all ward data in a database. Two backends are supported:

SQLite (default — no setup required)

database:
  type: sqlite

Data is stored in plugins/MachinaWards/MachinaWards.db.

MySQL / MariaDB

database:
  type: mysql
  mysql:
    host: localhost
    port: 3306
    database: machinawards
    username: root
    password: ""

The MySQL driver must be available on the classpath. Use /ward admin migrate mysql to copy existing SQLite data to MySQL before switching.


Configuration Reference

Everything is configurable in config.yml:

SectionKeyDefaultDescription
databasetypesqlitesqlite or mysql
regionshapecolumncolumn (square column, unlimited height) or cube (height also limited by radius)
worlds[]Whitelist of worlds where wards can be placed. Empty = all worlds
heightmin_y / max_y-64 / 320Restrict ward placement to a height range
alertsenabledtrueMaster toggle for entry alerts
alertscooldown_ms90000Minimum ms between alerts for the same intruder in the same ward
alertstitle_format&6Ward alertTitle shown to ward owner on entry
alertsactionbar_format&e%player% entered &f%ward%Action bar text shown to owner/members
entryshow_warning_to_visitortrueShow the entry action bar to the visitor
entrywarning_format&c⚠ Entering &f%ward% &c— owned by &f%owner%Default visitor warning (overridden per-ward by Entry Message)
pickupconfirm_ms5000Confirmation window in ms for sneak+click pickup
transferrequest_timeout_seconds60How long a /ward transfer offer stays valid
protection(see table above)trueIndividual protection category toggles
trust_levelsenabledtrueIf false, Visitors have full Member access
membersnotify_on_addtrueNotify players when they are added to a ward
membersnotify_on_removetrueNotify players when they are removed from a ward
soundsward_place etc.(see above)Sound effect per event, "" to disable
particlesenabledtrueToggle ambient ward particles
particlestypeEND_RODBukkit Particle enum name
particlesinterval_ticks40Ticks between each particle pulse
wards.<tier>display_nameDisplay name with color codes
wards.<tier>result_materialBukkit material for the ward block
wards.<tier>priceEconomy price (requires Vault)
wards.<tier>radiusProtection radius in blocks
wards.<tier>max_membersMember cap; -1 = unlimited
wards.<tier>featuresList of Ward Intelligence feature IDs to enable for this tier
wards.<tier>custom_recipe3×3 list of material names for the crafting recipe

Color support: all text fields accept & color codes and &#RRGGBB hex colors.


Dependencies

  • Paper / Purpur 1.21 through 26.x — one jar covers all versions (Java 21+ for 1.21.x servers, Java 25+ for 26.1+ servers)
  • Plain Spigot is supported only by legacy v1.9.1 — v2.x uses the Adventure API bundled with Paper/Purpur
  • Vault (optional) — required only for the economy shop
  • MySQL/MariaDB (optional) — only if using the MySQL database backend

!Lower banner

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

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

Minecraft: Java Edition

26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x

Платформы

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

Сервер

Ссылки

Создатели

Детали

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