Delphi menu plugin

Delphi is a display entity menu plugin, which allows for menus to be written in XML, SCSS and Java/Javascript and displayed with Display entities to players.

If you’re interested in the development of this plugin, checkout my site: juliewoolie.com/delphi

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!

Download

Downloads are available on the Modrinth Page and Hangar Page

Maven and gradle dependencies

Gradle

repositories {
  maven("https://libraries.juliewoolie.com")
}

dependencies {
  compileOnly("com.juliewoolie:delphi:0.7.0-SNAPSHOT")
}

Maven

<repositories>
  <repository>
    <id>DelphiRepo</id>
    <name>DelphiRepo</name>
    <url>https://libraries.juliewoolie.com</url>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>com.juliewoolie</groupId>
    <artifactId>delphi</artifactId>
    <version>0.7.0-SNAPSHOT</version>
  </dependency>
</dependencies>

Bukkit plugins

If you’re writing a bukkit plugin, also add this to your plugin.yml

depend: 
  - "Delphi"

Paper plugins

If you’re writing a PaperMC plugin, also add this to your paper-plugin.yml:

dependencies:
  server:
    Delphi:
      load: BEFORE
      required: true
      join-classpath: true

Usage Guide

Commands

Info regarding the /delphi command used to interact with and spawn pages.

Concepts

Delphi Concepts and terminology

Javadocs

Javadoc links

Resource Paths

URL/URI like identifiers that point to a file or piece of data inside of a module.

Head

Document <head> element

Body

Document <body> element

API

Delphi’s Java API

Events

Events allow you to listen to changes in the DOM and page with event handlers.

CSS Styling

Document Styling and layout

Font Data

Loading custom font data for correct rendering