Skip to content
 
 

Repository files navigation

Logo

Stars GitHub issues License

InvUI

An Inventory GUI library for Minecraft Paper servers.

Highlighted features:

  • Supports most inventory types: Chest, Anvil, Brewer, Cartography, Crafter, Crafting, Furnace, Grindstone, Merchant, Smithing, Stonecutter
  • Different Gui types: Normal, Paged, Tab, Scroll
  • Gui-embeddable inventories with a powerful event system (e.g. only allow input for certain item types, customize maximum stack size per slot, etc.)
  • First-class MiniMessage support
  • Easy localization of UI items using the built-in ItemBuilder

Check out the InvUI Documentation to learn more.
If you have any questions, feel free to join the Discord or ask them in GitHub Discussions.

Version Compatibility

This fork of InvUI replaces the upstream's NMS-based menu implementation with PacketEvents so a single jar runs across supported Minecraft versions without per-version compilation.

Runtime requirements

  • Paper 1.21.4+
  • PacketEvents 2.12.0+

Upstream compatibility baseline

Minecraft version InvUI version
26.2 2.2.x
26.1.2 2.0.0 - 2.1.x
1.14.0 - 1.21.11 1.49

Maven

This fork is published to GitHub Packages. GitHub Packages requires authentication even for downloads, so consumers must supply a personal access token with the read:packages scope.

<repository>
    <id>github</id>
    <url>https://maven.pkg.github.com/AhmadNasser04/InvUI-PacketEvents</url>
</repository>

Add matching credentials to your ~/.m2/settings.xml:

<servers>
    <server>
        <id>github</id>
        <username>YOUR_GITHUB_USERNAME</username>
        <password>YOUR_GITHUB_TOKEN</password>
    </server>
</servers>
<dependency>
    <groupId>xyz.xenondevs.invui</groupId>
    <artifactId>invui</artifactId>
    <version>VERSION</version>
</dependency>

For Gradle (Kotlin DSL):

repositories {
    maven("https://maven.pkg.github.com/AhmadNasser04/InvUI-PacketEvents") {
        credentials {
            username = providers.gradleProperty("gpr.user").orNull ?: System.getenv("GITHUB_ACTOR")
            password = providers.gradleProperty("gpr.key").orNull ?: System.getenv("GITHUB_TOKEN")
        }
    }
}

dependencies {
    implementation("xyz.xenondevs.invui:invui:VERSION")
}

Check out the InvUI documentation for more information.

Examples

These examples are taken from the documentation linked above. To keep the code examples there short, button names are often omitted.

About

A paper library for creating custom inventory-based GUIs.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages