Tags
Creators
Details
18.4.9-fabric-alpha
Compatibility
Required content
Changes
GriefPrevention3D v18.4.9 — Fabric (experimental alpha)
Wiki: https://github.com/castledking/GriefPrevention3D/wiki
Roadmap: platforms/fabric-common/ROADMAP.md
Still an alpha, dedicated-server-only build. Back up
GriefPreventionDatabefore updating. Requires Fabric API; LuckPerms is optional but recommended.
Overview
The same GriefPrevention3D.jar still runs on Fabric 1.21.11 and 26.1 through 26.3, and as a Spigot/Paper plugin.
Right-clicking blocks in a claim now follows the Paper plugin's rules and config keys, lecterns included. Staff
get Paper's claim management commands, and players can give their claims away with /transferclaim.
Lecterns and other blocks
Until now, Fabric asked for container trust for every block with a block entity and access trust for every other block. Fabric now uses the Paper plugin's rules instead:
| Blocks | Trust needed |
|---|---|
| Chests, barrels, furnaces, hoppers, shulker boxes and other inventories, plus cake, cauldrons, anvils, beacons, bells, beehives, jukeboxes, respawn anchors, pumpkins and berries | Container, while Claims.PreventTheft is on |
| Reading a lectern | Access with Claims.LecternReadingRequiresAccessTrust: true (the default); anyone may read when it is false |
| Taking a lectern's book, or putting one on | Container, always |
| Wooden doors / trapdoors | Access only with Claims.LockWoodenDoors / Claims.LockTrapDoors (both off by default) |
| Fence gates | Access with Claims.LockFenceGates (on by default) |
| Buttons, levers and beds | Access with Claims.PreventButtonsSwitches (on by default) |
| Note blocks, repeaters, comparators, daylight detectors, redstone wire, flower pots, candles, dragon eggs and copper golem statues | Build |
| Crafting tables, enchanting tables, ender chests, campfires and other workstations | None |
Visitors with access trust can read a lectern but can no longer take its book; taking it needs container trust. Hitting a dragon egg to make it teleport needs build trust, too.
Staff commands
| Command | What it does |
|---|---|
/ignoreclaims (/ic, /aclaim ignore) |
Toggles ignoring claims until you log out (griefprevention.ignoreclaims) |
/deleteclaim |
Deletes the claim you stand in, warning first if it has subdivisions. Admin claims also need griefprevention.adminclaims. |
/aclaim delete <claim|player <name>|world <world>|userworld <world>|alladmin> |
Deletes one claim, a player's claims, every claim or every player claim in a world, or every admin claim |
/deleteallclaims <player> |
Deletes all of a player's claims |
/deletealladminclaims |
Deletes every administrative claim |
/adminclaimslist (/aclaim adminlist) |
Lists where the administrative claims are |
/makeadmin, /makebasic |
Turns the claim you stand in into an admin claim, or an admin claim into a claim you own (griefprevention.adminclaims.convert) |
As on Paper, staff with griefprevention.deleteclaims can resize and abandon other players' claims. In
/ignoreclaims mode, staff can do whatever their ignoreclaims or deleteclaims permission covers. Deleting
someone else's claim gives all of its claim blocks back to its owner; only abandoning your own claim costs blocks.
Giving claims away
/transferclaim <player> [confirm] (also /giveclaim, /claim transfer and /aclaim transfer) works as on Paper:
- Staff with
griefprevention.transferclaim.othersgive the claim they stand in to any player straight away, or make it an admin claim when no name is given. - Players can give away a claim they own once
Claims.TransferClaim.Enabledis true (off by default). The recipient needs enough claim blocks and a free claim slot, and the giver confirms withconfirm. The recipient is told if they're online. - Fabric has no economy plugin to charge with. If
Claims.TransferClaim.Priceis above 0, a player's transfer is refused, as Paper refuses one without Vault, unless they havegriefprevention.transferclaim.free.
Explosions
/claimexplosions [on|off] and /witherexplosions [on|off] let anyone with build trust in a claim decide whether
explosions or wither explosions may damage it. Both were already saved with the claim and honored on Fabric; now
the commands to change them are there too.
Config
New config.yml keys, added to existing files on startup and reread by /gpreload. Each matches the Paper
plugin's key and default:
GriefPrevention:
Claims:
PreventTheft: true
LockWoodenDoors: false
LockTrapDoors: false
LockFenceGates: true
PreventButtonsSwitches: true
LecternReadingRequiresAccessTrust: true
TransferClaim:
Enabled: false
Price: 0.0
Permissions
The Fabric permission defaults now match the Paper plugin's for these commands, with or without LuckPerms:
griefprevention.transferclaim, griefprevention.claimexplosions and griefprevention.witherexplosions are open to
everyone. griefprevention.transferclaim.others, ignoreclaims, deleteclaims and adminclaims.convert need an
operator or griefprevention.admin.*. griefprevention.transferclaim.free is off for everyone. A build-time check
now compares every Fabric default with the Paper plugin's plugin.yml.
Upgrade notes
- Doors and trapdoors open for everyone by default now, as on Paper. To keep visitors out, set
LockWoodenDoorsandLockTrapDoorsto true. - Crafting tables, enchanting tables, ender chests and campfires no longer need any trust. Note blocks, repeaters, comparators, daylight detectors, flower pots and candles now need build trust instead of access or container trust.
- Claims and player data keep the same
GriefPreventionDataformat as Paper; nothing to migrate.
Not on Fabric yet
Subdivisions, 3D and shaped claims, /restrictsubclaim, /claim alerts, /trapped, /siege, restore nature,
buying or selling claim blocks, and charging fees. The roadmap lists the protections still to come.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:pqVXF7b5:s11chDm4"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pqVXF7b5:s11chDm4"
}

