▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/GriefPrevention3D
GriefPrevention3D

GriefPrevention3D

Форк популярного GriefPrevention с поддержкой 3D-субделений. Создавайте участки с точными границами по высоте - идеально для многоуровневых построек и сложных приватов на сервере Minecraft.

Оцените первым
5.4K
9
Все версииGriefPrevention3D v18.3.2 (Fabric 1.21.11 experimental)

GriefPrevention3D v18.3.2 (Fabric 1.21.11 experimental)

Alpha12.08.2026

Список изменений

GriefPrevention3D v18.3.2 — Fabric 1.21.11 (experimental alpha)

Wiki: https://github.com/castledking/GriefPrevention3D/wiki

This is an alpha, dedicated-server-only build of the native Fabric platform. It is not feature complete and is not a drop-in replacement for the Paper plugin. Back up GriefPreventionData before running it. Requires Fabric API. LuckPerms is optional but strongly recommended.

Overview

This build closes most of the remaining gap between the Fabric claim-block economy and Bukkit's, and brings Paper-compatible permission-node trust to Fabric. Everything below matches upstream GriefPrevention arithmetic deliberately, including its integer division and overflow behavior, so a world can be moved between Paper and Fabric without the numbers changing.

Manage trust permission renamed

The permission that gates granting manage trust is now griefprevention.managetrust, matching the /managetrust command name. It replaces the griefprevention.managertrust spelling used during Fabric development.

If you granted or denied griefprevention.managertrust in LuckPerms, update it. The node defaults to allowed, so a server that never configured it explicitly needs no change.

Separately, granting trust to a permission node requires griefprevention.permissiontrust. On Fabric it inherits from griefprevention.adminclaims, and falls back to operator status when no permission provider is installed.

Manage trust no longer erases interaction trust

The shared claim codec stripped build, container, and access trust from any identifier listed under Managers when a claim file was read. A player granted /trust and then /managetrust on Paper lost their interaction trust as soon as the claim was loaded — on either platform.

Manage trust and interaction trust are now independent on Fabric too:

  • reading a claim keeps both;
  • /gp3d claim trust <target> manage no longer clears an existing interaction level, and granting an interaction level no longer clears manage trust;
  • trust checks are satisfied by either track.

Claims already on disk are not migrated. If someone lost access under an earlier build, grant it again once; it will persist correctly from now on.

Playtime claim blocks

Accrual is wired and follows Bukkit's global ten-minute cadence and integer division. The default 100 blocks/hour therefore delivers 16 blocks per check — 96 over six uninterrupted checks, not 100.

  • The first check treats a player as active unless they are riding or in liquid. Later checks apply Accrued Idle Threshold movement detection and AccruedIdlePercent.
  • Accrual applies in every world, including creative and claim-disabled worlds, matching Bukkit.
  • griefprevention.accruals (default allowed) and griefprevention.accruals.afkbypass (default operator-only) are honored through the permission bridge, including explicit LuckPerms denials.
  • Each award participates immediately in balance and claim mutations, and is atomically written to only the accrued-block line of the player file before the delivery completes.
  • Disconnect and server shutdown retry any award whose write failed.
  • A zero-or-negative hourly rate at startup does not schedule the task, as on Bukkit; making it positive requires a server restart.

Both the legacy BlocksAccruedPerHour / MaxAccruedBlocks keys and the newer Claim Blocks Accrued Per Hour.Default / Max Accrued Claim Blocks.Default shapes are read, and legacy values are carried into the newer keys rather than being reset to defaults.

Claim count limit and abandon return ratio

  • MaximumNumberOfClaimsPerPlayer is enforced. The first golden-shovel corner is rejected at the limit, and persistence rechecks it before the claim is actually created. griefprevention.overrideclaimcountlimit bypasses it; Minecraft operators get the same bypass without a permission provider.
  • A non-default Claims.AbandonReturnRatio now applies. Abandoning an owned top-level claim adjusts only the accrued-block line, using Bukkit's exact ceiling arithmetic — at 0.5, abandoning a 25-block claim removes 13 accrued blocks.
  • The player record is written atomically. A malformed or concurrently changed record fails the mutation closed instead of being overwritten, and the claim deletion is rolled back if the entitlement update cannot be committed. At the default ratio, player files stay byte-for-byte identical during claim mutations.

