WikiChree.COM 新規   編集   添付   管理  



FrontPage>dev>MCPitanLib>Item Addition

MCPitanLib でのアイテム追加方法

ここでは、MCPitanLib でアイテムを追加するための基本的な手順を説明します。
例として、ExampleMod.java の実装を参照します。

前提条件

手順

1. MOD IDとレジストリの準備

MODを識別するために使用するMOD_IDを定義し、MCPitanLibのレジストリ(CompatRegistryV2)を取得します。

public class ExampleMod extends CommonModInitializer {
    public static final String MOD_ID = "examplemod"; // ここは使いたいmod idに置き換えてください
    public static CompatRegistryV2 registry;
 
    @Override
    public void init() {
        registry = super.registry; // CommonModInitializer から registry を取得
        // ...
    }
 
    // MOD_IDでCompatIdentifierを作成するためのメソッド
    public static CompatIdentifier _id(String path) {
        return CompatIdentifier.of(MOD_ID, path);
    }
 
    @Override
    public String getId() {
        return MOD_ID;
    }
 
    // ...
}

2. アイテム ID の定義

追加したいアイテムID を CompatIdentifier で作成します。
形式は MOD_ID:アイテムID となります。

public class ExampleMod extends CommonModInitializer {
    // ... (上記のコード) ...
 
    // アイテムIDを定義
    public static CompatIdentifier EXAMPLE_ITEM_ID = _id("example_item"); // "examplemod:example_item" となる
 
    // ...
}

3. アイテムインスタンスと設定の準備

追加するアイテムのインスタンスを作成します。
MCPitanLib では、CompatItem クラスと CompatibleItemSettings を使います。

// ExampleMod.java内のinitメソッドかアイテム登録用のstatic変数として定義します
 
// アイテムの登録結果を保持する変数 (RegistryResult型)
public static RegistryResult<Item> EXAMPLE_ITEM;
 
// initメソッドでアイテムを登録
@Override
public void init() {
    // ...
    registry = super.registry;
    // ...
 
    // アイテム登録
    EXAMPLE_ITEM = registry.registerItem(EXAMPLE_ITEM_ID, () ->
            new CompatItem(CompatibleItemSettings.of(EXAMPLE_ITEM_ID) // Settingsを渡す
                    // .maxCount(16) // 例えば、最大スタック数を16にするなら
                    .addGroup(ItemGroups.INGREDIENTS) // 材料のクリエイティブタブに追加
            )
    );
 
    // ...
}

詳細

4. 独自のアイテムクラスを作成 (任意)

細かい処理があるアイテムを作成するのであれば、CompatItem を継承したクラスを作成します。

// 例: 右クリックしたときにメッセージが送られるアイテム
public class MyCustomItem extends CompatItem {
    public MyCustomItem(CompatibleItemSettings settings) {
        super(settings);
    }
 
    @Override
    public public StackActionResult onRightClick(ItemUseEvent e) {
        // Action on right-click
        if (!e.isClient())
            e.player.sendMessage(TextUtil.literal("Custom item was used!"));
        
        return e.success();
    }
}
 
// ExampleMod.javaでの登録
// ...
public static RegistryResult<Item> MY_CUSTOM_ITEM;
public static CompatIdentifier MY_CUSTOM_ITEM_ID = _id("my_custom_item");
// ...
// init()メソッド内
MY_CUSTOM_ITEM = registry.registerItem(MY_CUSTOM_ITEM_ID, () ->
        new MyCustomItem(CompatibleItemSettings.of(MY_CUSTOM_ITEM_ID)
                .addGroup(ItemGroups.TOOLS) // Add to the "Tools" tab
        )
);
// ...

まとめ

MCPitanLibで簡単に複数バージョン対応のアイテムを追加できます。

もっと細かい設定や動作は、MCPitanLibのAPIや ExampleMod.javaExampleGuiItem を参照してください。

  編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-09-12 (金) 13:38:18