promotional bannermobile promotional banner

Banana Inventory API

An easy to use API for developers to create complex dynamic GUIs

BananaInventoryAPI

What this is:
This API provides a basic framework for creating complex inventory menus and more. It is very easy to use and supports all the versions back to 1.5.2. The API itself does not provide any functionality by itself.

How this works:
The API itself is split up into several components. It includes the custom inventory, inventory components, content panes, and action items.

The Custom Inventory:
This is the top level object you will use to manage each inventory. It consists of inventory components, which include buttons and panels. It also has handy methods that can auto-sort the panels and provide detailed information about an inventory click event.

The Inventory Components:
Inventory components are divided into two categories: button components and inventory panels. Buttons contain a single button item, and take up exactly one slot. Inventory panels are re-sizable containers that hold content panes. They do not contain any actual items themselves.

Content Panes:
Content panes are also separated into two categories: action item panes and storage panes. Both are very similar, but action item panes hold action items, where as storage panes hold actual items. Content panes are hide-able and contain items. They automatically resize themselves to fit within the inventory panel they are placed in. Content panes can also have custom sorters, to organize the items in a particular fashion.

Action Items:
Action items and button items are items that hold a list of actions, an action intention, and an actual item. You can use these to execute methods based on what their actions are. They are also used in turning pages of a paged object.

Sounds cool. So how do I use this?
If you are a developer, download the jar and import it as an external jar into your project. If you are a server owner, install this like a regular plugin, but only if you have a plugin that depends on this.

For those of you who want more:
BananaInventoryAPI is built around interfaces and abstract classes, so it's perfectly possible and quite easy to create your own custom inventories, panels, panes, and sorters. Each element has its own interface/abstract class you can inherit/extend and you can play around with the different options it provides.

Bugs? Issues? Changes you want? PM me here and I'll see what I can do.

 

Some plugins that use this API:

 

The Banana Inventory API Team

profile avatar
  • 6
    Projects
  • 9.2K
    Downloads

More from notbananapuncher714View all

  • BananaItemMail project image

    BananaItemMail

    • 644
    • Bukkit Plugins

    An item mailing plugin with user friendly GUIs and 1 command

    • 644
    • July 11, 2017
    • Bukkit Plugins
    • +3
  • Grappling Hooks Plus project image

    Grappling Hooks Plus

    • 1.4K
    • Bukkit Plugins

    Featuring grappling hooks(fishing rods) that can launch you, pull mobs, and pull items! Includes a totally awesome customizable config!

    • 1.4K
    • February 25, 2017
    • Bukkit Plugins
    • +2
  • Snowball Grenades project image

    Snowball Grenades

    • 903
    • Bukkit Plugins

    A simple lightweight plugin that makes all snowballs bouncy and explosive!

    • 903
    • February 14, 2017
    • Bukkit Plugins
    • +3
  • Homing Fireballs project image

    Homing Fireballs

    • 863
    • Bukkit Plugins

    Have you ever wanted to shoot and (almost) never miss? Well, now you can!

    • 863
    • February 13, 2017
    • Bukkit Plugins
    • +3
  • BananaItemMail project image

    BananaItemMail

    • 644
    • Bukkit Plugins

    An item mailing plugin with user friendly GUIs and 1 command

    • 644
    • July 11, 2017
    • Bukkit Plugins
    • +3
  • Grappling Hooks Plus project image

    Grappling Hooks Plus

    • 1.4K
    • Bukkit Plugins

    Featuring grappling hooks(fishing rods) that can launch you, pull mobs, and pull items! Includes a totally awesome customizable config!

    • 1.4K
    • February 25, 2017
    • Bukkit Plugins
    • +2
  • Snowball Grenades project image

    Snowball Grenades

    • 903
    • Bukkit Plugins

    A simple lightweight plugin that makes all snowballs bouncy and explosive!

    • 903
    • February 14, 2017
    • Bukkit Plugins
    • +3
  • Homing Fireballs project image

    Homing Fireballs

    • 863
    • Bukkit Plugins

    Have you ever wanted to shoot and (almost) never miss? Well, now you can!

    • 863
    • February 13, 2017
    • Bukkit Plugins
    • +3