Skip to content

苍蝇配方 ​

这里设置苍蝇能产出什么,以及由哪些苍蝇繁育得到。前提是该苍蝇已经在 自定义苍蝇品种 中注册。

脚本放在 kubejs/server_scripts/,例如:

text
kubejs/server_scripts/poopsky_fly_recipes.js

基本写法 ​

假设你已经注册了 ID 为 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%。概率填写 0 到 1 的小数:

text
0 ~ 1

例如:

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

默认概率 ​

也可以省略繁育概率:

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

默认值为 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 + orange 有 35% 概率得到 apple
  • white + orange 有 50% 概率得到 apple

可用方法 ​

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

和苍蝇注册有什么区别? ​

苍蝇本身在 kubejs/startup_scripts/ 注册,例如:

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

配方则写在 kubejs/server_scripts/,例如:

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

可以这样区分:

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

热重载 ​

苍蝇配方属于服务端脚本。修改后执行:

text
/reload

即可生效。

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