提供: Minecraft Modding Wiki
(ページの作成:「{{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} {{チュートリアル難易度|difficulty=0|clear=none}} {{チュートリアルカテゴリー|difficulty=0|type=B…」) |
細 (→Registry) |
||
(同じ利用者による、間の13版が非表示) | |||
2行目: | 2行目: | ||
{{チュートリアル難易度|difficulty=0|clear=none}} | {{チュートリアル難易度|difficulty=0|clear=none}} | ||
{{チュートリアルカテゴリー|difficulty=0|type=Block}} | {{チュートリアルカテゴリー|difficulty=0|type=Block}} | ||
− | + | ワールド上に設置できる簡単な無機能ブロックの追加方法 | |
+ | |||
+ | 動作確認済みのバージョン:1.14~1.16.3 | ||
==ブロックの追加== | ==ブロックの追加== | ||
===ソースコード=== | ===ソースコード=== | ||
+ | *SampleMod.java | ||
+ | <source lang = "java"> | ||
+ | package com.example.block; | ||
+ | |||
+ | import net.fabricmc.api.ModInitializer; | ||
+ | import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; | ||
+ | import net.minecraft.item.Item; | ||
+ | import net.minecraft.block.Block; | ||
+ | import net.minecraft.item.BlockItem; | ||
+ | import net.minecraft.item.ItemGroup; | ||
+ | import net.minecraft.util.Identifier; | ||
+ | import net.minecraft.util.registry.Registry; | ||
+ | |||
+ | public class SampleMod implements ModInitializer | ||
+ | { | ||
+ | /** | ||
+ | * ModID文字列 | ||
+ | */ | ||
+ | public static final String MOD_ID = "samplemod"; | ||
+ | |||
+ | //ブロック作成 | ||
+ | public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL)); | ||
+ | |||
+ | @Override | ||
+ | public void onInitialize() | ||
+ | { | ||
+ | //ブロック登録 | ||
+ | Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK); | ||
+ | //ブロックアイテムの登録 | ||
+ | Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC))); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | ===ソースコード2=== | ||
+ | *SampleBlock.java | ||
+ | <source lang = "java"> | ||
+ | package com.example.block; | ||
+ | |||
+ | import net.minecraft.block.Block; | ||
+ | |||
+ | public class SampleBlock extends Block | ||
+ | { | ||
+ | public SampleBlock(Settings settings) | ||
+ | { | ||
+ | super(settings); | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
*SampleMod.java | *SampleMod.java | ||
<source lang = "java"> | <source lang = "java"> | ||
26行目: | 78行目: | ||
//ブロック作成 | //ブロック作成 | ||
− | public static final Block SAMPLE_BLOCK = new | + | public static final Block SAMPLE_BLOCK = new SampleBlock(FabricBlockSettings.of(Material.METAL).build()); |
@Override | @Override | ||
40行目: | 92行目: | ||
} | } | ||
</source> | </source> | ||
+ | ==解説== | ||
+ | ===Block=== | ||
+ | |||
+ | <source lang = "java"> | ||
+ | public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL)); | ||
+ | </source> | ||
+ | 素材を金属として設定。 | ||
+ | ブロックを作成。 | ||
+ | 「hardness(3f)」で硬さを指定 | ||
+ | 「resistance(5f)」で爆発耐性を設定 | ||
+ | 「breakByTool(FabricToolTags.PICKAXES,1)」で破壊するツールを設定、採掘レベルを指定 | ||
+ | ====例==== | ||
+ | <source lang = "java"> | ||
+ | public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).hardness(3.0F).resistance(5.0F).breakByTool(FabricToolTags.AXES,2)); | ||
+ | </source> | ||
+ | ===Registry=== | ||
+ | <source lang = "java"> | ||
+ | Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK); | ||
+ | Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC))); | ||
+ | </source> | ||
+ | ブロックIDとアイテムIDの登録。 | ||
+ | ブロックをアイテムとしてクリエイティブタグ、ItemGroup.MISC(その他)に登録。 |
2020年10月12日 (月) 22:41時点における最新版
この記事は"Fabric API 0.3.2 build 230~"を前提MODとしています。 |
ワールド上に設置できる簡単な無機能ブロックの追加方法
動作確認済みのバージョン:1.14~1.16.3
ブロックの追加[編集]
ソースコード[編集]
- SampleMod.java
package com.example.block; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.item.Item; import net.minecraft.block.Block; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemGroup; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; public class SampleMod implements ModInitializer { /** * ModID文字列 */ public static final String MOD_ID = "samplemod"; //ブロック作成 public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL)); @Override public void onInitialize() { //ブロック登録 Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK); //ブロックアイテムの登録 Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC))); } } }
ソースコード2[編集]
- SampleBlock.java
package com.example.block; import net.minecraft.block.Block; public class SampleBlock extends Block { public SampleBlock(Settings settings) { super(settings); } }
- SampleMod.java
package com.example.block; import net.fabricmc.api.ModInitializer; import net.minecraft.item.Item; import net.minecraft.block.Block; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemGroup; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; public class SampleMod implements ModInitializer { /** * ModID文字列 */ public static final String MOD_ID = "samplemod"; //ブロック作成 public static final Block SAMPLE_BLOCK = new SampleBlock(FabricBlockSettings.of(Material.METAL).build()); @Override public void onInitialize() { //ブロック登録 Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK); //ブロックアイテムの登録 Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC))); } } }
解説[編集]
Block[編集]
public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL));
素材を金属として設定。 ブロックを作成。 「hardness(3f)」で硬さを指定 「resistance(5f)」で爆発耐性を設定 「breakByTool(FabricToolTags.PICKAXES,1)」で破壊するツールを設定、採掘レベルを指定
例[編集]
public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).hardness(3.0F).resistance(5.0F).breakByTool(FabricToolTags.AXES,2));
Registry[編集]
Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK); Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC)));
ブロックIDとアイテムIDの登録。 ブロックをアイテムとしてクリエイティブタグ、ItemGroup.MISC(その他)に登録。