Permission-node trust

Paper-compatible [permission.node] entries in Builders, Containers, Accessors, and Managers are resolved through the optional LuckPerms bridge for block and entity protections and for explosion-trigger access. General and level-specific deny entries are included in the evaluation.

The trust commands accept a quoted bracketed node or a bare dotted node, and persist the bracketed Bukkit representation, so a claim edited on Fabric reads correctly on Paper:

/gp3d claim trust myserver.vip container
/gp3d claim trust "[myserver.vip]" container

Trust targets may now also be a previously seen player name, resolved through the online list and Minecraft's seen-player cache — not just online players.

Command replies are sent only to the executor instead of being broadcast to other operators.

Config and message files are updated in place

On each Fabric boot, newly shipped config.yml and messages.yml keys that are missing from an existing file are inserted. Existing values, comments, ordering, and unknown addon fields are left untouched.

Still not wired

Economy operations, administrative balance commands, denial feedback messages, subdivision tools, fluid/piston protection paths, and legacy/database import tooling remain unimplemented. See the platform README for the current coverage list and the manual verification gate.

Verification

The full ./gradlew check pipeline passes: 434 tests, 0 failures, 0 errors — 51 on the Fabric platform, 2 in the Fabric bootstrap, 136 in the shared core, and 245 in the Bukkit plugin. The Fabric boot smoke test runs against the exact generated universal JAR.

Fabric coverage added here includes the accrual cadence and idle arithmetic, the abandon-ratio penalty, claim-count limits and overrides, permission-node trust evaluation and target resolution, the trust-command permission defaults, and the config/message defaults updater.

Cross-platform round trips, LuckPerms-backed permission trust, and the claim-block economy still need live verification. The manual gate in the platform README covers explosions, migration, claim-block balance, accrual, abandon ratio, and permission-node trust on both platforms.

Files Changed

 M gp3d-core/src/main/java/com/griefprevention/claims/ClaimBlockConfigCodec.java
 M gp3d-core/src/main/java/com/griefprevention/claims/ClaimBlockSettings.java
 M gp3d-core/src/main/java/com/griefprevention/claims/ClaimTrustSnapshot.java
 M gp3d-core/src/main/java/com/griefprevention/persistence/ClaimDocumentCodec.java
 M gp3d-core/src/main/java/com/griefprevention/persistence/PlayerDataDocumentCodec.java
 A gp3d-core/src/main/java/com/griefprevention/claims/ClaimBlockAbandonment.java
 A gp3d-core/src/main/java/com/griefprevention/claims/ClaimBlockAccrual.java
 A gp3d-core/src/main/java/com/griefprevention/claims/ClaimTrustCommandPermissions.java
 A gp3d-core/src/main/java/com/griefprevention/claims/ClaimTrustIdentifier.java
 M platforms/fabric-1.21.11/README.md
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricClaimBlockService.java
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricClaimRepository.java
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricClaimToolHooks.java
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricCommands.java
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricDataFolder.java
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricExplosionProtection.java
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricProtectionHooks.java
 M platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/GriefPreventionFabric.java
 A platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricClaimBlockAccrual.java
 A platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricClaimTrustEvaluator.java
 A platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricPermissionResolver.java
 R platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricGroupBonusPermissions.java -> FabricPermissions.java
 A platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricTrustCommandAuthorization.java
 A platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricTrustTargetResolver.java
 R platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/LuckPermsGroupBonusPermissionResolver.java -> LuckPermsPermissionResolver.java
 A platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/YamlDefaultsUpdater.java
 D platforms/fabric-1.21.11/src/main/java/com/griefprevention/fabric/FabricGroupBonusPermissionResolver.java

Файлы

GriefPrevention3D.jar(1.52 MiB)
Основной
Скачать

Метаданные

Канал релиза

Alpha

Номер версии

18.3.2-fabric-1.21.11

Загрузчики

Fabric

Версии игры

1.21.11

Загрузок

6

Дата публикации

12.08.2026

Загрузил

ID версии

Главная