Skip to content

Architecture & Mixins Breakdown (MC 26.1.2)

This document details the internal package layout, class hierarchy, Mixin target breakdown, shadow members, and injection points for Item Clumps on Minecraft 26.1.2.


🌳 Package Hierarchy & Class Diagram

net.instantgratification.item_clumps

├── ItemClumpsFabric.java                   [Main Entrypoint / GameRules Registration]

├── config/
│   ├── ItemClumpsConfig.java               [Configuration POJO / Gson Persistence]
│   ├── ModMenuIntegration.java             [ModMenuApi Provider / Cloth Config Factory]
│   └── ClothConfigScreenHelper.java        [Cloth Config v2 Screen Factory]

└── mixin/
    ├── HopperBlockEntityMixin.java         [Hopper Drip Extraction Mixin]
    └── ItemEntityMixin.java                [Mega-Stack Aggregation & Smart Pickup Mixin]

🛠️ Complete Mixin Targets & Injection Breakdown

1. ItemEntityMixin.java

  • Target Class: net.minecraft.world.entity.item.ItemEntity
  • Superclass Extension: extends net.minecraft.world.entity.Entity
Member / MethodAnnotationInjection PointPurpose
getItem()@ShadowN/AAccesses the item stack.
setItem(ItemStack)@ShadowN/AMutates the item stack and updates tracker data.
target@ShadowN/AUUID of the targeting player.
pickupDelay@ShadowN/APickup cooldown timer ticks.
age@ShadowN/ADespawn age timer ticks ($0\text{ to }6000$).
tick@Inject@At("HEAD")Refreshes custom name tag visibility dynamically.
setItem@Inject@At("TAIL")Triggers custom name tag update when stack changes.
isMergable@Inject@At("HEAD"), cancellable = trueOverrides max stack check with max_clump_size GameRule.
mergeWithNeighbours@ModifyArgsINVOKE -> AABB.inflate(DDD)Modifies horizontal inflation args ($0$ and $2$) to match merge_radius.
tryToMerge@Inject@At("HEAD"), cancellable = trueExecutes merge math and youngest age inheritance.
playerTouch@Inject@At("HEAD"), cancellable = trueDispatches chunked inventory intake in clean vanilla stacks.

2. HopperBlockEntityMixin.java

  • Target Class: net.minecraft.world.level.block.entity.HopperBlockEntity
MethodAnnotationInjection PointPurpose
addItem(Container, ItemEntity)@Inject@At("HEAD"), cancellable = trueExtracts 1-item slices from mega-clumps ($2.5\text{ items/s}$) into hopper containers.

Official documentation & web portal for Dasik Igaijinn mods.