KubeJS Ex Deorum

KubeJS Ex Deorum

完整支持KubeJS的Ex Deorum——覆盖所有配方类型,外加自定义网格、锤子、矿石碎块、筛子、桶和坩埚。

Ex Deorum 很棒。但为其编写脚本却很麻烦——直到现在。

Ex Deorum 自带 KubeJS 集成,但功能十分有限。在 1.21.1 版本中,它为 exdeorum:sieve 注册了一个仅支持 result 和 ingredient 的 schema——没有 mesh,也没有 result_amount——因此实际上无法生成可用的筛子配方。在 26.1.2 版本中,其自身的 kubejs.plugins.txt 所指向的类根本不在 jar 包中,导致没有任何内容被注册。

Ex Deorum KJS 用一个完整的实现取代了这一切,并新增了此前从未开放的十二种配方类型,更进一步让你可以通过脚本注册新的 Ex Deorum 内容。

所有配方类型

全部十三种,通过服务端脚本调用:

sieve · compressed_sieve · hammer · compressed_hammer · crook · crucible_heat_source · lava_crucible · water_crucible · barrel_compost · barrel_mixing · barrel_fluid_mixing · barrel_fluid_transformation · ore_chunk

ServerEvents.recipes(event => {
    event.recipes.exdeorum.sieve('minecraft:prismarine_shard', 'minecraft:clay', 'exdeorum:string_mesh')
        .binomial(3, 0.2)
event.recipes.exdeorum.crucible_heat_source('minecraft:furnace', 4).lit(true)

event.recipes.exdeorum.barrel_mixing('minecraft:calcite', 'minecraft:bone_meal', Fluid.of('minecraft:water', 1000))

})

无需再手动编写战利品数量提供器或方块状态谓词。直接链式表达你的意图:

  • .constant(4) — 固定为 4
  • .chance(0.25) — 单次掷骰,概率 25%
  • .uniform(1, 3) — 在 1 到 3 之间均匀掷骰
  • .binomial(9, 0.12) — 掷 9 次骰子,每次概率 12%
  • .lit(true)、.axis('y')、.state('distance', 1) — 将方块谓词锁定到特定状态

注册你自己的内容

九个目标,一个事件:

ExDeorumEvents.registry('sieve', event => {
    event.create('obsidian')
        .soundType('stone').strength(4.0).needsCorrectTool(true).mineableWith('pickaxe')
        .craftedFrom('minecraft:obsidian', 'minecraft:polished_blackstone_slab')
})

ExDeorumEvents.registry('mesh', event => { event.create('copper_mesh').material('#c:ingots/copper') })

方块: sieve、compressed_sieve、barrel、lava_crucible、water_crucible 物品: mesh、hammer、compressed_hammer、ore_chunk

一次 create(...) 调用即可获得该方块或物品,外加:

  • 其合成配方,使用 Ex Deorum 针对该类方块的确切布局
  • 其战利品表,使其被破坏时掉落自身
  • 其 mineable/ 标签条目,确保“需要正确工具”真正生效
  • 对于物品:模型、语言条目和创造模式标签页,由 KubeJS 自身的物品构建器提供

新增的筛网会加入 #exdeorum:sieve_meshes,并可附魔效率与时运。新增的锤子会加入 #exdeorum:hammers,并能挖掘锤子所能挖掘的方块。矿石碎块会根据其自身名称派生矿石标签,并带有与 Ex Deorum 自身相同的“仅当标签中有内容时”条件。

你仍需提供方块纹理和模型——Ex Deorum 自带的模板负责形状塑造,因此只需一个方块状态文件和一个两行的模型文件。附加包中附带了一个覆盖全部五种方块类型的完整示例。

依赖要求

  • KubeJS
  • Ex Deorum

适用于 1.21.1 和 26.1.2 版本,NeoForge。

文档

每种配方类型和每个构建器方法都在仓库的 wiki 中配有可运行的示例,此外还有一个开箱即用的示例脚本,涵盖全部十三种配方类型和全部九个注册目标。