IF - Inventory Framework

This resource is for developers only, if you're a server owner then this isn't intended for you.

This framework requires Java 8 or higher.


IF

IF - Inventory Framework is a lightweight, but powerful GUI framework, intended to help you create, alter and manage GUIs more easy. Here are a few things why I think IF stands out from other similar frameworks:


Pane based: IF relies fully on the usage of panes which allow you to separate your GUI in smaller parts which can be changed individually, without altering any other parts of your GUI.

XML reading: IF can read XML files and create entire GUIs from those. No more long methods creating your GUIs, just load them from an XML file. (Don't worry, XML is fully optional, just ignore it if you don't want to use it.)

Extensible: You can create your own panes with their own features to behave exactly how you want them to, without having to redesign a new GUI framework yourself from the ground up.

No more event handlers: No need to create listeners, listen to events and use a dozen if-statements to determine which item was clicked. IF will handle this all for you, so you can focus on creating your plugin.

Rotations: Easily apply linear two dimensional rotations on your panes to rotate your panes in different ways.



IF has an in-depth wiki detailing the workings of the framework and how to use it. You can find the wiki here.

Usage

IF works standalone. You have to shade it into your plugin, rather than add it to the server.

If you're not using a build system, you can download the resource from the download link here and add it as a dependency in your IDE.

If you're using Maven, add the following as dependency to your pom.xml:

<dependency>
   <groupId>com.github.stefvanschie.inventoryframework</groupId>
   <artifactId>IF</artifactId>
   <version>0.4.0</version>
</dependency>

IF is in the Central Repository, so you don't have to specify a repository.

Then add this to shade IF into your plugin:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-shade-plugin</artifactId>
   <version>0.4.0</version>
   <configuration>
       <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
       <relocations>
           <relocation>
               <pattern>com.github.stefvanschie.inventoryframework</pattern>
               <shadedPattern>[YOUR PACKAGE].inventoryframework</shadedPattern>
           </relocation>
       </relocations>
   </configuration>
   <executions>
       <execution>
           <phase>package</phase>
           <goals>
               <goal>shade</goal>
           </goals>
       </execution>
   </executions>
</plugin>

Replace [YOUR PACKAGE] with your main package.

There are extensive tutorials and examples on the wiki, so I highly recommend checking it out to see how it works. If you're uncertain how XML works, there's also a small tutorial on that on the wiki as well.

Here's a small snippet on how to create a base GUI with one item in it.

//create a gui with 5 rows and the title My GUI
Gui gui = new Gui(plugin, 5, "My GUI");
//create a new pane occupying the entire gui
OutlinePane pane = new OutlinePane(0, 0, 9, 5);
ItemStack item = new ItemStack(Material.ICE);
//create an item which will send a message when clicked
GuiItem guiItem = new GuiItem(item, event -> event.getWhoClicked().sendMessage("You clicked on ice!"));
//add the item to the pane
pane.addItem(guiItem);
//add the pane to the item
gui.addPane(pane);

Suggestions and feedback are highly appreciated!

Links:

Download

File Name Status Version Downloads Date
V 0.5.10 R 1.14 10 16/09/2019
IF - Inventory Framework 1.20.2 Updating 1.20.2 Updating Updating
IF - Inventory Framework 1.20.1 Updating 1.20.1 Updating Updating
IF - Inventory Framework 1.20 Updating 1.20 Updating Updating
IF - Inventory Framework 1.19.2 Updating 1.19.2 Updating Updating
IF - Inventory Framework 1.19.1 Updating 1.19.1 Updating Updating
IF - Inventory Framework 1.19 Updating 1.19 Updating Updating
IF - Inventory Framework 1.18 Updating 1.18 Updating Updating
IF - Inventory Framework 1.17.1 Updating 1.17.1 Updating Updating
IF - Inventory Framework Forge Updating Forge Updating Updating
IF - Inventory Framework Fabric Updating Fabric Updating Updating
IF - Inventory Framework
IF - Inventory Framework

Dear youtuber!
Have you a channel youtube and want to bring your Video to quality visitors?
Do you want your video to appear on our website?
Do you want to become partner with us?
Just 3 steps to become our partner:
Step 1: Make video review for mods, addons, plugins, ... which you like
Step 2: Upload this video to youtube and our link to your video description
Step 3: Send the youtube video link via message to http://fb.com/9lifehack or leave a comment in the post. We will add your video in the our post, it will help you have more view.
JOIN to get more youtube view with us!!!!

Related Posts

Smarty Productivity Happiness

9LifeHack.com - make things smart