# Utilities
Bookshelf provides a wide range of utility commands for player management, item manipulation, and server administration. All commands can be individually toggled in `config.yml`.
---
## Flight and Movement
### Fly
```
/fly [targets] [true/false]
```
Toggles or sets flight mode for the player. When toggled off, flight is disabled and the player will fall.
### Fly Speed
```
/flyspeed <speed> [targets] [-s]
```
| Speed | Value |
|---|---|
| `low` | 0.05 |
| `normal` | 0.10 (default) |
| `medium` | 0.50 |
| `high` | 1.0 |
| Custom | Any number 0–10 |
The `-s` flag makes the change silent (no feedback message to the target).
### Walk Speed
```
/walkspeed <speed> [targets] [-s]
```
| Speed | Value |
|---|---|
| `low` | 0.12 |
| `normal` | 0.20 (default) |
| `medium` | 0.50 |
| `high` | 1.0 |
| Custom | Any number 0–10 |
---
## God Mode
```
/godmode [targets] [true/false]
/godmode list
/godmode clear
```
Players in god mode take no damage. The `allow_hitting_in_god_mode` config setting controls whether other players can still hit god mode players (damage is negated either way).
- **`list`** — Shows all players with god mode enabled
- **`clear`** — Disables god mode for all players
God mode state persists across reconnects.
---
## Item Manipulation
### Rename and Lore
```
/rename <name>
/lore [line1] [line2] ... [line10]
```
Both support MiniMessage formatting. Italic decoration is removed by default.
### Enchant and Disenchant
```
/enchant <enchantment> [level]
/enchant <enchantment> [level] -f
/disenchant [enchantment]
```
The `-f` flag forces unsafe enchantments (any enchantment on any item at any level). Without `-f`, the `unsafe_enchantments` config setting must be `true` to allow this.
`/disenchant` with no argument removes all enchantments. Specify an enchantment name to remove only that one.
### Repair
```
/fix [targets] [type] [percentage]
```
| Type | Repairs |
|---|---|
| `mainhand` | Held item (default) |
| `offhand` | Offhand item |
| `tools` | All tools in inventory |
| `armor` | All armor pieces |
| `all` | Everything |
Percentage defaults to 100%. Use a lower value for partial repairs (e.g., `/fix all 50`).
### Upgrade and Downgrade
```
/upgrade
/downgrade
```
Moves the held item up or down one material tier:
**Tools:** Wooden → Stone → Iron → Golden → Diamond → Netherite
**Armor:** Leather → Chainmail → Iron → Golden → Diamond → Netherite
### Durability
```
/durability <value>
/durability random
/maxdurability
```
Sets specific durability on the held item. `0` is full durability. `random` sets a random value. `/maxdurability` restores to maximum.
### Hat
```
/hat [targets]
```
Places the held item on the player's head (helmet slot). Swaps the main hand item with whatever is currently in the helmet slot.
### Skull
```
/skull <player> [-o]
```
Gets a player's head. The `-o` flag updates an existing skull in your hand instead of giving a new one. Fetches the skin from Mojang's API.
### Clone
```
/clone <targets> <hand/inventory> [count]
```
- `hand` — Copies the held item to targets
- `inventory` — Copies the entire inventory to targets
Cannot clone to yourself.
### Bundle
```
/bundle <chest/barrel/shulker_box> [-k]
```
Packs all inventory items into container(s). If items don't fit in one container, multiple are created ("Bundle 1", "Bundle 2", etc.).
The `-k` flag keeps the inventory instead of clearing it (requires empty slots for the container).
### Armor Trim
```
/armortrim apply <pattern> <material>
/armortrim clear
```
Applies or removes armor trims from held armor pieces.
### Item Model
```
/itemmodel <model>
```
Sets the item model on the held item (1.21.4+).
### Item Cooldown
```
/itemcooldown <ticks>
```
Sets a cooldown on the item type.
---
## Player Attributes
All attribute commands support `set`, `get`, and `reset` subcommands.
### Scale
```
/scale [reset|set|get] [value] [targets]
```
Sets player size. Range: 0–16. Default: 1.0.
### Health
```
/health [reset|set|get] [value] [targets]
```
Sets current health. Range: 1–2048. Cannot exceed max health.
### Max Health
```
/maxhealth [reset|set|get] [value] [targets] [-h]
```
Sets maximum health. Range: 1–2048. Default: 20.
The `-h` flag also heals the player to the new max health.
### Gravity
```
/gravity [reset|set|get] [value] [targets]
```
Sets gravity scale. Range: 0–16. Default: 0.08. Set to 0 for zero gravity.
### Reach
```
/reach [reset|set|get] [value] [targets]
/blockreach [reset|set|get] [value] [targets]
/entityreach [reset|set|get] [value] [targets]
```
`/reach` sets both block and entity reach simultaneously. Use the specific commands to set them independently.
- Block reach default: 4.0
- Entity reach default: 3.0
### Knockback Resistance
```
/knockbackresistance [reset|set|get] [value] [targets]
```
Range: 0+. Default: 0.0. A value of 1.0 makes the player immune to knockback.
### Reset All
```
/resetattributes [targets]
```
Resets all attributes to their default values.
---
## PowerTool
```
/powertool add -c <command> [-d <ticks>] [-t <player>]
/powertool list
/powertool set <index> -c <command> [-d <ticks>] [-t <player>]
/powertool insert <index> -c <command>
/powertool remove <index>
/powertool clear
```
Binds commands to the held item. When the item is used (right-click), all bound commands execute in order.
**Flags:**
- `-c` — The command to execute
- `-d <ticks>` — Delay in ticks before execution
- `-t <player>` — Execute as a different player
**Placeholders in commands:**
- `{sender}` — The player using the item
- `{target}` — The entity being right-clicked (if applicable)
Commands are stored on the item itself and persist through inventory changes.
---
## Privacy and Messaging
### Private Messages
```
/whisper <player> <message> (aliases: /msg, /w, /tell, /pm)
/reply <message> (aliases: /r)
```
Sends a private message to another player. `/reply` responds to the most recent person who messaged you.
Messages are blocked if:
- The sender is muted
- The target has privacy mode enabled
- The target has blocked the sender
With Redis enabled, whispers can be sent cross-server.
### Block and Unblock
```
/block <player>
/unblock <player>
```
Blocked players cannot send you private messages. Block lists persist across sessions.
### Privacy Toggle
```
/privacy
```
Toggles whether you can receive private messages from other players.
---
## Miscellaneous Commands
### Gamemode Shortcuts
| Command | Mode |
|---|---|
| `/gms [player]` | Survival |
| `/gmc [player]` | Creative |
| `/gma [player]` | Adventure |
| `/gmsp [player]` | Spectator |
| `/gm <mode> [player]` | Any mode |
### Player Effects
| Command | Description |
|---|---|
| `/heal [player]` | Restore full health |
| `/feed [player]` | Fill hunger bar |
| `/saturate [player]` | Maximize saturation |
| `/nightvision [player]` | Toggle night vision |
| `/extinguish [player]` | Put out fire |
| `/smite <player>` | Strike with lightning |
| `/velocity <player>` | Launch player |
### Time and Weather
| Command | Description |
|---|---|
| `/day` | Set time to day |
| `/night` | Set time to night |
| `/midnight` | Set time to midnight |
| `/time <value>` | Set specific time |
| `/toggledownfall` | Toggle rain |
### Administration
| Command | Description |
|---|---|
| `/sudo <player> <command>` | Force a player to run a command |
| `/give <item> [amount]` | Give items (aliases: `/i`, `/item`) |
| `/workbench` | Open portable crafting table |
| `/endersee [player]` | View ender chest (aliases: `/ec`, `/echest`) |
| `/kill <player>` | Kill a player |
| `/killall` | Clear entities (alias: `/clearlag`) |
| `/summon <entity>` | Spawn an entity |
| `/center [targets]` | Center player on their block |
### Server Diagnostics
| Command | Description |
|---|---|
| `/tps` | Show server TPS |
| `/ping [player]` | Show player latency |
| `/healthreport` | Server health diagnostics (requires Spark) |
| `/profiler <start/stop/info/open/cancel>` | Performance profiling (requires Spark) |
| `/clearpack [player]` | Remove resource pack |
---
## Scoreboard
Bookshelf can display a per-player scoreboard with PlaceholderAPI support. Configure in `managers/scoreboard.yml`:
```yaml
enabled: false
use_config: true
title: "<bold>My Server"
lines:
- "Line 1"
- "Line 2 with %placeholder%"
tab:
header: "Header text"
footer: "Footer text"
```
When `enabled` is `true` and `use_config` is `true`, the scoreboard is automatically applied to all players on join. Lines support PlaceholderAPI placeholders for dynamic content.
---
## Related Pages
- [[Bookshelf/Server Owners/Features/Kits]] - Kit system details
- [[Bookshelf/Server Owners/Features/Teleportation]] - Warp and teleport details
- [[Bookshelf/Server Owners/Commands]] - Quick command reference
- [[Bookshelf/Server Owners/Configuration]] - Config options for utilities