APIおよびアドオン連携 (MC 26.2)
本書では、Minecraft 26.2 における Item Clumps のサードパーティMOD連携フック、DasikLibrary APIとの通信、プログラムからの集約クエリについて解説します。
📊 連携情報ボックス
| 項目 | 値 |
|---|---|
| API構造 | ネイティブなバニラ ItemEntity および ItemStack API |
| データ保持方式 | ItemStack.getCount() を直接利用 (VarInt / 32ビット整数) |
| GameRule API | DynamicGameRuleManager (DasikLibrary API) |
| ダックタイピング | マグネットMODや独自アイテムエンティティと互換 |
🔌 アドオン開発者向けプログラムによる集約クエリ
Item Clumps はメガスタックの数量を通常の Minecraft ItemStack 内に直接保持するため、アドオン開発者は特別なAPIラッパーなしで数量を読み書きできます:
1. 集約された数量の取得
java
// Standard ItemEntity instance
ItemEntity entity = ...;
// Native vanilla getter returns true mega-count (e.g. 5000)
int trueCount = entity.getItem().getCount();2. 結合可能性の検証
java
// Queries Item Clumps customIsMergable logic
boolean canMerge = entity.isMergable();3. 集約数量の安全な変更
java
// When mutating item entity counts, always update the stack object:
ItemStack stack = entity.getItem().copyWithCount(newCount);
entity.setItem(stack); // Triggers custom name tag update automatically!🧲 マグネットおよび飛行ダックタイピングフック
マグネットMODや念力MODを開発している場合、ItemEntity Mixinに以下のダックタイピングメソッドを追加することで、飛行中のアイテムが予期せず結合するのを防ぐことができます:
java
public boolean ig_magnet$isMagnetized() {
return this.isFlyingTowardsPlayer;
}
// Or legacy alternative:
public boolean ig$isMagnetized() {
return this.isFlyingTowardsPlayer;
}Item Clumps は結合判定時にリフレクション経由でこのメソッドを自動的に呼び出します。
