Mineuniverse
Mods
Kronentroll's Graves

Kronentroll's Graves

MOD
A secure and configurable Fabric grave mod with inventory restoration, grave compasses, access sharing, protection, JSON5 configuration and administrative tools.
by kronentroll
Download Claim this project
97 downloads
0 likes
Updated Oct 14, 2026
0 hypes
Adventure and RPG Armor, Tools, and Weapons Server Utility Storage
Advertisement Remove ads with Premium →

Kronentroll's Graves

A secure, configurable and server-side grave mod for Fabric.

When a player dies, their inventory, armor, offhand items and experience are stored safely inside a grave. Players can recover individual items, restore experience separately, restore everything at once, share access and use a grave compass to find their way back.

Server-Side Mod

Kronentroll's Graves runs on the server. Players do not need to install the mod on their clients and can join with a normal compatible client.

Fabric Loader and Fabric API are required on the server.

Singleplayer may also work because an integrated server is used, but not every feature has been fully tested in singleplayer.

Features

Death and Storage

  • Creates a grave only after Minecraft confirms the player's death
  • Compatible with Totems of Undying
  • Prevents duplicate death processing
  • Stores the main inventory, hotbar, armor, offhand and exact experience points
  • Saves grave data before removing captured contents from the player
  • Prevents successfully stored items from also becoming normal death drops
  • Keeps overflow safely inside the grave
  • Supports multiple graves per player
  • Preserves item components, enchantments, damage and custom data
  • Supports virtual graves when no safe physical position is available
  • Retries virtual-grave placement automatically
  • Supports cross-chunk placement searches and configurable search limits

Grave Appearance

  • Configurable grave carrier block
  • Multipart gravestone display
  • Player name and grave number display
  • Optional player-head drop with the correct name and skin
  • Identical unchanged player profiles can stack correctly
  • Empty gravestones and display entities are removed automatically

Recovery

  • Right-click a grave to open its inventory
  • Take individual items normally or use shift-click transfers
  • Click the experience symbol to restore only the stored experience
  • Use the emerald button for complete restoration
  • Original inventory and hotbar positions are prioritized
  • Items collected after death are moved to safe free slots whenever possible
  • Existing unrelated items are never overwritten
  • Contents that cannot be restored safely remain inside the grave
  • Taking the final item normally keeps the menu open and removes the grave after the menu is closed
  • Shift-clicking the final item keeps the previous immediate-removal behavior
  • The matching grave compass is removed after complete recovery
  • If restoration is only partial, the matching compass is returned
  • Compasses for unrelated graves remain untouched

Automatic Grave Compasses

  • Automatic compass delivery after respawn
  • Separate compasses for multiple graves
  • Recovery after reconnecting or restarting the server
  • Delivery after later placement of a virtual grave
  • Existing compasses can be updated
  • Invalid and duplicate compasses can be removed
  • No compass is dropped into the world when the inventory is full
  • Full-inventory notifications are throttled
  • Missing compasses can be requested manually
  • Compasses identify the correct grave and dimension

Safe Placement and Emergency Platforms

  • Searches for a safe physical grave position
  • Expanded placement search for virtual graves
  • Rescue behavior for lava, fire and void deaths
  • Configurable temporary emergency platforms
  • Configurable platform block and size
  • Registered platform blocks cannot be collected
  • Creative-mode breaking is prevented
  • Platforms are protected from explosions and pistons
  • Automatic cleanup removes registered platform blocks without drops
  • Normal blocks of the same type outside registered platforms remain unaffected

Grave Protection

  • Protects non-empty graves from normal player breaking
  • Protects graves from explosions and pistons
  • Removes supported nearby fire hazards
  • Repairs missing grave carrier blocks when safe
  • Protects the supporting block directly below a physical grave
  • Allows an already missing support block to be replaced
  • Configurable solid-block placement protection near graves
  • Container interaction remains available while holding a block
  • Rejected placements synchronize block states and inventory immediately
  • Prevents ghost blocks and incorrect stack counts
  • Water buckets, flowing water and waterlogging are allowed by default
  • Lava buckets and lava flow are blocked by default

Access and Administration

  • Grave ownership checks
  • Trusted-player access and individual grave sharing
  • Access requests with accept and deny actions
  • Access removal for individual graves
  • Optional delayed public access and grave expiration
  • Optional LuckPerms integration
  • Administrative read-only inspection
  • Administrative restoration, relocation and permanent removal with confirmation
  • Administrative grave repair
  • Permission overview command
  • Administrative actions are audit logged

