提供: Minecraft Modding Wiki
(ページの作成:「{{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} {{チュートリアル難易度|difficulty=1|clear=none}} {{チュートリアルカテゴリー|difficulty=0|type=B…」) |
|||
77行目: | 77行目: | ||
public class SampleBlockEntity extends BlockEntity { | public class SampleBlockEntity extends BlockEntity { | ||
+ | //エンティティを追加してますが、まだ機能はありません。 | ||
public SampleBlockEntity() { | public SampleBlockEntity() { | ||
super(Main.SAMPLE_BLOCK_ENTITY); | super(Main.SAMPLE_BLOCK_ENTITY); |
2020年10月10日 (土) 23:09時点における版
この記事は"Fabric API 0.3.2 build 230~"を前提MODとしています。 |
ブロック追加のソースコード2からまず、ブロックを追加してください。 無機能なブロックエンティティ(タイルエンティティ)を追加します。
ブロックエンティティの追加
ソースコード
- SampleMod.java
package com.example.block; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.item.Item; import net.minecraft.block.Block; import net.minecraft.block.Material; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.BlockItem; 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).build()); //ブロックエンティティ public static BlockEntityType<SampleBlockEntity> SAMPLE_BLOCK_ENTITY; @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))); //ブロックエンティティの登録 SAMPLE_BLOCK_ENTITY = Registry.register(Registry.BLOCK_ENTITY_TYPE, MOD_ID+":sample_block_entity", BlockEntityType.Builder.create(SampleBlockEntity::new, SAMPLE_BLOCK).build(null)); } } }
- SampleBlock.java
package com.example.block; import net.minecraft.block.Block; import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.entity.BlockEntity; import net.minecraft.world.BlockView; public class SampleBlock extends Block implements BlockEntityProvider { public SampleBlock(Settings settings) { super(settings); } @Override //ブロックとブロックエンティティを接続 public BlockEntity createBlockEntity(BlockView blockView) { return new SampleBlockEntity(); } }
- SampleBlockEntity.java
package com.example.block; import net.minecraft.block.entity.BlockEntity; public class SampleBlockEntity extends BlockEntity { //エンティティを追加してますが、まだ機能はありません。 public SampleBlockEntity() { super(Main.SAMPLE_BLOCK_ENTITY); } }