# GriefPrevention3D v18.2.16
**Wiki:** https://github.com/castledking/GriefPrevention3D/wiki
## Fixes
### Interacting with a Citizens horse NPC could erase its equipment
GriefPrevention inherited an old interaction-time repair for untamed inventory-bearing
animals. When a player clicked one, the handler reset its owner and cleared its inventory.
Citizens horse NPCs can legitimately present as untamed Bukkit horses, so clicking an NPC
could silently remove its saddle and armor even though Citizens had configured both
correctly.
**Fix:** GriefPrevention no longer mutates an untamed horse while handling interaction.
The horse's owner and inventory are left untouched, while the normal claim access checks
continue to run. This does not add a Citizens dependency or bypass protection for NPCs; it
removes the unrelated destructive repair behavior for Citizens and other plugin-managed
horses.
Reported by @RocketYota in upstream
[GriefPrevention issue #2623](https://github.com/GriefPrevention/GriefPrevention/issues/2623).
## Experimental Fabric preview
The `GriefPrevention3D.jar` release asset now also contains the first native Fabric adapter.
It can be installed as a Bukkit/Paper plugin or placed unchanged in a Fabric server's
`mods` directory.
The Fabric side of v18.2.16 is **experimental and still in development**:
- Fabric is currently limited to Minecraft 1.21.11, Java 21, and a server-side installation.
- Fabric API is required.
- Stick inspection and golden-shovel create/resize sessions now show client-only fake-block
claim boundaries to the player using the tools. No client mod is required.
- The adapter reads and writes the shared `plugins/GriefPreventionData` flat-file layout so
the same claim graph can be tested when moving between Paper and Fabric.
- Existing player and group files are preserved byte-for-byte, including claim-block
balances, but Fabric does not enforce claim-block balances yet.
- Protection and command parity with the Bukkit plugin is not complete. Back up
`GriefPreventionData` and test this preview away from a production server.
The stable Bukkit/Paper behavior remains available from the same jar across its existing
supported version range. Fabric support in this release is advertised only for 1.21.11.
## Notes
No configuration or data migration is required for the Citizens fix. The fix is on the
Bukkit side because Citizens is a Bukkit plugin; Fabric has no equivalent horse-inventory
mutation path.
## Tests
A handler-level regression test models an untamed horse with an inventory and fails if an
interaction calls either `Inventory.clear()` or `Tameable.setOwner(null)`. The universal
jar checks also load the Bukkit entry classes on Java 8 and boot the exact same artifact on
a Fabric 1.21.11 server.
## Issue Fix Files
```text
M src/main/java/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java
A src/test/java/me/ryanhamshire/GriefPrevention/PlayerInteractEntityEventHandlerTest.java
```
Optional dependencies
QuickShop-Hikari
Any compatible version
PlaceholderAPI
Any compatible version
VaultUnlocked
Any compatible version
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }