Skip to content

Declarative GUI focused library for PaperMC. Made for personal use but open source enjoy! :)

License

Notifications You must be signed in to change notification settings

Matt-MX/KtPaperGui

Repository files navigation

Declarative guis for Paper!

The KtGUI library provides a plethora of utilities to help speed up the development of your PaperMC plugins.

|   Wiki   |   Downloads   |   Help   |


GUI DSL

With Kotlin's amazing DSL, you can create guis in a declarative style. Simply stating exactly what you want, where you want it. With KtGUI, you can speed up development of guis tenfold.

Signals

Recently we introduced Signals into the library. They allow you to dynamically update components with absolute ease. Simply change your variables, and the components that mention it will update for your users. Making dynamic GUIs has never been easier.

Command DSL

KtGUI provides two types of command DSL: Declarative and Simple. Simple gives you complete control and responsibility over how the command executes, and arguments are processed. Meanwhile Declarative commands use Delegated properties to allow for easy argument handling - simply state your arguments and their datatype, and KtGUI will do the rest under the hood.

Events DSL

We also provide a way to easily create handlers for Bukkit Events, so you don't always need to make a whole new class just for your EventListeners.

GUI Hooks

We also provide some events to allow you to change any GUI just before it is opened, essentially hooking into a gui and adding or modifying whatever you want.

This can prove very useful for making extensions to other plugins.

Scoreboards

Making scoreboards has never been easier with our lightweight scoreboard DSL. With the ability to define and animate your personalized scoreboards however you like.