Skip to content

Compatibilité & Intégrations Inter-Mods (MC 26.2)

Ce document détaille les intégrations de mods tiers, protections par réflexion dynamique, alignement avec Stack Size Adjuster et compatibilité d'usines dans Item Clumps pour Minecraft 26.2.


📊 Fiche Technique de Fonctionnalité

IntégrationTypeStatut de CompatibilitéMécanisme Utilisé
Magnet (« Let me get that! »)Optionnel🟢 100 % TransparentVérification par réflexion dynamique (ig_magnet$isMagnetized / ig$isMagnetized)
Stack Size AdjusterOptionnel🟢 Synchronisation DynamiqueDélègue l'enregistrement de max_clump_size à getMaxStackSize()
YetAnotherConfigLib (YACL v3)GUI Optionnelle🟢 SupportéChargement différé via GuiHelper.getOptionalYaclFactory
ModMenuGUI Optionnelle🟢 SupportéIntégration du point d'entrée ModMenu
Automatisation Vanilla / RedstoneCœur🟢 100 % ParitéExtraction à 1 item et préservation de l'âge le plus jeune

🧲 1. Protection en Vol pour Mods d'Aimants

Lors de l'utilisation de mods d'aimant ou d'aspiration (comme Magnet: Let me get that!), les items au sol s'envolent selon des trajectoires 3D vers le joueur.

       ┌───────────────────────────────────────────────────────────┐
       │             Item In-Flight Magnet Trajectory              │
       │                                                           │
       │       [Item A (In-Flight)] --------> [Player]             │
       │               │                                           │
       │       (Passes close to Item B on ground)                  │
       │               │                                           │
       │   ❌ WITHOUT MAGNET CHECK:                                │
       │      Item A merges with B; flight velocity resets;        │
       │      Item snaps to ground.                                │
       │                                                           │
       │   ✅ WITH ITEM CLUMPS MAGNET CHECK:                       │
       │      Merge paused while in-flight;                         │
       │      Smooth curve preserved straight to player!           │
       └───────────────────────────────────────────────────────────┘

Item Clumps vérifie l'état d'attraction via réflexion sans dépendance rigide à la compilation :

java
if (net.fabricmc.loader.api.FabricLoader.getInstance().isModLoaded("magnet")) {
    try {
        java.lang.reflect.Method isMagnetizedMethod;
        try {
            isMagnetizedMethod = this.getClass().getMethod("ig_magnet$isMagnetized");
        } catch (NoSuchMethodException e) {
            isMagnetizedMethod = this.getClass().getMethod("ig$isMagnetized");
        }
        if ((boolean) isMagnetizedMethod.invoke(this) || (boolean) isMagnetizedMethod.invoke(other)) {
            ci.cancel();
            return;
        }
    } catch (Throwable ignored) {}
}

📦 2. Alignement Dynamique avec Stack Size Adjuster

Lorsque Stack Size Adjuster est installé aux côtés d'Item Clumps :

  1. Dédoublonnage de GameRules : Item Clumps désactive automatiquement l'enregistrement de item_clumps:max_clump_size et son widget YACL.
  2. Synchronisation Unifiée des Limites : Les limites de fusion au sol consultent automatiquement itemStack.getMaxStackSize(), permettant à Stack Size Adjuster de fixer les plafonds au sol globalement ou par item.
java
int maxClump;
if (net.fabricmc.loader.api.FabricLoader.getInstance().isModLoaded("stack-size-adjuster") || 
    ItemClumpsFabric.MAX_CLUMP_SIZE == null) {
    maxClump = thisStack.getMaxStackSize();
} else {
    maxClump = DynamicGameRuleManager.getInt(this.level(), ItemClumpsFabric.MAX_CLUMP_SIZE);
}

🔗 Documentation Associée (MC 26.2)

Official documentation & web portal for Dasik Igaijinn mods.