Delphi Entity Menus

Make menus with XML, style with CSS and add functionality with either Java or JavaScript. All rendered with Display Entities

193

Delphi Entity Menus

<img width="4019" height="1377" alt="logo-longways-1" src="https://github.com/user-attachments/assets/3b7ec4b6-59f1-41e0-b2c4-b8831470d3aa" />

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: ```xml <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`

ADS