Skip to content

ClubObsidian/DynamicGui

Repository files navigation

DynamicGui

build javadocs License

A plugin designed to make writing menus for Minecraft easy. Menus can be written in the configuration language of your choice: yaml, hocon, json or xml.

Features

  • A number of functions to use to customize menus
    • Asynchronous functions
    • Functions use latebinding
    • Addons can be written for more functions
    • Use conditions with replacers using EvalEx
  • Guis can be written in yaml, json, xml or hocon
  • Proxy support
    • Bungeecord
  • Custom replacers
    • Built-in replacer support
    • Support for PlaceholderAPI
    • User defined macros
      • Per Gui, Slot and Global
      • Supports macro chaining
  • Loading guis from a remote location
    • Currently supports loading from a webserver
    • Can also load from websites like Github using url parameters
  • Different gui types
    • Beacon
    • Brewing stand
    • Chest
    • Crafting Table
    • Dispenser
    • Dropper
    • Furnace
    • Hopper
    • Workbench

Future features

  • Support for sponge

Use cases

Just a few uses for DynamicGui.

  • Crafting recipes
  • Crate rewards
  • Help menu
  • Hub menu
  • Kit preview
  • Player information
  • Player statistics
  • Quests
  • Shop
  • Staff tools

Downloads

You can get development builds from Github actions but you will need a Github account.

Getting Started

Gui Documentation

You find find gui documentation here.

Contributing

Before contributing please read our documentation on contributing.

Dependency

Gradle

repositories {
  maven { 
    url 'https://jitpack.io' 
  }
}

dependencies {
  compileOnly 'com.github.clubobsidian.dynamicgui:api:6.3.0'
}

Maven

<repositories>
	<repository>
		<id>jitpack.io</id>
		<url>https://jitpack.io</url>
	</repository>
</repositories>
<dependency>
	<groupId>com.github.ClubObsidian.DynamicGui</groupId>
	<artifactId>api</artifactId>
	<version>6.3.0</version>
</dependency>

Development

Eclipse

  1. Git clone the project
  2. Generate eclipse files with gradlew eclipse
  3. Import project
  4. Right click on the project
  5. Add gradle nature

Intellij

  1. Git clone the project
  2. Generate intellij files with gradlew idea
  3. Import project

Building

gradlew build