提供: Minecraft Modding Wiki
細 |
|||
13行目: | 13行目: | ||
import net.fabricmc.api.ModInitializer; | import net.fabricmc.api.ModInitializer; | ||
+ | import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; | ||
import net.minecraft.item.Item; | import net.minecraft.item.Item; | ||
import net.minecraft.block.Block; | import net.minecraft.block.Block; | ||
28行目: | 29行目: | ||
//ブロック作成 | //ブロック作成 | ||
− | public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL | + | public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL)); |
@Override | @Override | ||
93行目: | 94行目: | ||
==解説== | ==解説== | ||
<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)); |
</source> | </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> | ||
<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:39時点における版
この記事は"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))); } } }
解説
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.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(その他)に登録。