Skip to content

A Minecraft Inventory GUI framework, designed to easily create reactive GUIs. Based on the well known Signal Reactivity System.

License

Notifications You must be signed in to change notification settings

WolfyScript/viewportl

Repository files navigation

Viewportl

github_commit

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.

Still in WIP (Alpha)

This project is very much still in early alpha!
The API may receive breaking changes at anytime without notice!

Planned (TODO)

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 kept Java 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

Current API Examples

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.

About

A Minecraft Inventory GUI framework, designed to easily create reactive GUIs. Based on the well known Signal Reactivity System.

Topics

Resources

License

Stars

Watchers

Forks

Languages