EMI++ Forked
A fork of a mod that adds many small features to EMI!
EMI++ Forked
EMI++
<a href='https://files.minecraftforge.net'><img alt="forge" height="56" src="https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/supported/forge_vector.svg"></a> <a href='https://fabricmc.net'><img alt="fabric" height="56" src="https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/supported/fabric_vector.svg"></a>
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:
* Vanilla/Modern Theme: 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. * Vanilla/Modern Theme: Displays vanilla and modded Creative Mode tabs directly within the EMI interface for easy browsing. * Vanilla/Modern Theme: 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
1. Open the EMI overlay. 2. Click the EMI++ (gear) icon. 3. Scroll down to the EMI++ section. 4. 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 KubeJS (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
```json { "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`
```json { "enabled": false }
```
Method 2: KubeJS
If you have KubeJS installed, you can register groups programmatically using the `EmiPlusPlusEvents` event group.
1. Register the Event: Place a script in your `kubejs/client_scripts/` folder. 2. Register the Event: Use `EmiPlusPlusEvents.registerGroups`.
Example `kubejs/client_scripts/emi_groups.js`:
```javascript 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") }) ```