Languages and Logging

  • English and German player messages
  • Per-player language selection
  • Optional coordinates, clickable actions, dimension details, grave numbers and recovery warnings
  • Technical console logging
  • Privacy-conscious audit logging for administrative actions, item transfers and separate experience recovery
  • Audit-log rotation at 10 MiB
  • Previous audit file retained as kronentrollsgraves-audit.log.1

Configuration

The active JSON5 configuration is stored at:

config/kronentrollsgraves.json5

An existing config/kronentrollsgraves.json file is detected and migrated automatically when no JSON5 configuration exists. Existing functional values are preserved. The active configuration contains one-line comments with default values. No separate example configuration is generated.

Always stop the server and back up the world and configuration directory before editing settings.

Complete Default Configuration

{
  // Internal schema version; default: 4; do not change manually.
  "configVersion": "4",

  // APPEARANCE: carrier block, player head and empty-grave cleanup settings.
  "appearance": {
    // Carrier block used by the multipart gravestone; default: minecraft:polished_blackstone_wall.
    "graveBlock": "minecraft:polished_blackstone_wall",
    // Drop the player's head after physical grave placement; default: true.
    "dropPlayerHead": true,
    // Allow dropped player heads to despawn normally; default: true.
    "headCanDespawn": true,
    // Remove an empty grave after recovery; default: true.
    "removeGraveWhenEmpty": true
  },

  // STORAGE: inventory, experience, overflow and grave-limit settings.
  "storage": {
    // Store inventory, armor and offhand contents; default: true.
    "storeItems": true,
    // Store exact experience points; default: true.
    "storeExactExperience": true,
    // Keep contents that do not fit safely inside the grave; default: true.
    "keepOverflowInsideGrave": true,
    // Use virtual graves when no safe physical position exists; default: true.
    "useEmergencyVirtualGraves": true,
    // Prevent stored items from also becoming normal death drops; default: true.
    "suppressNormalDropsAfterSaving": true,
    // Save the grave before removing captured player contents; default: true.
    "saveBeforeRemovingPlayerItems": true,
    // Maximum physical non-empty graves per player; 0 means unlimited; default: 0.
    "maximumGravesPerPlayer": 0
  },

  // PLACEMENT: safe-position search, retry and emergency-platform settings.
  "placement": {
    // Initial horizontal search radius in blocks; minimum: 1; default: 16.
    "initialHorizontalSearchRadius": 16,
    // Initial vertical search radius in blocks; minimum: 1; default: 16.
    "initialVerticalSearchRadius": 16,
    // Later horizontal retry radius in blocks; default: 128.
    "expandedHorizontalSearchRadius": 128,
    // Later vertical retry radius in blocks; default: 128.
    "expandedVerticalSearchRadius": 128,
    // Maximum candidate positions checked per attempt; minimum: 1; default: 512.
    "maximumPlacementAttemptsPerTick": 512,
    // Delay between virtual-grave retries; 20 ticks are about one second; default: 20.
    "retryIntervalTicks": 20,
    // Retry eligible virtual-grave placement; default: true.
    "searchUntilSafePositionFound": true,
    // Allow placement searches across chunk boundaries; default: true.
    "allowCrossChunkSearch": true,
    // Allow required chunks to be made available; large radii may increase server load; default: true.
    "loadRequiredChunks": true,
    // Enable special placement behavior for lava deaths; default: true.
    "rescueFromLava": true,
    // Enable special placement behavior for fire hazards; default: true.
    "rescueFromFire": true,
    // Enable special placement behavior for void deaths; default: true.
    "rescueFromVoid": true,
    // Create a tracked temporary emergency platform when required; default: true.
    "createVoidPlatform": true,
    // Block used for emergency platforms; default: minecraft:obsidian.
    "voidPlatformBlock": "minecraft:obsidian",
    // Odd platform width and length from 1 to 15; default: 3.
    "voidPlatformSize": 3
  },

  // PROTECTION: grave and platform protection settings.
  "protection": {
    // Master switch for grave protection; default: true.
    "enabled": true,
    // Protect graves while recoverable contents remain; default: true.
    "protectWhileNotEmpty": true,
    // Prevent normal player attacks and breaking; default: true.
    "protectFromPlayers": true,
    // Protect recorded grave and platform positions from explosions; default: true.
    "protectFromExplosions": true,
    // Remove supported nearby fire hazards; default: true.
    "protectFromFire": true,
    // Enable lava-related grave protection; default: true.
    "protectFromLava": true,
    // Prevent piston movement or destruction; default: true.
    "protectFromPistons": true,
    // Reserved preference for supported Wither integrations; default: true.
    "protectFromWither": true,
    // Reserved preference for supported Enderman integrations; default: true.
    "protectFromEndermen": true,
    // Preference for implemented fluid placement and flow protection; default: true.
    "protectFromFluids": true,
    // Preference for explicit external-mod integrations; default: true.
    "protectFromOtherMods": true,
    // Prevent supported replacement of recorded grave positions; default: true.
    "preventBlockReplacement": true
  },

  // ACCESS: owner, trusted-player, operator and permission settings.
  "access": {
    // Allow owners to open their graves; default: true.
    "ownerCanOpen": true,
    // Reserved owner-breaking preference; non-empty graves remain protected; default: true.
    "ownerCanBreak": true,
    // Allow trusted players to open shared graves; default: true.
    "trustedPlayersCanOpen": true,
    // Reserved trusted-player breaking preference; default: true.
    "trustedPlayersCanBreak": true,
    // Allow configured operators to bypass grave protection; default: false.
    "operatorsBypassProtection": false,
    // Enable compatible LuckPerms integration; default: true.
    "useLuckPerms": true,
    // Base administrative permission node; default: kronentrollsgraves.admin.
    "administratorPermission": "kronentrollsgraves.admin",
    // Allow sharing access to individual graves; default: true.
    "allowIndividualGraveSharing": true,
    // Allow permanent grave-sharing behavior; default: false.
    "allowPermanentSharing": false
  },

  // EXPIRATION: optional expiry and delayed public-access settings.
  "expiration": {
    // Master switch for grave expiration; default: false.
    "enabled": false,
    // Seconds before optional expiration; 0 disables the timer; default: 0.
    "expirationSeconds": 0,
    // Enable delayed public access; default: false.
    "publicAccessEnabled": false,
    // Seconds before public access begins; default: 0.
    "publicAccessAfterSeconds": 0
  },

  // MESSAGES: player-facing coordinates, clickable actions and warnings.
  "messages": {
    // Show grave coordinates after death; default: true.
    "sendDeathCoordinates": true,
    // Enable clickable commands and coordinate copying; default: true.
    "useClickableMessages": true,
    // Include dimension information in grave messages; default: true.
    "showDimension": true,
    // Include the owner-specific grave number; default: true.
    "showGraveNumber": true,
    // Show important recovery and Keep Inventory warnings; default: true.
    "showRecoveryWarnings": true
  },

  // COMPASSES: automatic delivery, updating and cleanup settings.
  "compass": {
    // Give a compass after a physical grave is created; default: true.
    "giveAutomatically": true,
    // Give a compass after a virtual grave is later placed; default: true.
    "giveAfterVirtualPlacement": true,
    // Update an existing compass for the same grave; default: true.
    "updateExisting": true,
    // Remove compasses whose graves no longer exist; default: true.
    "removeInvalidCompasses": true,
    // Keep at most one compass for each grave; default: true.
    "removeDuplicateCompasses": true,
    // Notify when automatic delivery cannot find a free slot; default: true.
    "notifyWhenInventoryIsFull": true
  },

  // NEARBY PLACEMENT: solid-block and fluid placement near physical graves.
  "nearbyPlacementProtection": {
    // Master switch for nearby placement protection; default: true.
    "enabled": true,
    // Horizontal protection radius; 1 protects a 3 by 3 area; default: 1.
    "horizontalRadius": 1,
    // Protected blocks above and below the grave; default: 1.
    "verticalRadius": 1,
    // Allow water buckets, water flow and waterlogging near graves; default: true.
    "allowWater": true,
    // Allow lava placement and lava flow near graves; default: false.
    "allowLava": false,
    // Allow authorized administrators to bypass nearby placement protection; default: false.
    "operatorsBypass": false
  },

  // AUDIT: privacy-conscious grave audit logging settings.
  "audit": {
    // Master switch for audit logging; default: true.
    "enabled": true,
    // Log item identifiers and amounts without complete private contents; default: true.
    "logItemTransfers": true
  },

  // DEBUGGING: diagnostic logging settings; leave disabled during normal use.
  "debug": {
    // Master switch for diagnostic logging; default: false.
    "enabled": false,
    // Log detailed placement-search diagnostics; default: false.
    "logPlacementSearch": false,
    // Log detailed protection decisions; default: false.
    "logProtectionDecisions": false,
    // Log detailed grave-storage operations; default: false.
    "logStorageOperations": false
  }
}

