Changelog
One block per release, newest first, naming what arrived without repeating the whole story.
1.1.1
- Every line of a menu that reads the same for everybody is parsed once and kept, rather than parsed again for every row and every page on every click. MiniMessage was most of what a click cost
- The width rulers are built once per load rather than once per measurement, and PlaceholderAPI is only asked about lines that have a placeholder in them
1.1.0
faq.ymlships as a fifth menu, and it is the sidebar one:layout: panelset on the file itself, questions grouped under topics down the left, the answer beside them- The comment on
layout.modeinconfig.ymlpoints at it, since a menu file overriding the mode was documented but nothing shipped did it
1.0.1
- The panel layout works out its widest sidebar row once per click rather than once per page, so a menu with many pages costs less to draw. Nothing on screen changes
- No item position on inline items: Paper's
ItemDialogBodyat 1.21.7 has no such field to read
1.0.0
First release. Seventeen rounds of pre-testing close here, and nothing in the plugin changed beyond the version number.
1.0.0-17
- Legacy colour codes (
&c,&l,&r,&#ff8800,§) now work anywhere in the plugin, including insidepanel.divider panel.content-widthstates the panel's text column width outright, instead of it being whatever is left over
1.0.0-16
- Panel sidebar rows and category names no longer drift sideways when you change category, since DialogForge now ships the exact width of every character in Minecraft's own font
panel.glyph-widthsaccepts a decimal, since half a pixel is a real width in this game
1.0.0-15
icons:inconfig.yml: declare your own small pictures at a known width, usable anywhere as%icon:name%- The panel's content column is now measured against the whole menu, not just the page currently open, so it no longer shifts when a branch opens or closes
1.0.0-14
panel.glyph-widthstakes aU+codepoint for characters you cannot type into YAML- The console now names every character the panel layout had to guess the width of
overlay: trueon a background keeps the dialog's own width unaffected by the picture, so the scrollbar stays where it belongslayout.min-linespads a page to at least that many lines, covering more of the darkened world behind the dialog
1.0.0-13
- Background height cap raised to 2048 pixels
repeat: autoon a background draws enough copies to cover any length of page- A negative
shifton a background can open room for the scrollbar beside it
1.0.0-12
layout.stable-heightpads every page of a menu to the height of its tallest page, so the dialog no longer drops when you change category- Each background now owns its own fixed block of characters in the resource pack, so a player one pack version behind never sees pieces of the wrong picture
repeatdraws a background more than once, stacked underneath itself, to cover a long page
1.0.0-11
- Fixed a background sometimes rendering torn into two pieces at two different heights
1.0.0-10
fit: cover,containorstretchcontrols how a background is cropped or scaled to the size you asked for- Backgrounds can now be wider than the text column, up to 1024 pixels
1.0.0-9
backgrounds:inconfig.yml, the first working version: any size image, resized and tiled automatically- The console now reports which declared backgrounds actually loaded
1.0.0-8
- Backgrounds behind a menu, first version, later replaced by the tiled version in 1.0.0-9
1.0.0-7
- Subcategories: a page can name a
parentand sit indented under it in the sidebar panel.lines-per-categorylets the sidebar and the content column run to different lengths- A page can carry its own
title, and%page_label%in the menu title follows the open category if:andrequire:conditions now read a toggle by the answer it stands for, not by its raw text- ArrowStats metrics added
1.0.0-6
lock:block added to a menu file, holding a player on a page, like a rules screen, until they answerpanel.icon-widthand per pageicon-width, for exact alignment with resource pack iconsconfig.yml,lang/andmenus/now reload automatically on save, no command needed
1.0.0-5
- Fixed the aligned panel layout not lining up down the screen
1.0.0-4
permission-mode: open,optionalorrequired, on a whole menu or on a single pagepanel.dividerdraws a bar between the two panel columnsstaff.ymlexample menu added, locked to a rankoverride-commandlets a menu take a command back from another plugin that registered it first
1.0.0-3
panel.resource-pack.itemsadder.mergemerges the panel font straight into an existing ItemsAdder packrequire-permission: truelocks a menu or page until its node is granted- Input keys are now validated when the menu file loads, letters, digits and underscores only
1.0.0-2
noticeaction draws a message on the menu itself, where the player is looking, instead of sending it to chatcopy_to_clipboardaction added- Shortcut pages: a page with
actionsand nocontent, for a category that is really a one click link - Panel layout: an aligned sidebar and content column, with the resource pack font DialogForge writes for you
- Close button and category buttons fixed to actually run their action
1.0.0-1
First round. /guide, /rules and /settings ship as working examples, not placeholders.
- SQLite and MySQL storage behind one interface
- English, French and Spanish language files, English always kept as the fallback
- All four input types and nine action types
- Placeholders resolve per player, with PlaceholderAPI applied on top when installed