提供: Minecraft Modding Wiki
細 (→例) |
細 (→解説) |
||
93行目: | 93行目: | ||
</source> | </source> | ||
==解説== | ==解説== | ||
+ | ===Block=== | ||
+ | |||
<source lang = "java"> | <source lang = "java"> | ||
public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL)); | public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL)); | ||
101行目: | 103行目: | ||
「resistance(5f)」で爆発耐性を設定 | 「resistance(5f)」で爆発耐性を設定 | ||
「breakByTool(FabricToolTags.PICKAXES,1)」で破壊するツールを設定、採掘レベルを指定 | 「breakByTool(FabricToolTags.PICKAXES,1)」で破壊するツールを設定、採掘レベルを指定 | ||
− | ===例=== | + | ====例==== |
<source lang = "java"> | <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)); | public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).hardness(3.0F).resistance(5.0F).breakByTool(FabricToolTags.AXES,2)); | ||
</source> | </source> | ||
+ | ====Registry==== | ||
<source lang = "java"> | <source lang = "java"> | ||
Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK); | Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK); |
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(その他)に登録。