Skip to content

Repository files navigation

Kunectron

Kunectron is a lightweight container GUI library for Minecraft built on PacketEvents. It models the upper menu slots independently and sends their state directly to the client without owning or synchronizing the player's inventory.

Gradle

Kunectron releases are available from the Azisaba Maven repository.

repositories {
    maven("https://repo.azisaba.net/repository/maven-snapshots/")
    maven("https://repo.codemc.io/repository/maven-releases/")
}

dependencies {
    implementation("net.azisaba.kunectron:kunectron:0.1.0-RC.1-SNAPSHOT")
    compileOnly("com.github.retrooper:packetevents-api:2.13.0")
}

PacketEvents must be installed and initialized by the platform before opening a Kunectron menu.

Usage

Register the Kunectron listener once during startup, then create and open menus for PacketEvents users.

Kunectron kunectron = Kunectron.provided();
PacketEvents.getAPI().getEventManager().registerListener(kunectron);

WrapperChestMenu menu = WrapperChestMenu.threeRows(
        kunectron.getContainerId(user),
        Component.text("Server selector"),
        user
);

menu.setSlot(13, new MenuSlot(menu.getContainer(), 13) {
    @Override
    public void click(
            User user,
            WindowClickType clickType,
            MenuClickButton clickButton
    ) {
        if (clickType == WindowClickType.PICKUP
                && clickButton == MenuClickButton.LEFT) {
            this.setItemStack(ItemStack.EMPTY);
        }
    }
});

menu.setItemStack(13, ItemStack.builder()
        .type(ItemTypes.COMPASS)
        .build());
menu.open();

About

A lightweight packet-level container GUI library for Minecraft, built on PacketEvents.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages