Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
Platforms
Tags
Creators
Details
DynamicGuide
Dynamic Guide is a highly customizable Minecraft plugin that automatically delivers interactive book-based GUIs for fully customizable player interactions.
Supported versions: Paper and Purpur 1.20.x - 1.21.x
Java: 17 (Paper/Purpur 1.20.5+ servers require Java 21 to run)
Features
- Multiple guide books loaded from
plugins/DynamicGuide/books/ - Open books with
/guide <book>using a book ID or alias - Adventure book GUI with up to 100 pages per book (1,024 characters per page)
- MiniMessage formatting in book content, item text, and plugin messages
- Optional PlaceholderAPI placeholders in book content
- Per-book access control via permissions or
open-to-all - Physical guide items that open books on right-click
- Join behavior: give item on first join, open on first join, or open on every join
- Admin GUI (
/dynamicguide) with paginated book list, reload, and create-book actions - Admin menu book actions: left-click to edit, right-click to rename, shift-click to delete (with confirmation)
- In-game editor for pages, aliases, item settings, and join toggles
- Page editor with add, edit, rename, delete (with confirmation), and pagination
- Alias editor with the book ID shown first (display-only), plus add, delete (with confirmation), pagination, and cross-book conflict prevention
- Item editor for enable/disable, name, material, lore lines, and enchant glint
- Chat input for editing page content, display names, aliases, item fields, lore lines, and creating or renaming books
- Delete confirmation GUIs for books, pages, and aliases
- GUI back navigation; closing a menu reopens the previous screen when available
- Commands to create, delete, rename, duplicate, give, open, edit, list, and reload books
- Customizable
config.ymlandmessages.yml - Includes a default
welcomeexample book on first install
Installation
- Download the latest release from Modrinth.
- Place the JAR in your server's
plugins/folder. - Start or restart the server.
- On first run, default files are created in
plugins/DynamicGuide/, includingbooks/welcome.yml.
To build from source:
./gradlew build
The JAR will be in build/libs/.
Commands
| Command | Description |
|---|---|
/guide <book> |
Open a guide book by ID or alias (player only). |
/dynamicguide |
Open the admin book menu (player only). |
/dynamicguide help |
Show available commands based on your permissions. |
/dynamicguide <page> |
Open the admin menu on a specific page number. |
/dynamicguide list |
List all loaded guide books. |
/dynamicguide reload |
Reload configs and books. |
/dynamicguide create <book> |
Create a new guide book. |
/dynamicguide delete <book> |
Open the delete confirmation GUI (player only). |
/dynamicguide rename <book> <newBook> |
Rename a guide book. |
/dynamicguide duplicate <book> <newBook> |
Duplicate a guide book. |
/dynamicguide give <book> [player] |
Give a guide item to yourself or another player. |
/dynamicguide open <book> [player] |
Open a guide book for yourself or another player. |
/dynamicguide edit <book> |
Open the in-game editor for a guide book. |
Book IDs must use only letters, numbers, hyphens, and underscores (max 32 characters).
Permissions
| Permission | Description | Default |
|---|---|---|
dynamicguide.* |
Full access to DynamicGuide. | op |
dynamicguide.command.guide |
Use /guide. |
true |
dynamicguide.command.list |
Use /dynamicguide list. |
op |
dynamicguide.command.reload |
Use /dynamicguide reload. |
op |
dynamicguide.command.give |
Use /dynamicguide give. |
op |
dynamicguide.command.open |
Use /dynamicguide open. |
op |
dynamicguide.editor |
Use /dynamicguide create, delete, rename, duplicate, and edit, plus admin menu book management. |
op |
dynamicguide.book.<book> |
Open a specific book when open-to-all is disabled. |
not set |
dynamicguide.* grants all listed child permissions. Books with open-to-all: true can be opened by anyone without a per-book permission.
Dependencies
| Dependency | Required | Notes |
|---|---|---|
Paper or Purpur 1.20.x - 1.21.x |
Yes | Server software |
| PlaceholderAPI | No | Enables %placeholder% support in book content when installed |
Configuration
config.yml
| Option | Description | Default |
|---|---|---|
prefix |
MiniMessage prefix used in plugin messages. | [DynamicGuide] styled prefix |
open-delay |
Delay in ticks before opening or giving join books. | 5 |
messages.yml
All plugin and GUI messages can be customized. Supports MiniMessage formatting.
Book files (plugins/DynamicGuide/books/*.yml)
Each book is a YAML file with these settings:
| Option | Description |
|---|---|
id |
Book identifier |
title |
Book title (MiniMessage) |
author |
Book author |
pages |
List of page content strings (MiniMessage) |
page-labels |
Optional display names for pages in the editor (MiniMessage) |
aliases |
Alternate names used with /guide |
open-to-all |
If true, any player can open the book without a per-book permission |
join.give-on-first-join |
Give the guide item on a player's first join |
join.open-on-first-join |
Open the book on a player's first join |
join.open-on-every-join |
Open the book on every join |
item.enabled |
Whether the physical guide item is enabled |
item.material |
Bukkit material name for the guide item |
item.name |
Display name for the guide item (MiniMessage) |
item.lore |
Lore lines for the guide item (MiniMessage) |
item.enchant-glint |
Show enchantment glint on the guide item |
Support
- Download: Modrinth
- Source code: GitHub
- Issue tracker: GitHub Issues
- Wiki: DynamicGuide Wiki
- Discord: dsc.gg/refineryteam
- Website: refineryteam.xyz
- Email: contact@refineryteam.xyz
Author
ShadowedLeaves


