# Commands

**Version:** 2.0.1

All graveyard commands are subcommands of `/ksgraveyard` (aliases `/grave` and `/gy`): `/grave menu` is the same as `/ksgraveyard menu`.

| Command | Used by | Permission |
|---------|---------|------------|
| `/ksgraveyard menu` | players | `ks.graveyard.user.use` (allowed by default) |
| `/ksgraveyard list` | players | `ks.graveyard.user.use` (allowed by default) |
| `/ksgraveyard locate` | players | `ks.graveyard.user.use` (allowed by default) |
| `/ksgraveyard admin_list <player>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard admin_clear <player>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard admin_remove <id>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard admin_tp <id>` | admins (players only) | `ks.graveyard.admin` |
| `/ksgraveyard admin_stats <player>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard design_give <player> <design>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard design_revoke <player> <design>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard particle_give <player> <particle>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard particle_revoke <player> <particle>` | admins, console | `ks.graveyard.admin` |
| `/ksgraveyard reload` | admins, console | `ks.graveyard.admin` |
| `/kslang` | players | none (shared by all KyuubiSoft mods) |

`particle_give` and `particle_revoke` only exist when `enableParticles` was `true` when the server started.

Answers of the player commands and of `admin_tp` use the player's language. The other admin commands answer in the server language (`defaultLanguage`), also when a player runs them.

---

## Player commands

### `/ksgraveyard menu`

Opens the graveyard menu with the tabs Gravestones, Designs, Particles (when particles are enabled) and Statistics. See [UI Pages](./ui-pages#the-menu).

### `/ksgraveyard list`

Lists your gravestones in chat, oldest first:

```
=== Your Gravestones ===
1. default X:412 Y:68 Z:-230 [Protected · 3:12] (14 stacks)
2. default X:-1180 Y:72 Z:655 [Public] (9 stacks)
```

Each line shows the world, the coordinates, the state with the protection time left (the same texts as in the menu, in your language) and the number of stacks inside. Without a gravestone: "You have no active gravestones."

### `/ksgraveyard locate`

Shows your nearest gravestone in the world you are in:

```
Nearest gravestone: X:412 Y:68 Z:-230 (86 blocks away)
```

The distance is measured on the ground (X and Z). If all your gravestones are in other worlds: "No gravestone in this world found."

### `/kslang`

Chooses your language for all KyuubiSoft mods: `/kslang de-DE` sets a language, `/kslang auto` goes back to the client language. `/kslang` without an argument answers in chat with your current language (chosen by you or taken from your game), the available language codes and how to change it. The command is registered by the first KyuubiSoft mod that loads.

---

## Admin commands

### Choosing the player

`admin_list`, `admin_clear`, `admin_stats`, `design_give`, `design_revoke`, `particle_give` and `particle_revoke` take a player **name**. Upper and lower case do not matter.

- The player must be **online**, in any world. Offline players are answered with "Player not found: Steve".

`admin_remove` and `admin_tp` take a gravestone ID instead and work for every gravestone on the server.

### `/ksgraveyard admin_list <player>`

Lists all gravestones of a player with their IDs:

```
=== Gravestones of Steve (2) ===
ID: 3f9a1c2e | default X:412 Y:68 Z:-230 | 14 Items
ID: b71d04aa | default X:-1180 Y:72 Z:655 | 9 Items
```

The ID is the first 8 characters of the gravestone's internal ID. "Items" counts stacks.

### `/ksgraveyard admin_remove <id>`

Deletes one gravestone: the block disappears and its **contents are deleted**.

| Argument | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | String | yes | The ID from `admin_list` |

```
/ksgraveyard admin_remove 3f9a1c2e
```

The first gravestone whose ID starts with the given text is removed, so always use the full 8 characters. Answers: "Gravestone 3f9a1c2e deleted." or "Gravestone not found: 3f9a1c2e".

If the gravestone's chunk is not loaded, it is loaded for the removal. If the gravestone's whole world is not loaded, only its data is removed: its block stays in that world and the log names its position. No block in any other world is touched.

### `/ksgraveyard admin_clear <player>`

Deletes all gravestones of a player, contents included, the same way as `admin_remove`. Answer: "2 gravestones cleared for Steve."

:::danger
`admin_remove` and `admin_clear` cannot be undone. The items in the removed gravestones are gone.
:::

### `/ksgraveyard admin_tp <id>`

Teleports you on top of a gravestone (one block above it).

```
/ksgraveyard admin_tp 3f9a1c2e
```

- Only players can run it.
- It teleports you into the gravestone's world if you are somewhere else.
- Answer: "Teleported to gravestone 3f9a1c2e". If the gravestone's world is not loaded: "The world pvp_arena of this gravestone is not loaded."

### `/ksgraveyard admin_stats <player>`

Prints a player's statistics:

```
=== Graveyard Stats: Steve ===
Deaths: 27
Gravestones created: 24
Items lost: 412
Items recovered: 377
Gravestones expired: 3
Looted by others: 2
```

What each number counts is explained on [UI Pages](./ui-pages#statistics).

### `/ksgraveyard design_give <player> <design>`

Unlocks a design for a player. The player can then select it in the Designs tab; it is not activated automatically.

| Argument | Type | Required | Description |
|----------|------|----------|-------------|
| `player` | String | yes | Name of an online player |
| `design` | String | yes | Design ID: a key of `designs` in `graveyard.json`, for example `default`, or the lower-case file name of a custom design (`EmeraldStatue.json` = `emeraldstatue`) |

```
/ksgraveyard design_give Steve emeraldstatue
```

Answers: "Design 'Emerald Statue Gravestone' unlocked for Steve." or "Design not found: royal".

### `/ksgraveyard design_revoke <player> <design>`

Takes a design away. If it was the player's active design, the player is set back to `default`. Answer: "Design 'emeraldstatue' revoked from Steve." The design ID is not checked; a wrong ID changes nothing.

### `/ksgraveyard particle_give <player> <particle>`

Unlocks particles for a player, like `design_give`.

| Argument | Type | Required | Description |
|----------|------|----------|-------------|
| `player` | String | yes | Name of an online player |
| `particle` | String | yes | Particle ID: a key of `particles` in `graveyard.json`. Built in: `none`, `golden_glow`, `ghost_smoke`, `arcane_pulse` |

```
/ksgraveyard particle_give Steve golden_glow
```

Answers: "Particle 'Golden Glow' unlocked for Steve." or "Particle not found: fire".

### `/ksgraveyard particle_revoke <player> <particle>`

Takes particles away. If they were active, the player is set back to `none`. Answer: "Particle 'golden_glow' revoked from Steve."

### `/ksgraveyard reload`

Reloads `graveyard.json`, the custom design files and the language files without a restart. Answer: "Graveyard config reloaded." Some options only take effect after a restart, see [Configuration](./configuration#reload-or-restart).

---

## Other answers

- A player without `ks.graveyard.user.use` gets "No permission." (in their language) for `menu`, `list` and `locate`.
- Running an admin command without `ks.graveyard.admin` is refused by Hytale's own permission message.