Skip to content

Architektur & Mixin-Übersicht (MC 26.1.2)

Dieses Dokument beschreibt die interne Paketstruktur, Klassenhierarchie, Mixin-Ziele, Shadow-Member und Injektionspunkte für Item Clumps auf Minecraft 26.1.2.


🌳 Pakethierarchie & Klassendiagramm

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]

🛠️ Vollständige Mixin-Ziele & Injektionsübersicht

1. ItemEntityMixin.java

  • Zielklasse: net.minecraft.world.entity.item.ItemEntity
  • Oberklassen-Erweiterung: extends net.minecraft.world.entity.Entity
Member / MethodeAnnotationInjektionspunktZweck
getItem()@ShadowN/AGreift auf den Item-Stapel zu.
setItem(ItemStack)@ShadowN/AÄndert den Item-Stapel und aktualisiert Tracker-Daten.
target@ShadowN/AUUID des Zielspielers.
pickupDelay@ShadowN/ATicks des Aufhebeverzögerungs-Timers.
age@ShadowN/ATicks des Despawn-Alters-Timers ($0\text{ bis }6000$).
tick@Inject@At("HEAD")Aktualisiert die Sichtbarkeit des Namensschilds dynamisch.
setItem@Inject@At("TAIL")Aktualisiert das Namensschild bei Änderung des Stapels.
isMergable@Inject@At("HEAD"), cancellable = trueÜberschreibt Max-Stapel-Prüfung durch max_clump_size-GameRule.
mergeWithNeighbours@ModifyArgsINVOKE -> AABB.inflate(DDD)Passt horizontale Inflations-Argumente ($0$ und $2$) an merge_radius an.
tryToMerge@Inject@At("HEAD"), cancellable = trueFührt Verschmelzungsberechnung und Altersvererbung aus.
playerTouch@Inject@At("HEAD"), cancellable = trueÜbergibt Items paketiert als saubere Vanilla-Stapel ins Inventar.

2. HopperBlockEntityMixin.java

  • Zielklasse: net.minecraft.world.level.block.entity.HopperBlockEntity
MethodeAnnotationInjektionspunktZweck
addItem(Container, ItemEntity)@Inject@At("HEAD"), cancellable = trueZieht 1-Item-Portionen ($2.5\text{ Items/s}$) aus Mega-Stapeln in Trichter.

🔗 Verwandte Dokumentation (MC 26.1.2)

Official documentation & web portal for Dasik Igaijinn mods.