ChestUI+ is a fork and slight recode of mc-chestui, originally developed by, hazae41.
The primary aim of this project was to add additional features to the original project and redo a few elements to better suite my own personal needs from the project.
Documentation of features of the library can be found here.
repositories {
maven("https://jitpack.io")
}
dependencies {
implementation("com.github.DebitCardz:mc-chestui-plus:1.5.6")
}
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.DebitCardz</groupId>
<artifactId>mc-chestui-plus</artifactId>
<version>1.5.6</version>
</dependency>
Changes within the GUI are as following
- GUIs now support Dispenser/Hopper types.
- Shift clicking items from the players inventory into the GUI is now toggleable.
- You can now use the fillBorder method to outline your GUI with whatever item you desire, especially useful for repetitive placeholder items.
- Use the nextAvailableSlot method to set the next free slot in your GUI to the desired item, useful to set iterated items.
- Toggle flags on the GUI to enable or disable certain functionality.
- Easily attach events onto the GUI to listen for changes.
- Toggleable item glow.
- Modifiable skull owners.
- Modifiable customModelData.
- Switched from using Strings to using Kyori TextComponents for all text.
Thanks for checking out this project! And for further examples of what you can do you can checkout the documentation.
fun mainGUI(): GUI {
return gui(
// plugin instance.
plugin = this, // plugin instance
// inventory title.
title = Component.text("Rendered UI"),
// 1 row chest inventory.
type = GUIType.Chest(rows = 1)
) {
// render in first slot.
slot(1, 1) {
item = item(Material.STONE) {
name = Component.text("Rendered Stone")
}
}
}
}
fun open(player: Player) {
player.sendMessage(Component.text("Opening Main GUI...", NamedTextColor.GRAY))
player.openGUI(mainGUI())
}