A powerful menu api for bukkit
- Lightweight
- Flexible
- Support a seamless inventory open [For 1.8 and 1.12 versions]
- The ability to create an animated menu
<repositories>
<repository>
<id>zenegix-repo</id>
<url>https://repo.zenegix.ru/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<!-- Menu api -->
<dependency>
<groupId>ru.zenegix.menu</groupId>
<artifactId>core</artifactId>
<version>1.5-SNAPSHOT</version>
</dependency>
<!-- Seamless opening. Optional -->
<dependency>
<groupId>ru.zenegix.menu</groupId>
<artifactId>seamless-opening</artifactId>
<version>1.5-SNAPSHOT</version>
</dependency>
</dependencies>
repositories {
maven {
url 'https://repo.zenegix.ru/content/groups/public/'
}
}
dependencies {
compile 'ru.zenegix.menu:core:1.5-SNAPSHOT'
compile 'ru.zenegix.menu:seamless-opening:1.5-SNAPSHOT' // Optional
}
For first step, you need to create a MenuManager:
MenuManager menuManager = new MenuManager(plugin);
Or, if you want to use custom open processor (for example SeamlessMenuOpenProcessor):
MenuManager menuManager = new MenuManager(plugin, SeamlessMenuOpenProcessorFactory.get(plugin))
On second step, you need to create a menu window:
MenuWindow menuWindow = this.menuManager.createWindowBuilder()
.setTitle(session -> "Hello, " + session.getOwner().getName())
.setSize(18)
.addItems(StaticMenuItem.builder()
.setMenuIcon(new SimpleMenuIcon(0, new ItemStack(Material.STONE)))
.build()
).build();
On threed step, create a menu template:
MenuTemplate template = new SingleMenuTemplate(menuWindow);
Now, you can open your menu template for player:
menuManager.open(player, template);