Commands

Arguments in angle brackets are required. Grave numbers are shown by /grave list. Grave IDs, request IDs and confirmation IDs are UUID values displayed by the relevant command or clickable message.

Player Commands

  • /grave — Show the player command overview.
  • /grave list — List your stored graves.
  • /grave info <number> — Show detailed information about one of your graves.
  • /grave locate <number> — Show navigation information for one of your graves.
  • /grave compass <number> — Create or update a compass for one of your physical graves.
  • /grave language — Show the current language and available options.
  • /grave language <language> — Select a language, for example english or deutsch.
  • /grave requests — List pending grave-access requests.
  • /grave request accept <requestId> — Accept an access request.
  • /grave request deny <requestId> — Deny an access request.
  • /grave untrust <graveNumber> <player> — Remove a player's access to one grave.

Internal Clickable Access Commands

  • /graveaccessrequest send <graveId> — Send an access request.
  • /graveaccessrequest accept <requestId> — Accept an access request.
  • /graveaccessrequest deny <requestId> — Deny an access request.

Administrative Commands

  • /graveadmin — Show the administrative command overview.
  • /graveadmin list — List all saved graves.
  • /graveadmin info <graveId> — Show detailed grave information.
  • /graveadmin permissions — Show the permission overview.
  • /graveadmin restore <graveId> <targetPlayer> — Prepare restoration to a target player.
  • /graveadmin confirm <confirmationId> — Confirm a prepared restoration.
  • /graveadmin cancel <confirmationId> — Cancel a prepared restoration.
  • /graveadmin relocate <graveId> — Prepare relocation to the administrator's position.
  • /graveadmin remove <graveId> — Prepare permanent removal.
  • /graveadmin repair — Scan and repair eligible grave and platform data.
  • /graveadmin repair <graveId> — Repair one grave.
  • /graveadminrelocate confirm <confirmationId> — Confirm relocation.
  • /graveadminrelocate cancel <confirmationId> — Cancel relocation.
  • /graveadminremove confirm <confirmationId> — Confirm permanent removal.
  • /graveadminremove cancel <confirmationId> — Cancel permanent removal.

