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.
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.
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();