Tags
Creators
Details
Licensed MIT
Published 6 months ago
Updated 6 days ago
All versions
2.3.0+26.3
Release
SlotKit 2.3.0+26.36 days ago 134
Compatibility
Minecraft: Java Edition
26.3
Platform
Fabric
Supported environments
Client-side
Client and server
Required content
Any compatible version
Any compatible version
Changes
2.3.0
Added
SlotOperations.PutVeto, registered withvetoPut: a veto handed the stack about to land, so a rule can refuse a put by item ("only into a container that already holds it"). Every put seam asks it: click place, shift-click in, drag-fill, number-key and offhand swaps (both slots), world pickup, and clicks a mod sends underas(...).SlotOperations.allowsPut(ref, operation, incoming):allows, then every put veto with the incoming stack.SlotGroups.holds(ref, incoming): whether any slot in that slot's group already holds the same item, on the open menu or, with none, in the player's inventory.ItemContents: a container showing one item's contents (a shulker box opened from the inventory) says where that item is, andItemSources.pathOfthen names its slots as indexes inside the item.ItemPath.child(index)andItemPath.within(outer): the path one level in, and whether a path is an item or anything inside it.
Fixed
MenuSwitch.backbrings a trading screen back with its trades, the trader's xp and level, instead of an empty trade list.- A mount's inventory (a horse, donkey, mule, llama, camel or nautilus) can be set aside and brought back by
MenuSwitch, instead of closing on the first switch. - A click sent just before the server switched menus with
MenuSwitchlanded nowhere; on one of the player's inventory slots it now lands on the same slot in the new menu. - The world pickup slot operation's name read "Inventory insert"; it's "Item pickup" now.
- A menu set aside by
MenuSwitchnow closes when the player dies, respawns, leaves the End or disconnects, so a crafting grid behind it hands its items back. - Breaking a block emptied its
blockScopedstorage only onto the ground; a menu still open on it could hand every item out a second time. - Restoring from a grave overwrote whatever the player had put in the slot since; the grave's stack now goes elsewhere and the slot's item stays.
- A grave took every stack from a player attachment; it now leaves
KEEPstacks with the player and destroysDESTROYones, as a death without a grave does. - An
EphemeralStoragegroup in a custom menu lost its items when the menu closed; they go back to the player, as a crafting grid's do. - A created slot group declared as
SHULKER_STORAGEtook a shulker box by click, number key, shift-click or drag; like vanilla's shulker box slots, it now refuses anything that can't go inside a container item. - A gate on a player inventory slot didn't hold against a number-key or offhand swap, the drop key, or an item picked up into the inventory.
- The F key's offhand swap with no screen open didn't hand a put veto the real incoming stack, so a plain swap could put through an item a veto would have refused.
- A
LiveItemstayed live after a hopper (or anyremoveItem) took its whole stack, so a menu open on that box kept taking items that went nowhere.
2.2.1
Fixed
- A slot hidden only by the client's reveal check now keeps a write the server syncs to it, instead of dropping it. This fixed pocket items that stayed invisible on the client after a pickup, Restock, or a cycle.
2.2.0
Added
ItemSources.pathOf(player, slot)names the item in an inventory slot, an ender chest slot, or a carried attachment's slot, with the same answer on the client and the server, except an ender chest's own menu on the client. Concepts.playerAttached(...).carried()marks a player attachment as carried,ItemScope.carried(true)walks it, andItemSources.containerOf(player, path)returns its contents.ItemStateis a value that rides on an item, saved with it or not as the mod chooses. Concepts.SlotLooksties an item state or a client-side check to an animation, another stack drawn in the item's place, or a mark drawn under or over the item. Recipe.SlotDoubleClickgives a plain left double-click on a slot to a mod's action, with the lifted stack drawn back in its slot until the second click. Recipe.
Changed
- Every binding of a player, block, or entity attachment (
playerAttached,playerAttachedVisible,blockScoped,entityAttached) shares one live list of stacks per owner, so a stack keeps its identity across the menu's slots, shift-clicks, andItemSources. - Requires MenuKit 7.5.0 or newer, for the slot decorations
SlotLooksdraws through.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:xQUBXV8I:8kWogQea"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:xQUBXV8I:8kWogQea"
}

