Skip to content

Sign Protection

Jack edited this page Jun 6, 2026 · 2 revisions

Sign Protection

GPExpansion provides comprehensive protection for rental, mailbox, and sell signs.

Protection Features

Automatic Protection

All GPExpansion signs are automatically protected:

  • Rental signs - Active rentals prevent sign breaking
  • Mailbox signs - Protected while mailbox exists
  • Sell signs - Protected while for sale
  • Global signs - Protected while claim is global

Break Prevention

Scenario Protection
Owner breaks own sign ✅ Allowed (cancels all transactions)
Non-owner breaks sign ❌ Denied
Admin breaks sign ✅ Allowed with permission
Explosion damage ❌ Protected
Fire damage ❌ Protected
Water/lava flow ❌ Protected

Active Rental Protection

Rental signs with active renters have enhanced protection:

  • Cannot be broken by claim owner
  • Cannot be broken by renters
  • Only admins can break with griefprevention.sign.admin.break
  • Breaking an active rental sign:
    • Ends all active rentals immediately
    • Refunds partial payments (configurable)
    • Notifies all affected renters
    • Logs the action

Admin Override

Breaking Protected Signs

Admins with griefprevention.sign.admin.break or griefprevention.admin can:

  • Break any GPExpansion sign
  • Override active rental protection
  • Remove signs in any claim

Commands for Protection

/gpx sign remove <x> <y> <z> <world>

Remove a sign by coordinates without being in-game.

Cleanup on Removal

When a GPExpansion sign is broken:

Rental Signs

  • Ends all active rentals
  • Removes trust from renters
  • Optionally restores from snapshot
  • Refunds partial payments (configurable)

Mailbox Signs

  • Removes mailbox from system
  • Clears container trust (real protocol)
  • Preserves container contents
  • Notifies owner of removal

Sell Signs

  • Cancels pending sales
  • Returns any escrowed funds
  • Clears sale data

Global Signs

  • Removes global status from claim
  • Preserves claim data
  • Removes from global list

Configuration

Sign protection is configured per sign type in config.yml, not as a separate section. The relevant options are:

signs:
  rent:
    prevent-owner-breaking-active-rental: true
    trust:
      clear-renter-trust-on-expire: true
  sell:
    clear-trust-on-sale: true
    remove-sign-after-sale: true
  mailbox:
    allow-owner-quick-collect: true

Bypass Methods

Emergency Removal

If a sign is glitched or needs removal:

  1. In-game: Admin with break permission
  2. Command: /gpx sign remove <coords>
  3. Config: Temporarily disable protection

WorldEdit / Region Operations

Signs are protected from:

  • WorldEdit operations
  • Region modifications
  • Schematic pastes (over existing signs)

Use /gpx sign remove before world operations.

Monitoring

There is currently no separate logging config section. Sign operations are logged at debug level when debug.enabled: true.

Troubleshooting

Can't break my own sign?

  • Check for active rentals
  • Verify you're the claim owner
  • Try /gpx sign remove command

Sign keeps reappearing?

  • Check for region protection plugins
  • Verify no restore operations running
  • Check for schematic plugins

Protection not working?

  • Ensure sign-protection is enabled
  • Check for conflicting plugins
  • Verify sign was created by GPExpansion

Permissions Reference

Permission Protection Effect
griefprevention.sign.create.* Create protected signs
griefprevention.sign.break.own Break own signs
griefprevention.sign.admin.break Break any sign
griefprevention.admin Full sign control

Best Practices

  1. Don't break active rentals - Use eviction instead
  2. Notify players - When removing signs for maintenance
  3. Use admin commands - For bulk operations
  4. Log removals - Enable audit logging
  5. Backup first - Before major sign operations

Clone this wiki locally