Fair-raiding SMP claim system (sneak peek) — how protection is enforced without killing raids

  • Thread starter Thread starter /u/Turbulent_Carob4946
  • Start date Start date
U

/u/Turbulent_Carob4946

Guest
Fair-raiding SMP claim system (sneak peek) — how protection is enforced without killing raids

Following up on my post from yesterday about designing a fair-raiding PvP SMP (link here for context):
👉 https://www.reddit.com/r/admincraft/comments/1qrrzvh/how_im_designing_fair_raiding_for_a_pvp_smp_no/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

This screenshot is from the ClaimProtectionListener — it’s not the full class, just a focused section that shows how claims are enforced without making bases unraidable.

What the claim system does (high level)​

  • Players (or parties) can create one claim
  • Claims protect structure from griefing
  • Looting and entry are still allowed during raids
  • The goal is to stop base deletion and trap abuse, not remove PvP risk

This sits underneath the broader “fair raiding” rules rather than replacing them.

What this code is actually doing​


Block placement

  • When a player places a block, the system checks:
    • Is this location inside a claim?
    • Is the player the owner or in the owning party?
  • If not allowed:
    • The action is cancelled
    • A clear deny message is sent

This prevents:

  • Sealing bases mid-raid
  • Trap griefing
  • Claim owners grief-patching during active raids

Block interaction (raiding rules)

  • On right-click interactions, the same claim lookup happens
  • If the player is allowed, nothing is blocked
  • If they’re not allowed:
    • Only specific interactions are restricted (e.g. beds)
    • Doors, containers, and loot access are intentionally handled elsewhere to remain raid-friendly

This lets raiders:

  • Enter bases
  • Open doors
  • Access storage while still preventing abusive mechanics.

Why it’s structured this way​


The key method here is the shared isAllowed(player, claim) check.
Everything routes through that instead of hard-blocking by default.

That keeps:

  • Claim logic centralized
  • Rules readable
  • Exceptions (like raiding access) deliberate instead of accidental

It’s still evolving, but this is the core pattern the system is built on.

Context / disclaimer​


This is a work-in-progress system, not a finished plugin or release.
I’m sharing it mainly to show that the fair-raiding idea is being implemented in code, not just discussed in theory.

Happy to answer admin-side questions or explain other parts of the system if useful.

submitted by /u/Turbulent_Carob4946
[link] [comments]

Continue reading...
 
Back
Top