PopupMenuAPI is a tool for Bukkit plugin developers to enable them to easily create and manage client-side GUI menus for vanilla Minecraft. This utilises the custom inventory system in Bukkit to provide clickable icons in an inventory with detailed mouse-over text and custom actions performed on click.

Please note: This is not a standalone plugin, it is a library. It will not do anything by itself. It is designed to be used by other plugins to create GUI menu systems. You must know how to write Bukkit Plugins to use this plugin

If you want a plugin that allows you to build menus on your own server without any coding required, you may want to look at: CreateYourOwnMenus


  • Straightforward to use and understand
  • Provided detailed javadocs in the jar
  • Maven compatible - Can be shaded in or even taken as a soft-dependency
  • Source available on GitHub: https://github.com/XHawk87/PopupMenuAPI
  • Example plugin provided on GitHub: https://github.com/XHawk87/PopupMenuAPIExample
  • Create, destroy and clone menus from the PopupMenuAPI class
  • Add and remove MenuItem(s) directly on the PopupMenu object
  • Modify the menu behaviour on closing a menu for each PopupMenu object
  • Create custom MenuItem(s) with user-defined titles, descriptions, icons and onClick actions

Ideas for further development

  • Added support for different click-types
  • Perform actions on ItemStacks dropped into a menu

For Server Owners

If you have been directed here from another plugin that uses PopupMenuAPI as a library, simply download the latest jar file into your plugins folder, and follow the instructions given on the referring plugin's page.

If you are looking for a way to create menus yourself without coding, you may be interested in: CreateYourOwnMenus

For Developers

The choice is yours. Download the jar and add it as a provided dependency, download the sources from GitHub, or use Maven to shade it in.

Use PopupMenuAPI.createMenu to get started with your first menu. See the example plugin for details: https://github.com/XHawk87/PopupMenuAPIExample.

Please note: The example was thrown together quickly to test the PopupMenuAPI and demonstrate how to use it. This is not the only way to use it, and I do not hold it up as an example of good coding. Please do not copy the example and make modifications, you should write your own code using this as a point of reference only. You will learn more by designing your own code than copying an example.


This plugin uses Java 7

If you get the followed error on starting up the server with this plugin installed "Unsupported major.minor version 51.0". This means you are using an out of date version of Java. If you don't know how to upgrade, please contact your server hosting provider and ask them for help in upgrading to Java 7, or contact Oracle customer support. Mac OS X users require JDK 7 instead of JRE 7.


If you'd like to contribute towards the continued development, support and maintenance of this project, please consider joining me on Patreon, and making a one-time or recurring pledge.


If you need help you can leave a comment below and I will get back to you as soon as I can. You can also join my IRC chatroom using the following link. Please note, I am not always at my keyboard! http://webchat.esper.net/?channels=XHawk87&prompt=1


  • To post a comment, please or register a new account.
Posts Quoted:
Clear All Quotes

About This Project



Recent Files