GPExpansion adds powerful features to GriefPrevention including rental signs, claim mailboxes, sign protection, and more — all while maintaining the self-service philosophy.
Haven't heard of GriefPrevention 3D Subdivisions? Get it here to enable mailbox support. This is a fork that replaces the GriefPrevention jar.
Spigot, Paper, Purpur, and Folia
Requires GriefPrevention and optionally Vault for economy features.
Optionally, replace GriefPrevention with GriefPrevention3D for mailbox support.
Allow claim owners to rent out their claims to other players using signs.
- Set rental prices and durations
- Automatic trust/untrust on rental start/expiry
- Supports Vault economy, experience, claim blocks, and item-based payments
- Interactive setup wizard with
/rentclaimcommand
Give each claim a mailbox where other players can deposit items.
- Owners have full access to retrieve items
- Non-owners can only deposit, not withdraw
- Storage warnings when mailbox is nearly full
- Purchasable via signs with configurable prices
- Interactive setup wizard with
/mailboxcommand
Allow claim owners to sell their claims to other players using signs.
- Set claim prices
- Automatic transfer of ownership of claim
- Supports Vault economy, experience, claim blocks, and item-based payments
- Interactive setup wizard with
/sellclaimcommand
Protect your rental and mailbox signs from unauthorized modification.
- Admin-only sign breaking for active rentals
- Automatic cleanup on sign removal
/claim name <name>- Set claim name (supports color codes with permissions)/claim desc <description>- Set claim description (uses same color permissions as name)/claim icon <material>- Set claim icon for GUI display/claim spawn- Set the teleport spawn point for your claim/claim tp [claimId]- Teleport to a claim's spawn point/claim ban <player>- Ban players from your claims/claim unban <player>- Unban players from your claims/claim info [claimId]- View detailed claim information/mailbox- Manage your mailboxes/gpx reload- Reload configuration and language files/gpx max- Manage player sign creation limits
Optional tax system for claim maintenance:
- Configurable tax rates per claim block
- Multiple payment methods (money, claim blocks, experience)
- Grace periods before claim deletion
- Tax exemptions via permissions
All sign types support flexible formatting where <ecoType> is optional and defaults to money if only a number is provided.
Short Format (place sign inside claim):
[rent]
<renewTime>
<ecoAmt>
OR with explicit eco type:
[rent]
<renewTime>
<ecoType>
<ecoAmt>
Condensed Format (outside claim):
[rent]
<id>;<ecoAmt>;<renewTime>
OR with max time:
[rent]
<id>;<ecoAmt>;<renewTime>;<maxTime>
<id>- Do/claimlistto get this (not needed for short format)<ecoType>- Acceptsmoney,claimblocks,exporitem(optional, defaults tomoney)<ecoAmt>- The cost per renewal period<renewTime>- Duration of each rental period (e.g.,1w,7d,24h)<maxTime>- Maximum total rental duration (optional, defaults to<renewTime>)
Note: Hold the item you wish to set in your offhand while creating an item-based sign.
Short Format (place sign inside claim):
[sell]
<ecoAmt>
OR
[sell]
<ecoType>
<ecoAmt>
Condensed Format (outside claim):
[sell]
<id>;<ecoAmt>
OR with explicit eco type:
[sell]
<id>;<ecoType>;<ecoAmt>
<id>- Do/claimlistto get this (not needed for short format)<ecoType>- Acceptsmoney,claimblocks,exporitem(optional, defaults tomoney)<ecoAmt>- The sale price
Note: Hold the item you wish to set in your offhand while creating an item-based sign.
Condensed Format (outside claim):
[mailbox]
<id>;<ecoAmt>
OR with explicit eco type:
[mailbox]
<id>;<ecoType>;<ecoAmt>
<id>- Do/claimlistto get this<ecoType>- Acceptsmoney,claimblocks,exporitem(optional, defaults tomoney)<ecoAmt>- The mailbox purchase price
Note: You need to create a 1x1x1 3D subdivision in your claim with a supported container type (barrel, hopper, chest, etc.).
Use the interactive setup wizards for easier sign creation:
/rentclaim- Start rental sign setup wizard/sellclaim- Start sell sign setup wizard/mailbox- Start mailbox setup wizard
The wizard will guide you through:
- Claim selection (automatic if standing in your claim)
- Payment type selection
- Price/duration configuration
- Optional auto-paste mode for sign placement
- Download the latest release
- Place
GPExpansion.jarin yourpluginsfolder - Ensure GriefPrevention is installed
- (Optional) Install Vault for economy support
- Restart your server
- Configure
plugins/GPExpansion/config.yml
The plugin creates config.yml and lang.yml with sensible defaults. Key options include:
# Debug settings
debug:
# Enable debug logging for GPBridge to troubleshoot claim/subclaim detection
enabled: true
# Default limits for sign creation (can be overridden by permissions)
defaults:
# Default maximum number of sell signs a player can create
max-sell-signs: 5
# Default maximum number of rent signs a player can create
max-rent-signs: 5
# Default maximum number of mailbox signs a player can create
max-mailbox-signs: 5
# Permission tracking settings
permission-tracking:
# Enable tracking of player permissions for sign limits
enabled: true
# How often to check for permission changes (in minutes)
check-interval: 5All messages are customizable in lang.yml. The file includes sections for:
- General messages (prefix, permissions, etc.)
- Sign creation messages
- Wizard prompts and errors
- Claim command messages
- Admin messages
Use /gpx reload to reload both configuration files without restarting.
All GUIs are fully configurable via YAML files in plugins/GPExpansion/gui/. Each GUI supports:
- Custom titles, sizes, and layouts
- PlaceholderAPI placeholders for dynamic content
- Custom items with materials, names, lore, and custom model data
- Textured player heads (base64 textures or player names)
Use PlaceholderAPI placeholders in item names/GUI title/lore for ItemsAdder. Oraxen, and Nexo using glyph:my_image.
ItemsAdder Example:
items:
my-item:
material: PAPER
name: "%img_custom_icon% &aMy Custom Item"
lore:
- "%img_arrow% &7Click to continue"
custom-model-data: 10001Oraxen Example:
items:
my-item:
material: PAPER
name: "<glyph:my_icon> &bOraxen Item"
lore:
- "<glyph:bullet> &7Some description"
custom-model-data: 20001Nexo Example:
items:
my-item:
material: PAPER
name: "<glyph:my_image> &dNexo Item"
custom-model-data: 30001Use custom skull textures from sites like minecraft-heads.com:
Base64 Texture (Custom Head):
items:
settings-icon:
material: PLAYER_HEAD
skull-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjc..."
name: "&e⚙ Settings"
lore:
- "&7Click to open settings"Direct Texture URL:
items:
custom-icon:
material: PLAYER_HEAD
skull-texture: "http://textures.minecraft.net/texture/b7d153..."
name: "&aCustom Icon"Player Head (Dynamic):
items:
player-info:
material: PLAYER_HEAD
skull-owner: "{player}" # Current player's head
name: "&a{player_name}'s Profile"Specific Player Head:
items:
owner-head:
material: PLAYER_HEAD
skull-owner: "Notch" # Or UUID: "069a79f4-44e9-4726-a5be-fca90e38aaf5"
name: "&6Owner: Notch"title: "&8&l✦ &6Claim Menu &8&l✦"
size: 54
items:
info-button:
slot: 13
material: PLAYER_HEAD
skull-owner: "{player}"
name: "&a&l{claim_name}"
lore:
- ""
- "&7Owner: &f{owner}"
- "&7Size: &f{area} blocks"
- ""
- "%img_left_click% &eLeft-click for details"
settings-button:
slot: 31
material: PLAYER_HEAD
skull-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6..."
name: "&e⚙ Claim Settings"
lore:
- "&7Manage your claim"
filler:
material: GRAY_STAINED_GLASS_PANE| Permission | Description |
|---|---|
griefprevention.sign.create.rent |
Create rental signs |
griefprevention.sign.create.rent.anywhere |
Create rental signs outside the target claim |
griefprevention.sign.create.sell |
Create sell signs |
griefprevention.sign.create.sell.anywhere |
Create sell signs outside the target claim |
griefprevention.sign.create.mailbox |
Create mailbox signs |
| Permission | Description |
|---|---|
griefprevention.sign.use.rent |
Use rental signs |
griefprevention.sign.use.sell |
Use sell signs |
griefprevention.sign.use.mailbox |
Use mailbox signs |
| Permission | Description |
|---|---|
griefprevention.sign.rent.money |
Use money economy for rent signs |
griefprevention.sign.rent.exp |
Use experience economy for rent signs |
griefprevention.sign.rent.claimblocks |
Use claim blocks economy for rent signs |
griefprevention.sign.rent.item |
Use item economy for rent signs |
griefprevention.sign.sell.money |
Use money economy for sell signs |
griefprevention.sign.sell.exp |
Use experience economy for sell signs |
griefprevention.sign.sell.claimblocks |
Use claim blocks economy for sell signs |
griefprevention.sign.sell.item |
Use item economy for sell signs |
griefprevention.sign.mailbox.money |
Use money economy for mailbox signs |
griefprevention.sign.mailbox.exp |
Use experience economy for mailbox signs |
griefprevention.sign.mailbox.claimblocks |
Use claim blocks economy for mailbox signs |
griefprevention.sign.mailbox.item |
Use item economy for mailbox signs |
| Permission | Description |
|---|---|
griefprevention.sign.limit.rent.<number> |
Limit to rental signs |
griefprevention.sign.limit.sell.<number> |
Limit to sell signs |
griefprevention.sign.limit.mailbox.<number> |
Limit to mailbox signs |
| Permission | Description |
|---|---|
griefprevention.claim.name |
Set claim names with /claim name |
griefprevention.claim.description |
Set claim descriptions with /claim desc |
griefprevention.claim.icon |
Set claim icons with /claim icon |
griefprevention.claim.spawn |
Set claim spawn point with /claim spawn |
griefprevention.claim.teleport |
Teleport to claims with /claim tp |
griefprevention.claim.ban |
Ban players from claims with /claim ban |
griefprevention.claim.unban |
Unban players from claims with /claim unban |
griefprevention.claim.transfer |
Transfer claim ownership with /claim transfer |
griefprevention.claim.info |
View claim info with /claim info |
These permissions control which color and formatting codes players can use in both /claim name and /claim desc:
| Permission | Description | Codes |
|---|---|---|
griefprevention.claim.color.black |
Use black color | &0 |
griefprevention.claim.color.dark_blue |
Use dark blue color | &1 |
griefprevention.claim.color.dark_green |
Use dark green color | &2 |
griefprevention.claim.color.dark_aqua |
Use dark aqua color | &3 |
griefprevention.claim.color.dark_red |
Use dark red color | &4 |
griefprevention.claim.color.dark_purple |
Use dark purple color | &5 |
griefprevention.claim.color.gold |
Use gold color | &6 |
griefprevention.claim.color.gray |
Use gray color | &7 |
griefprevention.claim.color.dark_gray |
Use dark gray color | &8 |
griefprevention.claim.color.blue |
Use blue color | &9 |
griefprevention.claim.color.green |
Use green color | &a |
griefprevention.claim.color.aqua |
Use aqua color | &b |
griefprevention.claim.color.red |
Use red color | &c |
griefprevention.claim.color.light_purple |
Use light purple/pink color | &d |
griefprevention.claim.color.yellow |
Use yellow color | &e |
griefprevention.claim.color.white |
Use white color | &f |
griefprevention.claim.format.obfuscated |
Use obfuscated/magic text | &k |
griefprevention.claim.format.bold |
Use bold text | &l |
griefprevention.claim.format.strikethrough |
Use strikethrough text | &m |
griefprevention.claim.format.underline |
Use underlined text | &n |
griefprevention.claim.format.italic |
Use italic text | &o |
griefprevention.claim.format.reset |
Use reset formatting | &r |
griefprevention.claim.color.* |
All color codes | &0-&f |
griefprevention.claim.format.* |
All format codes | &k-&r |
Note: The same permissions apply to both
/claim nameand/claim desc. If a player uses a color code they don't have permission for, that code will be stripped from the text.
| Permission | Description |
|---|---|
griefprevention.admin |
Admin commands and sign management |
gpexpansion.admin.reload |
Use /gpx reload command |
gpexpansion.admin.max |
Use /gpx max command |
gpexpansion.admin.debug |
Use /gpx debug command |
- Issue Tracker - Report bugs or problems
- Discussions - Feature requests and questions
- Wiki - Detailed documentation and guides
- Discord - Join our community
git clone https://github.com/castledking/GPExpansion.git
cd GPExpansion
mvn clean installThe compiled jar will be in target/.
Built to extend GriefPrevention with love ❤️