Mineuniverse
Log in Register
Plugins

IF - Inventory Framework

An inventory framework for managing GUIs
by Stefvanschie
Download Claim this project
10,290 downloads
0 likes
Updated Jun 30, 2026
0 hypes
Developer Tools
Languages: Nederlands (Dutch)
 
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.12.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>3.5.2</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
ChestGui gui = new ChestGui(5, "My GUI");
//create a new pane occupying the entire gui
OutlinePane pane = new OutlinePane(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, Slot.fromXY(0, 0));

Suggestions and feedback are highly appreciated!

Links:

V 0.12.0
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.20.2, 1.21.8, 1.20, 1.20.4, 1.21.4, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.21.7, 1.17, 1.21.1, 1.21.6, 1.19.4, 1.18.2, 1.21.9, 1.21.10
Release 2026-03-27 Get
V 0.11.6
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.19.3, 1.20.2, 1.21.8, 1.18.1, 1.20, 1.20.4, 1.21.4, 1.19.2, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.21.7, 1.17, 1.21.1, 1.18, 1.21.6, 1.19.4
Release 2025-12-19 Get
V 0.11.5
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.19.3, 1.20.2, 1.21.8, 1.18.1, 1.20, 1.20.4, 1.21.4, 1.19.2, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.21.7, 1.17, 1.21.1, 1.18, 1.21.6, 1.19.4
Release 2025-10-18 Get
V 0.11.4
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.19.3, 1.20.2, 1.21.8, 1.18.1, 1.20, 1.20.4, 1.21.4, 1.19.2, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.21.7, 1.17, 1.21.1, 1.18, 1.21.6, 1.19.4
Release 2025-10-15 Get
V 0.11.3
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.19.3, 1.20.2, 1.21.8, 1.18.1, 1.20, 1.20.4, 1.21.4, 1.19.2, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.21.7, 1.17, 1.21.1, 1.18, 1.21.6, 1.19.4
Release 2025-08-06 Get
V 0.11.2
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.21.4, 1.19.2, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.17, 1.21.1, 1.18, 1.21.6, 1.19.4, 1.19, 1.18.2
Release 2025-07-09 Get
V 0.11.1
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.21.4, 1.19.2, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.17, 1.21.1, 1.18, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2025-06-21 Get
V 0.11.0
MC 1.20.6, 1.21.2, 1.21, 1.21.3, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.21.4, 1.19.2, 1.20.5, 1.21.5, 1.20.1, 1.20.3, 1.17, 1.21.1, 1.18, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2025-05-20 Get
V 0.10.19
MC 1.20.6, 1.21, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.19.2, 1.20.5, 1.20.1, 1.20.3, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2024-12-09 Get
V 0.10.18
MC 1.20.6, 1.21, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.19.2, 1.20.5, 1.20.1, 1.20.3, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2024-11-04 Get
V 0.10.17
MC 1.20.6, 1.21, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.19.2, 1.20.5, 1.20.1, 1.20.3, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2024-08-17 Get
V 0.10.16
MC 1.20.6, 1.21, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.19.2, 1.20.5, 1.20.1, 1.20.3, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2024-07-26 Get
V 0.10.15
MC 1.20.6, 1.21, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.19.2, 1.20.5, 1.20.1, 1.20.3, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2024-06-30 Get
V 0.10.14
MC 1.20.6, 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.20.4, 1.19.2, 1.20.5, 1.20.1, 1.20.3, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2024-05-16 Get
V 0.10.13
MC 1.16, 1.19.3, 1.20.2, 1.18.1, 1.20, 1.19.2, 1.20.1, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2024-01-05 Get
V 0.10.12
MC 1.16, 1.19.3, 1.18.1, 1.20, 1.19.2, 1.20.1, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2023-10-24 Get
V 0.10.11
MC 1.16, 1.19.3, 1.18.1, 1.20, 1.19.2, 1.20.1, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2023-06-24 Get
V 0.10.10
MC 1.16, 1.19.3, 1.18.1, 1.20, 1.19.2, 1.17, 1.14, 1.18, 1.15, 1.19.4, 1.19, 1.18.2, 1.19.1
Release 2023-06-09 Get
V 0.10.9
MC 1.16, 1.19.3, 1.18.1, 1.19.2, 1.17, 1.14, 1.18, 1.15, 1.19, 1.18.2, 1.19.1
Release 2023-03-27 Get
V 0.10.8
MC 1.16, 1.19.3, 1.18.1, 1.19.2, 1.17, 1.14, 1.18, 1.15, 1.19, 1.18.2, 1.19.1
Release 2022-12-19 Get
V 0.10.7
MC 1.16, 1.18.1, 1.17, 1.14, 1.18, 1.15, 1.19, 1.18.2, 1.19.1
Release 2022-08-11 Get
V 0.10.6
MC 1.16, 1.18.1, 1.17, 1.14, 1.18, 1.15, 1.19, 1.18.2
Release 2022-06-13 Get
V 0.10.5
MC 1.16, 1.18.1, 1.17, 1.14, 1.18, 1.15, 1.18.2
Release 2022-03-02 Get
V 0.10.4
MC 1.16, 1.18.1, 1.17, 1.14, 1.18, 1.15
Release 2022-01-03 Get
V 0.10.3
MC 1.16, 1.17, 1.14, 1.15
Release 2021-09-16 Get
V 0.10.2
MC 1.16, 1.17, 1.14, 1.15
Release 2021-09-04 Get
V 0.10.1
MC 1.16, 1.17, 1.14, 1.15
Release 2021-08-17 Get
V 0.10.0
MC 1.16, 1.17, 1.14, 1.15
Release 2021-07-09 Get
V 0.9.9
MC 1.16, 1.17, 1.14, 1.15
Release 2021-06-22 Get
V 0.9.8
MC 1.16, 1.14, 1.15
Release 2021-06-06 Get
V 0.9.7
MC 1.16, 1.14, 1.15
Release 2021-05-25 Get
V 0.9.6
MC 1.16, 1.14, 1.15
Release 2021-05-19 Get
V 0.9.5
MC 1.16, 1.14, 1.15
Release 2021-03-09 Get
V 0.9.4
MC 1.16, 1.14, 1.15
Release 2021-02-02 Get
V 0.9.3
MC 1.16, 1.14, 1.15
Release 2021-01-31 Get
V 0.9.2
MC 1.16, 1.14, 1.15
Release 2021-01-21 Get
V 0.9.1
MC 1.16, 1.14, 1.15
Release 2020-12-26 Get
V 0.9.0
MC 1.16, 1.14, 1.15
Release 2020-12-12 Get
V 0.8.1
MC 1.16, 1.14, 1.15
Release 2020-12-01 Get
V 0.8.0
MC 1.16, 1.14, 1.15
Release 2020-11-17 Get
V 0.7.2
MC 1.16, 1.14, 1.15
Release 2020-08-18 Get
V 0.7.1
MC 1.16, 1.14, 1.15
Release 2020-08-14 Get
V 0.7.0
MC 1.16, 1.14, 1.15
Release 2020-08-10 Get
V 0.6.2
MC 1.16, 1.14, 1.15
Release 2020-08-03 Get
V 0.6.1
MC 1.16, 1.14, 1.15
Release 2020-06-30 Get
V 0.6.0
MC 1.14, 1.15
Release 2020-06-02 Get
V 0.5.19
MC 1.14, 1.13, 1.15
Release 2020-03-15 Get
V 0.5.18
MC 1.14, 1.13, 1.15
Release 2020-01-11 Get
V 0.5.17
MC 1.14, 1.13, 1.15
Release 2020-01-01 Get
V 0.5.16
MC 1.14, 1.13, 1.15
Release 2019-12-30 Get

More from Stefvanschie

Building Game
162,588

You Might Also Like

WorldGuard Custom Flags
WorldGuard Custom Flags
97,851
HoloAPI
Advanced and powerful holographic displays
93,959
Minequery
Minequery
91,099
SQLibrary
SQLibrary aims to streamline driver wrappers in Java for every database engine
85,675
WolfyUtilities
Utils and APIs: Config, Language and Inventory API, Protection Utils: WorldGuard, LWC, PlotSquared
84,728
DisguiseTester
Experiment with disguises!
9,677