提供: Minecraft Modding Wiki
細 (→Registry) |
|||
(同じ利用者による、間の3版が非表示) | |||
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 | ||
92行目: | 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)); |
</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> | ||
+ | ===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(その他)に登録。