
Oggvik's Inventory Freeze
Let's you "freeze" configurable inventory slots globally for all players
Oggvik's Inventory Freeze
A simple Minecraft Forge mod written in Java that lets you "freeze" configurable inventory slots globally for all players. It's main purpose is to be used on a server (e.g. an RP server with roleplaying events where you'd want to limit the number of inventory slots for the sake of added immersion) or as part of modpacks (e.g. ultra hardcore survival ones).
The mod provides a single command to enable globally "freezing" specific inventory slots using the command:
/inventory-lock [true/false]
DESIGN
- 🪷 Very clean and simple code written in Java
- 🔒 Server-side watchdog to prevent item duping exploits & item deletion
- 🚀 Could easily be ported to newer Minecraft/Forge versions
- 😎 Custom item pickup logic to prevent picking up items into "frozen"/"locked" inventory slots
- 🎨 GUI effects (frontend) code isolated from the rest of the program's internal logic (backend)
- 🩷 Tiny size (currently a mere
~330 KB) - 👋 Tested to work in both survival and on multiplayer with many people / on a server
FUNCTIONALITY
- 🧊 "Freeze" parts of the players' inventories while
/inventory-lock trueis set. - ❌ When
/inventory-lockistrueplayers cannot put in, take out, or delete items from their own "frozen"/locked inventory slots. - 👗 Only freezes the inventory slots configured. Aka doesn't affect inventory slots such as chests, other mods (e.g. backpacks), armor, capes, and other custom inventory slots related to cosmetics.
- 🔢 The inventory slots to be frozen are to be easily configurable by server admins.
- 🪽 Automatically unfreezes the inventories of players when they switch to creative mode, then re-freezes them again if they exit creative mode while the
/inventory-lockistrue. - 🖼️ The slots that are frozen will be indicated with a gray transparent square overlay (indicator appearance might be altered in future versions).
- [WIP]
🧑🤝🧑 Optionally exclude specific players from the/inventory-lock. For example whoever is hosting an RP event on a server or playing an actor could be excluded from the/inventory-lockfor the duration of that time.
COMPATIBLE VERSIONS
Minecraft: 1.16.5
Mod Launcher: Forge (tested on 36.2.42)
BUILDING THE PROJECT
To build the project for the first time you'll need to go to its root directory and run:
./gradlew build --refresh-dependencies
Though on subsequent compiles it is enough to simply run ./gradlew build
Compilation has been tested to work with Java 17 OpenJDK but some versions above that and any version lower until at least Java 8 should also work.
The above will generate an inventoryfreeeze-X.X.X.jar in the ./build/libs directory, which you can then add to a Minecraft 1.16.5 Forge profile to play.
Also, if you're using IntelliJ IDEA (which I'd recommend), you can also compile Forge Gradle Runs by executing:
./gradlew genIntellijRuns
EXAMPLE SCREENSHOTS
Example 1 – With custom mod config
Example 1 shows locked inventory slots according to the custom server config below:

Example 2 – With a modpack
Here is an example of the inventory freeze feature in action as part of a modpack:

Credits: "Dawn of Humanity" AoT-inspired modpack
Example 3 – With a modpack + resource pack
Same as example 2 but showing the overlay indicator effect also working when a resource pack is applied.
Notice the locked inventory slots appear darker than the unlocked hotbar slots, whereas in this resource pack they would normally all have the same color.
