COWMODSКаталог модов

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 г.
БиблиотекиУправлениеУтилиты

Описание

logo-longways-1

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 :hover and :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 /execute command 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 as open, close, and reload.
  • 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

Галерея

Basic hello world menuBasic menu to show off aspects of Delphi's CSS capabilitiesDelphi Devtools

Последние версии

Все версии →
beta

Delphi Entity Menus 0.7.1

0.7.1
12 окт. 2025 г.84Minecraft: 1.21.7, 1.21.8paper
Скачать
Что нового
- Added automatic plugin updater. - Expanded tooltip API
beta

Delphi Entity Menus 0.7.0

0.7.0
11 сент. 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.0
29 авг. 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.0
22 авг. 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.3
12 авг. 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.2
9 авг. 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.1
30 июл. 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