
Delphi Entity Menus
Make menus with XML, style with CSS and add functionality with either Java or JavaScript. All rendered with Display Entities
Автор: juliewoolie33611обновлён 12 окт. 2025 г.
БиблиотекиУправлениеУтилиты
Описание
This plugin is in development! There will be bugs and missing features. At the moment, the only supported layouts are the default Flow and Flexbox. Positioned others will come later.
Showcase
Features
- Ability to create HTML-like menus with XML and CSS (With limited native SCSS integration)
- Full support for CSS selectors (Including pseudo classes like
:hoverand:active) - Support for regular HTML rendering (With
display: inline,display: block, etc) - Support for Flexbox rendering (With
display: flex) - JavaScript integration for easy scripting.
- Contuing development and new features being added all the time.
- Extensive documentation (at dev.juliewoolie.com)
- Fully documented Java API (at dev.juliewoolie.com/menus/javadoc/0.7.0)
- Devtools to help you create menus and fix issues.
- All Delphi commands can be used in the
/executecommand and by datapack functions!
Commands And Permissions
/delphi open <players> <identifier>- Opens a Delphi menu./delphi close all- Closes all menus./delphi close targeted- Closes the menu you're looking at./delphi close <instance name>- Closes the delphi menu with the instance-name./delphi reload- Reloads the plugin's config./delphi devtools- Opens devtools for the page you're looking at.
Permissions
delphi.commands- Permission required for using any Delphi commands such asopen,close, andreload.delphi.commands.players- Permission for commands that manage players.delphi.commands.devtools- Permission for the devtools command.delphi.commands.debug- Permission required for executing debug commands.
Examples
Basic "Hello, world!" page
Start by going to plugins/Delphi/modules on your File Explorer and creating a folder, for this example, we'll use hello-world. Go into that directory and create a file named index.xml.
Open that file with a text editor (Preferrably VS Code, Notepad++ or something similar). You can then copy+paste this:
<delphi> <!-- Root tag -->
<body> <!-- The body which contains all our content -->
<h1>Hello, world!</h1> <!-- Big text saying "Hello, world!" -->
</body>
</delphi>
In-game, you can then open this menu with /delphi open @s hello-world
Галерея
Последние версии
Все версии →beta
Delphi Entity Menus 0.7.1
0.7.112 окт. 2025 г.84Minecraft: 1.21.7, 1.21.8paper
Что нового
- Added automatic plugin updater.
- Expanded tooltip API
beta
Delphi Entity Menus 0.7.0
0.7.011 сент. 2025 г.43Minecraft: 1.21.7, 1.21.8paper
Что нового
# API
- Renamed `getInlineStyle()` to `getStyle()` to better reflect browser APIs.
- Fixed invalid links in Javadoc.
- Updated `NodeFlag.TOOLTIP` javadoc.
- Added `TagNames.TOOLTIP` constant.
# General
- Added `tooltip` event for when an element's tooltip element is changed.
- Added default styling for disabled `button` elements.
- Can now load tooltips from XML by setting `role="tooltip"` on an element.
- Improved tooltip handling.
- Changed `tooltip` element default styling to have white text and slightly thicker borders.
- Added info that was missing from `/delphi debug dump-page` command output.
- Fixed tooltip flicker.
- Fixed an issue where either an element's `width` or `flex-basis` would become negative
- Fixed how Delphi detects what element you're hovering over.
- Fixed some render elements not being cleaned up and removed when their DOM element was removed.
- Removed unused `scroll` event (Impossible to support given how Minecraft's client and server communication works)
# Devtools
- Added "Box" tab to devtools, it lets you view the box model of a selected element, showing you the margin, outline, padding, size, inner size and position of an element.
- Added ability to scroll through a page's XML in the element tree tab, instead of just being limited to the first 23 lines.
- Center tab names in devtools.
- Devtools, style tab can now disable/enable individual styles.
- Added ability to force `:hover` and `:active` states for selected elements in Styles tab.
- Added ability to modify an element's inline style in the Styles tab.
- Added highlighting when hovering over elements in the Elements tab. (Highlights appear on the page the devtools is for)
- Fixed issue loading the styles tab when variables were used in the CSS.
- Fixed styles tab not resetting when changing to other tab or page.
# CSS Engine
- Fixed some errors with parsing nested selectors and properties.
- Fixed `margin-inline-end` being used as the value for `margin-inline-start`.
- Fixed incorrect class selector testing.
- Fixed `inline-flex` not using FlexBox layout lol.
- Fixed broken styles after modifying inline style of an element before said element was appended to the document tree.
beta
Delphi Entity Menus 0.6.0
0.6.029 авг. 2025 г.42Minecraft: 1.21.7, 1.21.8paper
Что нового
- Add `inline-flex` as a keyword for `display`
- Add a basic "Styles" tab to Devtools.
- Fix an error with cancellable events.
- Correctly update element outline and border when changing style.
- Updated Style API.
- Fix visual twitch with italic or bold text.
- Fix min/max size CSS properties not doing anything.
- Missing semicolons in CSS will be treated as warnings instead of errors.
- Improve element tooltip handling
- Add commands for managing an open page's viewers
- Use `delphi.commands.devtools` as permission for devtools command
- Add default styling for `<sup>` and `<sub>` elements.
beta
Delphi Menu Plugin 0.5.0
0.5.022 авг. 2025 г.42Minecraft: 1.21.7, 1.21.8paper
Что нового
## Changes
- Add FlexBox support
- Move layout engine to its own module
- Refactor layout engine
- Added `vertical-align` CSS property.
- Added `flex-grow` CSS property
- Added `flex-shrink` CSS property.
- Added `gap` CSS property.
- Added `row-gap` and `column-gap` CSS properties.
- Added `align-self` CSS property
- When performing math operations with `px` units, convert them to world units before calculation.
- Fix wrong input type used when checking if input should be validated as number.
- Added bStats metrics support
- Fixed a tooltip graphical issue
- Properly update depth and things when calling `setTitleNode()`
beta
Delphi Menu Plugin 0.4.3
0.4.312 авг. 2025 г.36Minecraft: 1.21.7, 1.21.8paper
Что нового
## Additions
- Replace Bukkit's conversations for input elements with new Dialogs
- Added `getSource()` method to stylesheets
- Added `/delphi devtools` and `/delphi devtools <menu name>` for opening devtools easily
## Changes
- Add support for `prompt` attribute on `<input/>` elements
- Update translations
- Add translations support to devtools
- Made `input` event cancellable
- Update devtools
## Fixes
- Fix wrong method call that resulted in NPE in `ViewBuilderImpl`
beta
Delphi Menu Plugin 0.4.2
0.4.29 авг. 2025 г.34Minecraft: 1.21.7, 1.21.8paper
Что нового
- Remove very inconvenient `scripting.properties` file required for enabling JS support.
- Fix `!important` not parsing in CSS
- Add `flex-basis` property for future Flexbox implementation
beta
Delphi Menu Plugin 0.4.1
0.4.130 июл. 2025 г.55Minecraft: 1.21.7, 1.21.8paper
Что нового
## Main Changes
* Added JavaScript support with GraalVM's Polyglot (GraalVM itself is not required)
* Added `<canvas>` which allows developers to draw images
* Switched to new XML parser for more lenient, HTML-like parsing, even the most malformed XML should now be parsed
* Added support for custom DOM events
* Integrated Scheduler API into JS
* Added color functions to JS
* Optimize canvas elements to use the fewest number of entities possible
## Bug Fixes
* Fix the `Color.hsva` function being completely broken
* Don't print attribute values of attributes no-value attributes and properly escape attribute values
* Fix the area between pixels of Canvas elements flickering
* Fix plugin messages not being correctly translated
* Fix issue with event listeners
* Fix weird twitch with text nodes when their content changed


