Skip to content

🔌 API とアドオン連携 (MC 26.2)

📌 リポジトリソースに関する免責事項: 本 Wiki のドキュメントはリポジトリ内の現在のソースコード状態を反映しており、CurseForge や Modrinth での一般公開リリースビルドに先立つ最新の未リリースコミットや開発中の機能が含まれている場合があります。

API インフォボックス技術パラメータ
プレイヤーインターフェースnet.instantgratification.magnet.IMagnetPlayer
エンティティインターフェースnet.instantgratification.magnet.IMagnetEntity
コア移動ファサードnet.instantgratification.magnet.MagnetMovement
GameRule APInet.dasik.social.api.gamerule.DynamicGameRuleManager
視線 APInet.dasik.social.api.vision.PlayerVisionTracker

📖 他 MOD からの開発者向け連携

サードパーティ製 MOD、サーバーユーティリティ、および Instant Gratification companion アドオンは、Magnet, Let me get that! と直接連携して、プレイヤーの磁力状態の取得、プログラムによるアイテム引き寄せ、または障害物のバイパスを実行できます。


🧑‍💻 プレイヤー状態インターフェース (IMagnetPlayer)

任意の Player または ServerPlayer インスタンスを IMagnetPlayer にキャストして、磁石の設定を取得・変更できます:

java
package net.instantgratification.magnet;

public interface IMagnetPlayer {
    boolean ig_magnet$isMagnetEnabled();
    void ig_magnet$setMagnetEnabled(boolean enabled);
    boolean ig_magnet$toggleMagnet();
}

使用例:

java
// プレイヤーの磁石が有効か確認
if (((IMagnetPlayer) player).ig_magnet$isMagnetEnabled()) {
    // カスタムアドオン処理...
}

// プログラムから磁石を無効化(例: 玉座に着席中やミニゲーム中など)
((IMagnetPlayer) player).ig_magnet$setMagnetEnabled(false);

📦 エンティティ磁力化インターフェース (IMagnetEntity)

任意の Entity インスタンス(カスタム Mob ドロップ、発射物、XP オーブ等)を IMagnetEntity にキャストできます:

java
package net.instantgratification.magnet;

public interface IMagnetEntity {
    void ig_magnet$setMagnetNoClip();
    boolean ig_magnet$isMagnetNoClip();
    void ig_magnet$setMagnetized();
    boolean ig_magnet$isMagnetized();
}

使用例:

java
// カスタムエンティティに一時的な 2 ティックの位相シフト(すり抜け)を付与
((IMagnetEntity) customItem).ig_magnet$setMagnetNoClip();

🚀 静的移動ファサード (MagnetMovement.pull)

アドオン MOD は、組み込みの物理・視線エンジンを使用して、エンティティを任意のプレイヤーに向けて手動で引き寄せることができます:

java
public static void pull(Entity entity, Player player, boolean shouldSpawnParticles);
java
// パーティクル軌跡を伴って対象エンティティをプレイヤーへ引き寄せる
MagnetMovement.pull(specialDrop, player, true);

🔗 関連 Wiki ドキュメント

Official documentation & web portal for Dasik Igaijinn mods.