Skip to content

호환성 및 타 모드 연동 (MC 26.2)

이 문서는 Minecraft 26.2 버전의 Item Clumps에 대한 타사 모드 연동, 동적 리플렉션 안전장치, Stack Size Adjuster 동기화 및 농장 호환성에 대해 다룹니다.


📊 기능 정보 상자

연동 대상유형호환성 상태처리 메커니즘
Magnet ("Let me get that!")선택적🟢 100% 완벽 호환동적 리플렉션 검사 (ig_magnet$isMagnetized / ig$isMagnetized)
Stack Size Adjuster선택적🟢 동적 한도 동기화max_clump_size 등록을 getMaxStackSize()로 위임
YetAnotherConfigLib (YACL v3)선택적 GUI🟢 지원됨GuiHelper.getOptionalYaclFactory를 통한 지연 클래스로딩
ModMenu선택적 GUI🟢 지원됨ModMenu 진입점 연동
바닐라 자동화 / 레드스톤핵심🟢 100% 동등성1개 깔때기 드립 추출 및 최신 수명 계승

🧲 1. 자석 모드 비행 중 보호

아이템 자석 모드(예: Magnet: Let me get that!)를 사용할 때 바닥의 아이템은 플레이어를 향해 3D 비행 궤적으로 이동합니다.

       ┌───────────────────────────────────────────────────────────┐
       │             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는 컴파일 타임 하드코딩 의존성 없이 리플렉션을 통해 자석 상태를 확인합니다:

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. Stack Size Adjuster 동적 동기화

Item Clumps와 함께 Stack Size Adjuster가 설치된 경우:

  1. 중복 게임 규칙 비활성화: Item Clumps는 item_clumps:max_clump_size의 등록 및 YACL 설정 위젯을 자동으로 비활성화합니다.
  2. 통합 한도 동기화: 바닥 병합 한도가 자동으로 itemStack.getMaxStackSize()를 참조하여 Stack Size Adjuster의 전역 또는 아이템별 한도 설정을 그대로 따릅니다.
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);
}

🔗 관련 문서 (MC 26.2)

Official documentation & web portal for Dasik Igaijinn mods.