Kamina's Unified

Quick rating

Community listing page, reviews may not be monitored by the author.

Kamina's Unified

No reviews yet

Item unification mod that automatically maps duplicate items across mods without removing registry definitions

Mod Loaders
Minecraft
26.3

About

Description

Kamina's Unified is an item unification mod that maps duplicate items across different mods without removing items or altering registry definitions. It assigns a primary item for each group, treating all other entries as replaceable duplicates.

How Unification Works

Items are grouped into primary and duplicate entries based on priority: iron_ingots = minecraft:iron_ingot, mekanism:ingot_iron, thermal:iron_ingot In this example, minecraft:iron_ingot is the primary item. Ordering matters: the first available and registered item ID becomes the primary item. If the first ID is unavailable, the mod skips it and checks the next entry.

Scope of Application

  • Inventory and World Drops: Items in the world are converted upon spawning. Player inventories are checked upon logging in and picking up items. Item counts and component data are preserved. Container contents and equipped items are not automatically modified.
  • Recipes: Shaped and shapeless recipes in the server-side RecipeManager are rebuilt. Duplicate ingredients are replaced with the primary item, and duplicate recipe outputs are converted to the primary item while preserving stack sizes and components. Other recipe types utilize Ingredient hooks and supported output assembly pipelines. Custom machine recipe engines may require dedicated adapters.
  • Creative Mode: Duplicates are filtered out of standard creative tabs via BuildCreativeModeTabContentsEvent. The SEARCH tab remains unmodified.
  • JEI Integration: If Just Enough Items (JEI) is installed, a dedicated plugin hides duplicates from the item list and search results. JEI is optional.

Configuration

Main configuration file: config/kaminas_unified-local.toml
Ini, TOML
<button class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted" aria-label="Скачать код"></button><button class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted" aria-label="Скопировать код"></button>
[automatic]
scan = true
unification = true
tag_search = ["c:ores/*", "c:ingots/*", "c:dusts/*", "c:plates/*", "c:gears/*"]
mod_priority = ["minecraft", "mekanism", "thermal", "techreborn"]

[manual_unification]
groups = [
    "iron_ores = minecraft:iron_ore, mekanism:iron_ore",
    "iron_ingots = minecraft:iron_ingot, mekanism:ingot_iron, thermal:iron_ingot"
]
  • automatic.scan: Enables a single heuristic scan for similar items on server startup. Discovered suggestions are appended to the auto-generated data file.
  • automatic.unification: Enables the application of automatic groups (both tag-based and saved auto-groups). If disabled, manual groups remain active.
  • automatic.tag_search: Specifies item tags evaluated for automatic grouping. Trailing slashes match nested paths (e.g., c:ores/ matches c:ores/iron and c:ores/copper).
  • automatic.mod_priority: Sets namespace priority when assigning the primary item in automatically generated groups.
  • manual_unification.groups: Explicit list of groups formatted as "name = primary_ID, duplicate_ID, duplicate_ID". Manual groups take precedence over automatic groups.
Data file: config/kaminas-unified-auto.toml Stores automatically generated suggestions and groups created by the scanner. The first listed ID acts as the primary item.

Commands

  • /dkid or /dkid hand – Displays the ID and tags of the item in the main hand. Click to copy.
  • /dkid inventory – Copies the IDs of all occupied slots in the player inventory.
  • /dkid hotbar – Copies the IDs of all items in the hotbar.
  • /dkid rescan – Triggers an automatic rescan (requires OP level 2).
  • /dkid help – Displays command help.
Running /reload or changing configurations reloads group definitions and updates mappings without triggering a full rescan. Use /dkid rescan to scan for new entries.

Community & Support

For bug reports, questions, or general discussion, join our team's Discord server: https://discord.gg/3pKHUrmXF