Requirements

Server

  • Minecraft Java Edition 26.3
  • Fabric Loader 0.19.5 or newer
  • Fabric API 0.161.0+26.3 or newer
  • Java 25 or newer

Client

No client-side installation is required.

LuckPerms integration is optional.

Installation

  1. Install Fabric Loader and Fabric API on the server.
  2. Stop the server and create a backup.
  3. Remove the previous Kronentroll's Graves JAR when updating.
  4. Place the new JAR in the server's mods directory.
  5. Start the server.
  6. Review config/kronentrollsgraves.json5.
  7. Check the server log for configuration or Mixin errors.

No manual world-data migration is required when updating from an older supported version.

Important Notes

  • Exact restoration of every original slot requires enough free inventory space.
  • Current unrelated items are not overwritten.
  • Contents that cannot be restored safely remain inside the grave.
  • Registered emergency-platform blocks are removed without drops.
  • Normal Obsidian outside registered emergency platforms is unaffected.
  • Back up the world and configuration before every update.

License

All Rights Reserved.

The mod may be downloaded and used for personal gameplay and on privately operated Minecraft servers.

Redistribution, re-uploading, resale, modified republication or claiming the mod as your own is not permitted without prior written permission.

Public modpack inclusion is permitted only for modpacks distributed through CurseForge. Redistribution through other platforms or direct downloads requires prior written permission.

AI Disclosure

AI-assisted tools were used during development for code review, debugging and documentation. The mod was tested and published under the responsibility of the project author.

Kronentroll's Graves 1.0.6 for Minecraft 26.3
MC Fabric, Server, 26.3
Release 2026-10-07 Get
Kronentroll's Graves 1.0.5 for Minecraft 26.3
MC Fabric, Server, 26.3
Release 2026-10-06 Get
Kronentroll's Graves 1.0.3 for Minecraft 26.2
MC Fabric, Server, 26.2
Release 2026-10-04 Get
Kronentroll's Graves 1.0.4 for Minecraft 26.2
MC Fabric, Server, 26.2
Release 2026-10-04 Get
Kronentroll's Graves 1.0.1 for Minecraft 26.2
MC Fabric, Server, 26.2
Release 2026-10-01 Get
Kronentroll's Graves 1.0.2 for Minecraft 26.2
MC Fabric, Server, 26.2
Release 2026-10-01 Get
kronentrollsgraves-1.0.0.jar
MC Fabric, Server, 26.2
Release 2026-09-23 Get

More from kronentroll

Advertisement Remove ads with Premium →

You Might Also Like