Skip to content

苍蝇配方

注册好苍蝇后,可以继续设置它在苍蝇桶中的产物,以及通过哪些苍蝇繁育得到它。

脚本放在:

text
kubejs/server_scripts/

例如:

text
kubejs/server_scripts/poopsky_fly_recipes.js

基本写法

假设已经注册了一个:

text
apple

苍蝇。

给它添加配方:

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
})

这里的 register('apple') 不会重新创建一个苍蝇品种

它表示接下来要给 apple 添加苍蝇配方。

苍蝇桶产物

使用 .flyBarrel()

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
        .flyBarrel('minecraft:apple', 2)
})

表示:

text
apple 苍蝇 → 2 个苹果

第二个参数是数量。

如果只需要产出一个,可以省略:

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
        .flyBarrel('minecraft:apple')
})

繁育配方

使用 .breeding()

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
        .breeding('red', 'orange', 0.35)
})

表示:

text
red + orange → apple

35% 的概率变异成功。

概率范围为:

text
0 ~ 1

例如:

数值概率
0.110%
0.220%
0.3535%
0.550%
1100%

默认概率

繁育概率可以省略:

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
        .breeding('red', 'orange')
})

默认概率是:

text
0.2

也就是 20%

添加多个繁育方式

同一个苍蝇可以连续添加多个 .breeding()

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
        .breeding('red', 'orange', 0.35)
        .breeding('white', 'orange', 0.5)
})

这样 apple 就有两种获得方式:

text
red + orange   → apple,35%
white + orange → apple,50%

完整示例

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
        .flyBarrel('minecraft:apple', 2)
        .breeding('red', 'orange', 0.35)
        .breeding('white', 'orange', 0.5)
})

这样:

  • apple 苍蝇在苍蝇桶里产出 2 个苹果
  • red + orange35% 概率得到 apple
  • white + orange50% 概率得到 apple

可用方法

方法作用默认值
.flyBarrel(物品, 数量)添加苍蝇桶产物数量可省略
.breeding(父本1, 父本2, 概率)添加繁育方式0.2

和苍蝇注册有什么区别?

苍蝇本身写在:

text
kubejs/startup_scripts/

例如:

javascript
PoopSkyStartupEvents.flytype(event => {
    event.register('apple')
        .name('Apple Fly')
})

苍蝇的配方写在:

text
kubejs/server_scripts/

例如:

javascript
PoopSkyServerEvents.flyType(event => {
    event.register('apple')
        .flyBarrel('minecraft:apple', 2)
})

可以简单理解成:

text
startup_scripts → 添加这只苍蝇
server_scripts  → 设置这只苍蝇能做什么

热重载

苍蝇配方属于服务端脚本。

修改后执行:

text
/reload

即可重新加载。

自定义苍蝇品种其他模组配方