酒醉的鸵鸟
本帖最后由 酒醉的鸵鸟 于 2022-1-9 00:13 编辑

如题,MC版本1.16.5,关于环境,已经在fabric官网更新到最新了

fabric wiki上的教程代码如下
代码段A:
  1. public class DemoBlockEntity extends BlockEntity {
  2.     public DemoBlockEntity(BlockPos pos, BlockState state) {
  3.         super(ExampleMod.DEMO_BLOCK_ENTITY, pos, state);
  4.     }
  5. }
复制代码



代码段B:
  1. public static BlockEntityType<DemoBlockEntity> DEMO_BLOCK_ENTITY;

  2. @Override
  3. public void onInitialize() {
  4.     DEMO_BLOCK_ENTITY = Registry.register(Registry.BLOCK_ENTITY_TYPE, "tutorial:demo_block_entity", FabricBlockEntityTypeBuilder.create(DemoBlockEntity::new, DEMO_BLOCK).build(null));
  5. }
复制代码



代码段A中的问题是BlockEntity类中并没有这样三个参数的构造函数,只有单参数的构造函数:
  1.    public BlockEntity(BlockEntityType<?> type) {
  2.         this.pos = BlockPos.ORIGIN;
  3.         this.type = type;
  4.     }
复制代码



代码段B中的问题是FabricBlockEntityTypeBuilder这个类我找不到(不知道是不是版本的问题,据discord上热心网友的提示,这个类应该在net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder,但是我找不到这个类)

所以我的问题是如何创建(注册)一个方块实体,求各位大佬解答,找了很久都不知道该怎么做。。







Xiao2

看一下历史版本

第一页 上一页 下一页 最后一页