方块注册 (Block Registry)
预计阅读时间: 3 分钟
向游戏添加新方块
您可以在 KubeJS 中注册多种类型的自定义方块。最简单的方法如下:
StartupEvents.registry('block', event => {
event.create('example_block') // 创建一个ID为 'kubejs:example_block' 的新方块
})
就是这样!启动游戏,假设您没有修改 KubeJS 的自动生成资源,在创造模式菜单的 KubeJS(紫色染料)分类下应该会有一个完全纹理化的方块。KubeJS 也会为您生成名称 "Example Block"。
要对此方块进行修改,我们使用 event.create() 调用返回的 方块构建器。方块构建器允许我们链式调用多个修改。让我们尝试进行一些更常见的修改:
StartupEvents.registry('block', event => {
event.create('example_block') // 创建一个新方块
.displayName('My Custom Block') // 设置自定义名称
.soundType('wool') // 设置材质(影响声音和一些属性)
.hardness(1) // 设置硬度(影响挖掘时间)
.resistance(1) // 设置抗性(对爆炸等)
.tagBlock('my_custom_tag') // 用 `#minecraft:my_custom_tag` 标记方块(可以有多个标签)
.requiresTool(true) // 需要工具,否则不会掉落(见下方标签)
.tagBlock('my_namespace:my_other_tag') // 用 `#my_namespace:my_other_tag` 标记方块
.tagBlock('minecraft:mineable/axe') // 可以用斧头更快地挖掘
.tagBlock('minecraft:mineable/pickaxe') // 或者用镐
.tagBlock('minecraft:needs_iron_tool') // 工具等级必须至少是铁
})
所有方块构建器方法 (All Block Builder Methods)
上面的示例仅涵盖了方块构建器上可用的少数方法。
请在此处查看 完整列表!
替代方块构建器 (Alternate Block Builders)
除了基础方块构建器外,还有一些额外的方块构建器可用,它们通常都继承了基础构建器的所有基础方法。使用 event.create(name, key),您可以使用这些替代构建器之一。
| 键 | 示例 | 备注 |
|---|
basic | 任何方块 | 这是默认值 |
slab | 橡木台阶 | |
stairs | 橡木楼梯 | |
fence | 橡木栅栏 | |
fence_gate | 橡木栅栏门 | |
pressure_plate | 橡木压力板 | |
wall | 圆石墙 | |
button | 橡木按钮 | |
falling | 沙子 | |
crop | 小麦 | 额外方法包括 .survive()、.crop() 和 .growTick();.item() 指此作物的种子物品 |
cardinal | - | |
detector | - | |
脚本文件夹:startup_scripts/