# Graveyard

**KyuubiSoft Graveyard puts a player's items into a gravestone when they die, instead of dropping them on the ground. The gravestone stands where the player fell. For a while only its owner can open it; after that anyone may loot it. A menu lists every gravestone with its location and contents, and lets players choose how their next gravestone looks and which particles rise above it.**

:::caution[Not tested in game yet]
Version 2.0.0 rebuilt the menu and the grave window. It was built against Hytale 0.7.0, but the new windows have not been tested in game yet.
:::

---

## How the graveyard works

- **Dying.** When a player dies outside creative mode, the items the game would drop go into a gravestone instead. Which items that are is decided by the world's death settings; with `captureMode: "ALL_ITEMS"` the whole inventory goes in (see [FAQ](./faq#what-goes-into-the-gravestone)). The player gets a chat message and a notification with the coordinates.
- **The gravestone.** It is placed on the ground at the death position, or on the nearest free spot within 10 blocks. Players cannot break it.
- **Protection.** For `protectionTimerSeconds` (5 minutes by default) only the owner can loot it. Other players see a memorial view with a countdown. After that the gravestone is public.
- **Looting.** Press **F** on the gravestone. The grave window shows the contents; **Loot all** (own grave) or **Loot** (foreign grave) moves everything into the inventory, the rest drops next to the player. The gravestone disappears when it is empty. Only one player at a time can have a gravestone open.
- **Limit and lifetime.** A player can have `maxGravestonesPerPlayer` gravestones (5). Dying once more removes the oldest one with its contents. Gravestones last forever by default; with a lifetime they disappear after that time, contents included.
- **Storage.** Gravestones, unlocked designs and particles and the statistics are stored in an SQLite file or a MySQL database.

---

## Features

### The menu

- `/ksgraveyard menu` opens one window in the KyuubiSoft "Goldfiligran" look with four sections: **Gravestones**, **Designs**, **Particles** and **Statistics**.
- **Gravestones:** every gravestone of the player, newest first, with world, distance, coordinates, age and state (protected with countdown, public, other world). The selected gravestone shows its location, protection, when it disappears and its full contents. **Send coordinates** posts them to the chat.
- **Teleport** (optional, off by default): a button that teleports the player to the gravestone, in the same world only, for free or for a price.
- **Statistics:** the player's record on the server and the rules the server uses.

### The grave window

- Opens with **F** on a gravestone: the owner's head, "Here lies", the name, when and where they died, and the contents with rarity rings and amounts.
- Three views: own grave (**Loot all**), foreign grave after the protection (**Loot**, the owner gets a message) and foreign grave still protected (memorial view with countdown, no items).
- Only one player at a time can have a gravestone's contents open; anyone else gets "This gravestone is already open. Try again in a moment."
- Partly looted gravestones keep the remaining items, also across restarts. Item data such as enchantments or pet IDs on eggs is kept.
- `classicLootLook` brings back the old stone gravestone window with its replaceable images.

### Designs and particles

- **Designs** decide which block the next gravestone uses. One design is built in ("Simple Tombstone"); more are added as JSON files without code, see [Custom Designs](./custom-designs).
- **Particles** rise above all standing gravestones of a player. Four presets are built in (none, Golden Glow, Ghost Smoke, Arcane Pulse); more can be added in the config. The whole particle system can be switched off.
- Designs and particles are free, for sale or admin-only. Prices are paid with the server economy (VaultUnlocked). Admins can unlock anything with a command.

### World map

- Each player sees their own gravestones as death markers on the world map, with the number of stacks inside. `showWorldMapMarker: false` hides them.

### Item loss (optional)

- A share of the items that go into a gravestone can be destroyed on death, for all items or only for listed ones, with a percentage per item.

### Worlds

- `excludedWorlds` turns the graveyard off in single worlds or world name patterns (`pvp_*`). Players who die there drop their items the normal way.

### Languages

- 9 languages are bundled: en-US, de-DE, es-ES, fr-FR, it-IT, pl-PL, pt-BR, ru-RU, tr-TR. Single texts can be changed with override files.
- Each player can pick a language with `/kslang` (shared by all KyuubiSoft mods); otherwise the client language is used.

---

## Where to go

| Page | Read it for |
|------|-------------|
| [Getting Started](./getting-started) | Installing the plugin, the files it creates, a first test |
| [Commands](./commands) | Every player and admin command with syntax |
| [Configuration](./configuration) | Every option of `graveyard.json`, database, languages, images |
| [Custom Designs](./custom-designs) | Adding gravestone designs with JSON files |
| [Permissions](./permissions) | The two permission nodes and LuckPerms examples |
| [UI Pages](./ui-pages) | The menu, the grave window and the world map markers |
| [FAQ & Troubleshooting](./faq) | Common questions, known issues and fixes |
| [Changelog](./changelog) | What changed in each version |

---

## Quick Reference

| Item | Details |
|------|---------|
| **Product** | KyuubiSoft Graveyard ([BuiltByBit](https://builtbybit.com/resources/kyuubisoft-graveyard.101603/)) |
| **Plugin** | KyuubiSoft Graveyard (manifest `kyuubisoft:graveyard`) |
| **Version** | 2.0.1 (2026-10-21) |
| **Jar** | `KyuubiSoftGraveyard-2.0.1.jar` |
| **Main command** | `/ksgraveyard` (aliases `/grave`, `/gy`) |
| **Player commands** | `menu`, `list`, `locate`, plus `/kslang` |
| **Admin commands** | `admin_list`, `admin_clear`, `admin_remove`, `admin_tp`, `admin_stats`, `design_give`, `design_revoke`, `particle_give`, `particle_revoke`, `reload` |
| **Permissions** | `ks.graveyard.user.use` (players, allowed by default), `ks.graveyard.admin` (admins) |
| **Data folder** | `mods/kyuubisoft_graveyard/` |
| **Config** | `mods/kyuubisoft_graveyard/config/graveyard.json` |
| **Database** | `graveyard.db` (SQLite, default) or MySQL |
| **Custom designs** | `custom-items/*.json`, built into `mods/KyuubiSoftGraveyard_Designs.jar` |
| **Required** | nothing else |
| **Optional** | VaultUnlocked with an economy plugin (paid designs, particles and teleports), KyuubiSoft Core (economy bridge), KyuubiSoft Item Control (soulbound and drop-protected items stay with the player) |

---

## Requirements

- Hytale server 0.7.x (built against 0.7.0) and Java 25.
- No other mod is required. The SQLite and MySQL drivers and the UI textures are inside the jar.
- **Economy (optional):** VaultUnlocked plus an economy plugin that registers with it. With KyuubiSoft Core installed, the plugin uses Core's economy bridge; without Core it talks to VaultUnlocked directly. Without an economy, premium designs and particles can only be unlocked by admins (see [FAQ](./faq#economy-and-purchases)).
- **Player heads:** the head in the grave window is loaded from hyvatar.io and cached on disk. Without access to that site the window shows no head.