v1.1.1: 1.1.1 | Menu lines are parsed once, so pages open faster
17 September 2026
A performance round. Menu text is now parsed once and reused instead of being rebuilt on every click.
⚡ Faster Menu Rendering
Every sidebar row and every content line used to go through MiniMessage again on each click, even though those strings had not changed since the file was read. They are now parsed once and kept.
- Any line with no placeholder in it is parsed once, which is nearly every line of a typical menu. A line whose only placeholder is an icon is kept too, since that is the same character for everyone
- Lines with a real placeholder are still parsed per click, because what they say is per player. The cache is emptied on reload
layout.stable-heightis much cheaper now. Padding a page to the tallest page in the menu means measuring every page, and measuring a page meant parsing every line of it, so this setting carried the heaviest cost of the lot- Measuring got lighter as well: the width rulers are built once per load instead of once per measurement, and measuring a row no longer allocates an object per character
- PlaceholderAPI is only asked about lines that have a percent sign in them
What remains is mostly Paper's own
Dialog.create, which converts the finished dialog into the form the client is sent. Also worth knowing: the first few renders after a restart are always the slowest, since that is when classes load and the JIT compiles. Give the server a minute of use before judging any timing.📦 Install
Replace the old jar in
plugins/ with DialogForge-1.1.1.jar and restart. No config changes, and the resource pack is untouched, so there is nothing to re-upload.Read the documentation | Join the Discord
Enjoying the plugin? A ⭐ review goes a long way!
v1.1.0: 1.1.0 | A shipped menu that shows the sidebar layout
09 September 2026
A fifth menu ships, and it is the one drawn as a sidebar rather than a grid of buttons.
📐 The Sidebar Layout Ships
Every shipped menu drew its categories as buttons, so the panel layout could only be seen by writing a menu for it yourself. Now there is one in the box.
menus/faq.yml answers to /faq and /questions: a list of questions grouped under three topics, so the column stays short until a topic is opened, with the answer beside it and a real button on the last page.command: faq
aliases:
- questions
layout: panel
title: '<aqua><bold>Questions</bold></aqua>'
The
layout line on a menu file beats layout.mode in config.yml, so this one menu is drawn as a sidebar while the rest of yours stay exactly as they are.Two things put the sidebar itself in front of players:
| What it needs | Where |
| The font pack in front of players | panel.resource-pack in config.yml, or the ItemsAdder merge |
| The aligned layout on | panel.aligned: true in config.yml |
📝 Already Have a menus Folder?
DialogForge never overwrites a
menus folder that already exists, which is what keeps your own work safe. It also means faq.yml will not appear on its own.Take it from this release, or copy it out of the jar, and drop it into your
menus folder.📦 Install
Stop the server, replace the old jar in
plugins/, and start it again. Nothing you have written changes.Read the documentation | Join the Discord
Enjoying the plugin? A ⭐ review goes a long way!
v1.0.1: Initial release
02 September 2026
Initial release
DialogForge | Menus, Not Chest GUIs
zArrowTan
Real dialog screens from YAML, with titles, readable text, buttons and background images.
$6.29
Digital product, delivered instantly, no refunds · Terms
No versions available
Share and earn
How referrals work
- Your link is remembered for 30 days.
- 10% of each sale, paid to you as points.
- Yours to spend 30 days later.
- Ask your buyer to turn a VPN off, or the sale will not count.
Earn on every sale you send here
10%
189 pts / sale