提供: Minecraft Modding Wiki
(ページの作成:「{{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} ==クリエイティブタブの追加== <p> ブロックやアイテムの初期化時やコンストラクタで…」) |
細 (→クリエイティブタブの追加) |
||
(同じ利用者による、間の9版が非表示) | |||
1行目: | 1行目: | ||
{{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} | {{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} | ||
+ | {{チュートリアル難易度|difficulty=0|clear=none}} | ||
+ | |||
==クリエイティブタブの追加== | ==クリエイティブタブの追加== | ||
− | |||
ブロックやアイテムの初期化時やコンストラクタで、既存のクリエイティブタブのどのタブに追加するかを指定するメソッド'''group()'''を呼び出すことで、追加したアイテムをどのカテゴリにするか決めることができる。しかし、大量のアイテムを追加した場合や、多くのMODを追加した場合、クリエイティブタブ上で探すのは簡単ではない。この状況を打破するために、アイテムグループでクリエイティブタブが拡張でき、任意のタブを追加することができる。 | ブロックやアイテムの初期化時やコンストラクタで、既存のクリエイティブタブのどのタブに追加するかを指定するメソッド'''group()'''を呼び出すことで、追加したアイテムをどのカテゴリにするか決めることができる。しかし、大量のアイテムを追加した場合や、多くのMODを追加した場合、クリエイティブタブ上で探すのは簡単ではない。この状況を打破するために、アイテムグループでクリエイティブタブが拡張でき、任意のタブを追加することができる。 | ||
− | + | ||
+ | 動作確認済みのバージョン:1.14~1.16.3 | ||
+ | |||
===ソースコード=== | ===ソースコード=== | ||
10行目: | 13行目: | ||
<source lang = "java"> | <source lang = "java"> | ||
package com.example.itemgroup; | package com.example.itemgroup; | ||
+ | |||
+ | import net.fabricmc.api.ModInitializer; | ||
+ | import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; | ||
+ | import net.minecraft.item.ItemGroup; | ||
+ | import net.minecraft.item.ItemStack; | ||
+ | import net.minecraft.util.Identifier; | ||
public class SampleMod implements ModInitializer | public class SampleMod implements ModInitializer | ||
26行目: | 35行目: | ||
} | } | ||
</source> | </source> | ||
− | == | + | |
+ | ==作成したクリエイティブタグにアイテムを登録== | ||
[[Fabric/アイテム追加]]か[[Fabric/ブロック追加]]で作成したアイテムを登録するには、 | [[Fabric/アイテム追加]]か[[Fabric/ブロック追加]]で作成したアイテムを登録するには、 | ||
<source lang = "java"> | <source lang = "java"> | ||
40行目: | 50行目: | ||
</source> | </source> | ||
に変更する必要がある。 | に変更する必要がある。 | ||
+ | |||
+ | ==解説== | ||
+ | <source lang = "java"> | ||
+ | () -> new ItemStack(Blocks.COBBLESTONE)); | ||
+ | </source> | ||
+ | クリエイティブタブ上に表示されるアイコンのIDを指定する。ブロックなら"Blocks.バニラのID"。アイテムなら"Items.バニラのID"である。MODのアイテム・ブロックなら例として"SampleMod.SAMPLE_ITEM"(アイテムを登録しているクラス.アイテムの文字列)である。 |
2020年10月11日 (日) 08:08時点における最新版
この記事は"Fabric API 0.3.2 build 230~"を前提MODとしています。 |
クリエイティブタブの追加[編集]
ブロックやアイテムの初期化時やコンストラクタで、既存のクリエイティブタブのどのタブに追加するかを指定するメソッドgroup()を呼び出すことで、追加したアイテムをどのカテゴリにするか決めることができる。しかし、大量のアイテムを追加した場合や、多くのMODを追加した場合、クリエイティブタブ上で探すのは簡単ではない。この状況を打破するために、アイテムグループでクリエイティブタブが拡張でき、任意のタブを追加することができる。
動作確認済みのバージョン:1.14~1.16.3
ソースコード[編集]
- SampleMod.java
package com.example.itemgroup; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; public class SampleMod implements ModInitializer { /** * ModID文字列 */ public static final String MOD_ID = "samplemod"; //クリエイティブタグの作成 public static final ItemGroup SAMPLE_GROUP = FabricItemGroupBuilder.build( new Identifier(MOD_ID, "sampletag"), //クリエイティブタグのアイコン () -> new ItemStack(Blocks.COBBLESTONE)); } }
作成したクリエイティブタグにアイテムを登録[編集]
Fabric/アイテム追加かFabric/ブロック追加で作成したアイテムを登録するには、
public static final Item SAMPLE_ITEM = new Item(new Item.Settings().group(ItemGroup.MISC)); //省略 Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC)));
を
group(SampleMod.SAMPLE_GROUP));
に変更する必要がある。
解説[編集]
() -> new ItemStack(Blocks.COBBLESTONE));
クリエイティブタブ上に表示されるアイコンのIDを指定する。ブロックなら"Blocks.バニラのID"。アイテムなら"Items.バニラのID"である。MODのアイテム・ブロックなら例として"SampleMod.SAMPLE_ITEM"(アイテムを登録しているクラス.アイテムの文字列)である。