# FAQ & Troubleshooting

**Version:** 2.0.1

## General

### How does the gravestone system work?

When a player dies, the items the game would drop go into a gravestone at the death position instead of onto the ground. The owner presses **F** on the gravestone and takes everything back with **Loot all**. For `protectionTimerSeconds` (5 minutes) only the owner can loot it; after that anyone can. See [UI Pages](./ui-pages#the-grave-window).

### What goes into the gravestone?

The world's death settings decide, the same way they decide what drops without the plugin:

| The world's death setting | Gravestone |
|---------------------------|------------|
| Drop everything | Every item of the inventory |
| Drop a share | That share of every stack whose item drops on death (at least one item per such stack). Items that do not drop on death, such as most armor and weapons, stay with the player |
| Keep the inventory | No gravestone |

- With `captureMode: "ALL_ITEMS"` (default `"DROPPED_ONLY"`) a world that drops a share puts the whole inventory into the gravestone instead, armor and weapons included. See [Configuration](./configuration#capture-and-map-markers).
- The world's durability loss on death is applied first.
- Items that KyuubiSoft Item Control marks as soulbound or drop-protected stay with the player. With KyuubiSoft Pets 1.11.1 or newer, pet eggs, Battle Runes and Mount Horns stay with the player too. When Item Control (or another mod) has already chosen the items that drop, exactly those go into the gravestone.
- With [item loss](./configuration#item-loss-itemloss) switched on, a share of these items is destroyed.
- The death screen lists the items that went into the gravestone.

### I died but no gravestone appeared

- You were in **creative mode**: creative deaths never create a gravestone.
- The world is in `excludedWorlds`: the items dropped the normal way.
- The world keeps the inventory on death, or nothing you carried drops on death: there was nothing to store.
- The plugin is disabled because the database failed, see [below](#the-log-says-the-graveyard-is-disabled).

### Where is the gravestone placed?

At the death position, moved down to the ground (leaves, flowers, grass and similar plants are skipped). If that spot is taken, the nearest free spot within 10 blocks is used. The chat and a notification show the coordinates, and `/ksgraveyard menu`, `/ksgraveyard locate` and the world map show it later.

### What happens if I die again before I recovered my items?

Every death creates a new gravestone. A player can have `maxGravestonesPerPlayer` gravestones (5). When a player at the limit dies, their **oldest gravestone is removed with its contents** and they get "Your oldest gravestone was deleted (limit reached)."

### Can other players loot my gravestone?

Not while it is protected: they only see a memorial view with the countdown. After `protectionTimerSeconds` anyone can loot it with **Loot** or take items out by hand. When another player empties it, you get "Another player looted your gravestone!" if you are online. With `protectionTimerSeconds` at `0` or below, gravestones are never protected.

### "This gravestone is already open"

Only one player at a time can have a gravestone's contents open, the owner included. Wait until the other player closes the window. The gravestone is free again at the latest 5 minutes after it was opened; a window still open then is closed and its changes are saved.

### Do gravestones disappear?

Not by default (`gravestoneLifetimeSeconds: -1`). With a positive value they disappear after that many seconds **together with their contents**. The owner is warned during the last `lifetimeWarningBeforeSeconds` (60) seconds. Protection and lifetime count real time from the death, also while the server is offline.

### My inventory is full. Do I lose items?

No. **Loot all** fills your inventory and drops the rest at your feet ("Some items were dropped on the ground (inventory full)."). You can also take single stacks out by hand and come back for the rest; the gravestone keeps what is left.

### Are enchantments and other item data kept?

Yes, for gravestones created by 2.0.0. Enchantments, pet IDs on eggs and other item data go into the gravestone and come back with the item.

### Can players break gravestones?

No. Breaking a gravestone does nothing.

---

## Economy and purchases

### How do premium designs and particles work?

Every design and particle preset is free, for sale or admin-only:

- `premium: false`: free for everyone.
- `premium: true` with a `price`: players buy it in the menu with the server economy. It stays unlocked and becomes active at once.
- `premium: true` with `price: 0`: "Locked", only `design_give` / `particle_give` unlock it.

### Which economy is used?

VaultUnlocked with an economy plugin that registers with it (for example Ecotale). With KyuubiSoft Core installed, the graveyard uses Core's economy bridge; otherwise it connects to VaultUnlocked directly. The log shows which one was found the first time a player opens the menu.

### Players cannot buy anything

- The **Buy** button is greyed out when the player's balance is lower than the price.
- Without an economy, or with `purchaseWithEconomy: false`, prices are charged in a graveyard-only currency that the plugin never hands out. Install an economy and set `purchaseWithEconomy: true`, or unlock items with `design_give` and `particle_give`.
- The economy is looked up once and the result is kept until the next restart. If the economy plugin was installed or fixed later, restart the server.

### Can players teleport to their gravestones?

Set `allowTeleportToGravestone: true`. The **Teleport** button in the Gravestones tab teleports the player on top of the selected gravestone, in the same world only. `teleportCost` sets a price (`0` = free). Everything is checked before the price is charged. Without an economy keep `teleportCost` at `0`, or the teleport cannot be paid.

---

## Designs and particles

### How do I add my own gravestone designs?

Put a JSON file into `custom-items/` and restart twice. See [Custom Designs](./custom-designs).

### Why does a new design need two restarts?

The first start builds `mods/KyuubiSoftGraveyard_Designs.jar` from the JSON files; the server only loads that jar at the next start. Let players select the design only after the second restart.

### I changed a design's price in graveyard.json, but it came back

Designs from `custom-items/` are updated from their JSON file on every start. Change the price in the JSON file.

### Particles do not show

- `enableParticles` must be `true`, and the change needs a restart.
- The gravestone's owner must have chosen particles other than "No Particles".
- Particles are shown to players within 64 blocks of the gravestone.
- `systemId` must be a valid Hytale particle system.

### I deleted a particle preset and it came back

The presets `none`, `golden_glow`, `ghost_smoke` and `arcane_pulse` are added again on every start. To take one out of sale, set `"premium": true` and `"price": 0`.

### Can I get the old stone grave window back?

Set `classicLootLook: true`. It uses the images in `images/`, which you can replace, see [Configuration](./configuration#images-for-the-classic-window).

---

## Admin

### An admin command says "Player not found"

Commands with a player name only find players who are **online** (in any world). Check the spelling; upper and lower case do not matter. `admin_remove` and `admin_tp` work with gravestone IDs and do not need the player.

### `admin_tp` says the world is not loaded

`/ksgraveyard admin_tp <id>` teleports you into the gravestone's world. If that world is not loaded right now, it answers "The world ... of this gravestone is not loaded." and you stay where you are. `admin_list` shows the world of each gravestone.

### How do I give a player their items back?

The items stay in the gravestone until it is looted, expires or is removed. Tell the player where it is (`/ksgraveyard admin_list <player>`), or teleport there with `admin_tp` and check it. `admin_remove` and `admin_clear` delete the contents, they do not return them.

### Which settings need a restart?

`enableParticles`, `database`, the images in `images/` and new custom designs. Everything else, `itemLoss` included, applies with `/ksgraveyard reload`. Changed protection and lifetime values only apply to new gravestones. See [Configuration](./configuration#reload-or-restart).

---

## Troubleshooting

### The log says the graveyard is disabled

`[Graveyard] Failed to initialize database: ...` followed by `[Graveyard] DISABLED — no gravestones will be created or loaded ...` means the database could not be opened at the start. The server keeps running without gravestones.

- SQLite: check that `mods/kyuubisoft_graveyard/` is writable and `database.sqlitePath` is a valid file name.
- MySQL: check `database.mysql` (host, port, database, username, password); the database must exist.

Fix the setting and restart the server.

### My config changes have no effect

If `graveyard.json` contains an error (for example a missing comma), the log shows `Failed to load config: ...` and the plugin uses built-in values. Your file is not overwritten: the log shows `Config not saved: ... could not be read and is kept as it is.` whenever the plugin would have saved it. Fix the file and run `/ksgraveyard reload`. Check the log after each change.

### A gravestone cannot be opened

Gravestones only open with the built-in gravestone block or the block of a custom design. Since 2.0.0 a design whose block cannot open the grave window places the built-in gravestone block instead (the log says so). Gravestones that older versions placed with such a block stay unopenable; find them with `admin_list` and remove them with `admin_remove`. Their items are lost with them.

### Players see the wrong language

Players see the language they chose with `/kslang` if the server lets players choose, otherwise the server's default player language (set in KyuubiSoft Core's `/ksadmin` hub, Language tab), otherwise their client language. `/kslang` alone shows the current language and the available codes in chat, `/kslang de-DE` sets a language, `/kslang auto` goes back to the client language. Texts a language does not have come from `defaultLanguage`. Single texts can be changed with override files, see [Configuration](./configuration#languages).

### The grave window shows no head

The owner's head is loaded from hyvatar.io. Without access to that site (or for a name it does not know) the head stays empty; everything else works.

### Items from a removed mod

Items whose ID no longer exists are not shown in the menu and the grave window; the contents line counts them as "unknown". Keep the mod installed until such gravestones are looted, or remove them with `admin_remove`.