Skip to content

bed-dev/stomui

Repository files navigation

StomUI

A lightweight, declarative menu library for Minestom servers with automatic Bedrock (Floodgate) support.

Features

  • Unified API: Write one menu, support both Java (Inventory) and Bedrock (Forms).
  • Kotlin DSL: Clean, readable syntax.
  • High Performance: Optimized for Minestom.
  • No Heavy Dependencies: Minimal footprint.

Installation

Add the JitPack repository and dependency to your build.gradle.kts:

repositories {
    mavenCentral()
    maven("https://jitpack.io")
}

dependencies {
    implementation("com.github.bed-dev:stomui:Tag")
}

Documentation

Full documentation is available in the docs/ directory.

Usage

Initialize the library in your server startup:

import codes.bed.minestom.menus.StomUI

fun main() {
    val server = MinecraftServer.init()
    
    // Initialize StomUI
    StomUI.init(MinecraftServer.getGlobalEventHandler())
    
    // ...
}

Creating a simple menu:

val menu = menu {
    title("My First Menu")
    size(InventoryType.CHEST_3_ROW)

    button {
        slots(13)
        item(Material.DIAMOND) {
            customName(Component.text("Click Me!"))
        }
        action {
            player.sendMessage("You clicked the diamond!")
            player.closeInventory()
        }
    }
}

// Open for player
menu.open(player)

For more docs, look into the docs folder

About

A simple lightweight, declarative menu library for Minestom servers with automatic Bedrock support.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages