Land & rentals
Property
WorldGuard-backed property ownership, rentals, sales, and player-created plots with protected transaction terms.
01
What it handles
Managed parcels
Staff register WorldGuard regions as parent properties with tracked landlords and ownership.
Player plots
Landlords select safe child cuboids and publish their own rental plots without requiring WorldEdit.
Guarded rentals
Expected price and duration values prevent stale listings from charging tenants changed terms.
Property sales
One-time purchases transfer a listing into an ordinary player-owned parent property.
Lease protection
Active leases block destructive deletion while synchronized WorldGuard membership controls access.
Quick administration
Combined create, terms, delete, landlord, listing, and teleport operations for staff setup.
Economy bridge
Optional collateral registration and property-tax reporting with Vault fallback when Economy is unavailable.
Safe migration
Legacy AreaShop data can be copied into the new Property data folder while retaining a backup.
02
Detailed guide
Property is the MC Skylines Paper 1.21.11 module for WorldGuard rentals and one-time property sales. Every player-facing message is a MiniMessage value in messages.yml.
Staff first creates a WorldGuard region, then registers it as a parent parcel with /prop admin register <region> <player>. A landlord uses /prop wand, left-clicks the first corner block, and right-clicks the second corner block, then runs /prop plot create <name> <price> <duration>. /prop pos1 and /prop pos2 remain available as feet-position fallbacks. This Property selector requires no WorldEdit permission. Once both corners are set, the entire cuboid is checked immediately; both points are cleared if it leaves the landlord's parent parcel, crosses another owner's managed property, or overlaps an existing plot. Creation repeats the validation. The child WorldGuard region is parented automatically and records the creator as landlord.
For staff who already use FAWE or WorldEdit, a complete cuboid session selection is accepted whenever no complete Property selection is present. Non-cuboid selections are rejected. An unsafe FAWE/WorldEdit selection is cleared during landlord plot creation, using the same ownership and overlap checks as the Property wand.
Admin creation is available as /prop create rent <name> or /prop create buy <name> for an existing WorldGuard region, followed by /prop setprice <price> <name> and, for rentables, /prop setduration <duration> <name>. /prop delete <name> unregisters it but leaves the WG region.
The quick commands use the Property positions and perform both halves of the operation: /prop quickrent <name> [price duration], /prop quickbuy <name> [price], and /prop quickdelete <name>. Terms may be omitted and set afterward. Quick deletion removes the WorldGuard region but remains prohibited for active leases, collateral, or parent properties with children.
Tenants rent with /prop rent <plot> <expected-price> <expected-duration>. Supplying the expected terms prevents a stale or undisclosed listing from charging a changed amount. /prop renew uses the same form. Active leases cannot be deleted by landlords or staff, and attempts to remove their WorldGuard regions via /rg remove or /region remove are blocked. Lease expiry only removes membership; Property never resets blocks.
Buyers use /prop buy <name> (or append the expected price for a guarded purchase). A purchased listing becomes the buyer's ordinary parent property and can then contain their rental plots. There is no automatic block reset or landlord teleport. Moderators may use /prop admin tp <property>.
When Economy is installed, Property registers collateral type property and a property-tax provider. Parent parcels are counted by default; tax.count-mode: ALL_PROPERTIES can include child plots. Collateral seizure transfers landlord ownership while preserving active leases.
Economy is an optional integration. Property loads that API only after a compatible Economy plugin is enabled; otherwise rent and purchases use the registered Vault provider and collateral/property-tax hooks remain unavailable. This keeps Property loadable when Economy is absent, disabled, or from an incompatible suite release.
The public plugin name, data folder, item namespace, primary command, and permissions are Property, plugins/Property, property:*, /prop, and property.*. /property, /areashop, and /rent remain compatibility aliases; /as is deliberately no longer registered. On the first upgrade, Property safely copies legacy plugins/AreaShop data and retains the old folder as a backup. Remove the old AreaShop JAR before starting the server.
New integrations should load dev.serverplugins.areashop.api.PropertyApi from Bukkit's services manager. The legacy AreaShopApi service remains registered so existing suite integrations can upgrade without a hard break.
Recommended property setup workflow
Create and verify the WorldGuard parent region before registering it. Register that region to the owning player, then let the landlord create child rental plots with the Property wand. Left-click sets corner one and right-click sets corner two; the selection is rejected and cleared immediately if it leaves the parent parcel, crosses someone else's managed property, or overlaps an existing plot.
For a rental listing, set both price and duration before advertising it. Give tenants the full guarded command including expected price and expected duration so a changed listing cannot charge them silently. Purchased listings become ordinary parent properties and can hold new child rentals.
Rental lifecycle
Rent payment uses Economy when its compatible API is active, otherwise the registered Vault provider. On a successful lease, the tenant is synchronized into the child WorldGuard region as a member. Renewal repeats the expected-terms check and extends the lease according to the configured behavior. Expiry removes membership but never resets blocks, empties containers, or teleports the former tenant.
Active leases protect both the Property record and its WorldGuard region from removal. A landlord or administrator must wait for or otherwise resolve the lease. Quick deletion additionally refuses collateral, parent parcels with children, and other unsafe states.
Sales, ownership, and nested plots
/prop buy <name> [expected-price] transfers the listing to the buyer after payment. The result is a parent-capable owned property, not a lease. Property synchronizes landlord ownership to WorldGuard and preserves active child lease behavior. Staff teleport is an administrative convenience only; the plugin has no automatic home or landlord teleport system.
Economy integration
When Economy is active, Property registers the property collateral type and property-tax provider. Parent parcels count by default; ALL_PROPERTIES includes child plots. Collateral locking prevents unsafe transfer or deletion. Seizure transfers landlord ownership while preserving active tenants rather than evicting them or resetting their builds.
Property testing checklist
- Register a parent, create a valid child plot, and attempt selections outside the parent, across another owner, and overlapping another plot.
- Rent with correct and stale expected terms; renew and allow one lease to expire.
- Try to delete both the active lease record and its WorldGuard region.
- Sell a listing and confirm ownership/member synchronization in WorldGuard.
- Create child rentals under a purchased property.
- With Economy active, test property tax counting, collateral lock, release, and seizure while a child lease remains active.
- Restart the server and verify listings, leases, ownership, and notification state remain consistent.
Current boundaries
Property manages records, payment, ownership/member synchronization, and safety rules. It does not restore terrain, clear inventories, reset rented builds, create homes, or migrate money between incompatible Economy providers. The legacy command aliases exist for compatibility, but new instructions should use /prop and property.*.
03
Commands
| Command | Usage | Description | Permission |
|---|---|---|---|
/propAliases: property, areashop, rent | /prop help | Manage properties, rentals, sales, and player-created plots. | Subcommand-based |
04
Permissions
| Node | Default | Description / children |
|---|---|---|
property.user | No additional description.Includes property.plot.create, property.plot.terms, property.plot.remove, property.rent, property.renew, property.vacate, property.buy, property.select | |
property.plot.create | No additional description. | |
property.plot.terms | No additional description. | |
property.plot.remove | No additional description. | |
property.rent | No additional description. | |
property.renew | No additional description. | |
property.vacate | No additional description. | |
property.buy | No additional description. | |
property.select | No additional description. | |
property.info | No additional description. | |
property.list | No additional description. | |
property.admin | Full Property access. Operators receive this parent automatically.Includes property.user, property.admin.register, property.admin.unregister, property.admin.landlord, property.admin.teleport, property.admin.reload, property.admin.create, property.admin.delete, property.admin.quick, property.admin.terms, property.info, property.list | |
property.admin.register | No additional description. | |
property.admin.unregister | No additional description. | |
property.admin.landlord | No additional description. | |
property.admin.teleport | No additional description. | |
property.admin.reload | No additional description. | |
property.admin.create | No additional description. | |
property.admin.delete | No additional description. | |
property.admin.quick | No additional description. | |
property.admin.terms | No additional description. |
Command and permission references reflect the current plugin.yml manifests in this workspace.