3,417
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
(创建页面,内容为“方块的基类是<code>net.minecraft.world.level.block.Block</code>类,和物品一样,简单的方块可以直接new这个类;拥有额外的逻辑的则需要先继承再实例化。 public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(TutorialMod.MODID); public static final DeferredBlock<Block> EXAMPLE_BLOCK = BLOCKS.registerSimpleBlock("example_block", BlockBehaviour.Properties.of(). ...); Block类接受一个Block…”) |
|||
| 第54行: | 第54行: | ||
你可能注意到了,原版的Block子类都定义了一个public static final的MapCodec字段(有关Codec和MapCodec,详见第10章),即所谓的“方块类型”;还覆写了#codec方法。并且这些方块类型都被注册进了注册表BuiltInRegistries.BLOCK_TYPE。 | 你可能注意到了,原版的Block子类都定义了一个public static final的MapCodec字段(有关Codec和MapCodec,详见第10章),即所谓的“方块类型”;还覆写了#codec方法。并且这些方块类型都被注册进了注册表BuiltInRegistries.BLOCK_TYPE。 | ||
由于方块目前仍是固有注册项,并未数据驱动化,因此这东西其实没啥用。不过为了和原版统一,你也可以为你的Block子类加上方块类型。如果你的方块子类的构造方法只接受一个BlockBehaviour.Properties,那么可以直接用#simpleCodec来得到一个MapCodec;如果构造方法不止这一个参数,你需要使用RecordCodecBuilder# | 由于方块目前仍是固有注册项,并未数据驱动化,因此这东西其实没啥用。不过为了和原版统一,你也可以为你的Block子类加上方块类型。如果你的方块子类的构造方法只接受一个BlockBehaviour.Properties,那么可以直接用#simpleCodec来得到一个MapCodec;如果构造方法不止这一个参数,你需要使用RecordCodecBuilder#mapCodec来创建MapCodec,方块属性参数的Codec填BlockBehaviour#propertiesCodec。 | ||