DialogForge | Menus, Not Chest GUIs 1.1.1
Real dialog screens from YAML, with titles, readable text, buttons and background images.
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!
Statistics
Views
Purchases
Downloads
File size
Published
Updated
Info
Share & Earn
Share and earn part of the profits, an estimated €0.5 per product sale.