Skip to content

LegendOnline/InventoryAPI

Repository files navigation

InventoryAPI 1.3

logo

This inventory library is used to easily create/modify Minecraft inventories.
Add events to specific items, generate gui inventories automatically or create big complex menu structures!
The design is inspired by the Java Swing API and is as easy to use.
Have a look at our Wiki to gain a better understand of how this API will change your thinking about Minecraft inventories!

Last CI build status: Build Status

How to install

To use this library, integrate it into your Java build path and compile it with your plugin.
This library is not a standalone plugin!
There are two ways to implement this library into your project:

Maven

 <repository>
   <id>LegendOnline</id>
   <url>https://raw.githubusercontent.com/LegendOnline/InventoryAPI/mvn-repo/</url>
 </repository>

 <dependency>
    <groupId>com.minecraftlegend</groupId>
    <artifactId>inventoryapi</artifactId>
    <version>1.3-SNAPSHOT</version>
    <scope>compile</scope>
 </dependency>

Direct implementation

Either you can download the source code from here and copy it into a separate package of your project,
or download a compiled version from here (freshly compiled from our ci Server) and integrate the library as a dependency.

How to use

Basically, if you know Java Swing, you know this InventoryAPI
But please take a look at our Wiki Here are some snapshots of inventories created with our API:

Changelog

###Version 1.3

  • added routes and URI representation of GUIs
  • minor bugfixes

Version 1.2:

  • many many bugfixes
  • some api improvements (additional methods / tweaks / better performance)
  • fixed critical issue that caused players to interact with other players guis
  • fixed critical mem leak where listeners were not removed after gui close
  • fixed critical item dublication bugs in the GUInput element

Version 1.1:

  • added TextInput support trough Anvil gui's
  • added events to handle text input
  • added GUInput element to support item inputs
  • removed lots of bugs
  • implemented more exceptions
  • added some JavaDocs
  • added ItemBuilder class for easy item creation
  • added various util classes regarding nms, reflection and exceptions

TODO

  • implement Anvil GUIs (as text input)
  • better error handling
  • JavaDocs
  • ADD MORE FUNCTIONALITY!!!

Contribute

Note: this project is currently under active development by our team!
We are pushing updates here, if we successfully updated and tested our own private repository
If we alter the code in our main repo we will share the updates here.
If you want to contribute to this awesome project please use GitHub's Pull request feature.
Approved code will be merged back into our main repo, so you can see your code on our Network! Nice!
If you want to contribute but you don't know what to do, we would be pleased if you work on tasks either from the TODO list or from the Issues Page.
If you are not that much into, digging into other peoples code feel free to open an issue and tell us your awesome feature ideas.

About

The official Legend Online Minecraft Inventory API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages