Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details
EMI++
EMI++ is a Minecraft mod that acts as an extension to EMI, adding a variety of useful features, improvements, and customization options to enhance the EMI experience.
Features
EMI++ provides the following enhancements:
- Stack Grouping: Cleans up the EMI item list by grouping related items together (e.g., keeping all colored wools in
one expandable entry).
- Includes built-in groups for: Animal Armor, Banner Patterns, Copper Blocks, Infested Blocks, Minecarts, Pressure Plates, Spawn Eggs, and more.
- Creative Mode Tabs: Displays vanilla and modded Creative Mode tabs directly within the EMI interface for easy browsing.
- Item Tabs: Improved navigation with Creative Mode-style item tabs.
- Vanilla/Modern Theme: A unique visual theme for the sidebar, depending on the EMI theme.
Dependencies
Fabric:
- Minecraft
~1.20.1 - Fabric Loader
>=0.14.25 - Fabric Language Kotlin
>=1.13.3+kotlin.2.1.21 - EMI
Forge:
- Minecraft
1.20.1-1.21 - Kotlin for Forge
[4.10,) - EMI
Configuration
EMI++ offers extensive configuration options to tailor the interface to your needs. You can configure the mod via the in-game config screen or by editing the configuration file directly.
In-Game Config
- Open the EMI overlay.
- Click the Config (gear) icon.
- Scroll down to the EMI++ section.
- From here you can toggle features and access sub-menus (such as the "Manage" button for Creative Mode Tabs).
File Config
The configuration file is located at config/emixx/emixx-common.toml.
Creative Mode Tabs Settings
Controls the display and behavior of the creative tabs sidebar.
| Option | Type | Default | Description |
|---|---|---|---|
enableCreativeModeTabs |
Boolean | true |
Master switch to enable or disable the creative mode tab sidebar entirely. |
syncSelectedCreativeModeTab |
Boolean | true |
If enabled, clicking a tab in EMI++ will attempt to open that tab in the actual Creative Inventory screen (if open). |
disabledCreativeModeTabs |
List | ["minecraft:op_blocks"] |
A list of tabs that should be hidden from the EMI++ interface. |
Stack Groups Settings
Controls the item grouping behavior.
| Option | Type | Default | Description |
|---|---|---|---|
enableStackGroups |
Boolean | true |
Master switch to enable or disable stack grouping. If disabled, all items will appear individually in the list. |
Customizing Stack Groups
You can define new custom stack groups or modify existing ones using JSON files (via Resource Packs) or KubeJS.
Method 1: JSON Configuration (Resource Packs)
EMI++ loads stack groups from the stack_groups directory within the assets of the game (loaded via Resource Packs or
the config folder if configured).
To create a custom group, create a JSON file in assets/<namespace>/stack_groups/my_group.json.
JSON Structure:
| Field | Type | Description |
|---|---|---|
id |
String | A unique identifier (e.g., "mypack:currency"). |
type |
String | Usually "emixx:group" for standard item lists. |
enabled |
Boolean | Set to false to disable this group. |
contents |
List | A list of items or tags to include. |
exclusions |
List | (Optional) Items to remove from the group (useful when using broad tags). |
Example: Creating a shiny things group
{
"id": "mypack:shiny_things",
"type": "emixx:group",
"contents": [
"minecraft:diamond",
"minecraft:emerald",
"minecraft:gold_ingot",
"#c:glass_blocks"
],
"exclusions": [
"minecraft:purple_stained_glass"
]
}
Disabling Default Groups:
To disable a default stack group (e.g., spawn eggs), you must override its definition using a Resource Pack. Create a
file with the same path/ID as the default group and set "enabled": false.
Example: Disabling the spawn eggs group
File: assets/emixx/stack_groups/spawn_eggs.json
{
"enabled": false
}
Method 2: KubeJS
If you have KubeJS installed, you can register groups programmatically using the EmiPlusPlusEvents event group.
- Create a Script: Place a script in your
kubejs/client_scripts/folder. - Register the Event: Use
EmiPlusPlusEvents.registerGroups.
Example kubejs/client_scripts/emi_groups.js:
EmiPlusPlusEvents.registerGroups(event => {
// Create a group from a Tag
event.register("mypack:all_logs", "#minecraft:logs")
// Create a group for a specific item
event.register("mypack:command_blocks", "minecraft:command_block")
})



