Viewportl is a Minecraft Inventory GUI framework, designed to easily create reactive GUIs.
Based on the well-known Signal reactive system, popularized by web-frameworks like SolidJS, leptos-rs, etc.
It aims to provide a multi-platform GUI framework to quickly and easily integrate GUIs into any plugin/mod.
This project is very much still in early alpha!
The API may receive breaking changes at anytime without notice!
These are few of the things planned for the near future.
The list is not complete, and things may be added/removed along the way.
- Move utils and platform compatibility to a separate project
- Move everything not UI related to scafall
- Provide API Entrypoint to load the viewportl instance on top of scafall
-
Check if Java interop can be keptJava interop won't be a priority! Kotlin first - Create sample projects for a tutorial and testing
- Spigot single-platform example
- Sponge single-platform example
- Create multi-platform example (requires other platform implementations)
- Multi Platform Support
- Spigot (High priority)
- platform integration
- Scheduler
- InvUI Renderer
- InvUI Interaction Handler
- Use native event system
- Components
- Sponge
- platform integration
- InvUI Renderer
- Fix inventory title update
- InvUI Interaction Handler
- Components
- Spigot (High priority)
Examples can be found in the examples
directory of the common
implementation.
-Example Directory-
Both Kotlin and Java examples can be found there.
Note that Kotlin is recommended for the best Development Experience.