Skip to content

模组配方

PoopSky 为 KubeJS 提供了自己的配方类型。

这些配方都写在:

text
kubejs/server_scripts/

基本格式:

javascript
ServerEvents.recipes(event => {
    event.recipes.poopsky.xxx()
})

如果要写很多 PoopSky 配方,可以先保存:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    // PoopSky 配方
})

下面的示例都会使用 poopsky

筛网

添加筛网配方:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    poopsky.sieve(
        'minecraft:gravel',
        [
            { item: 'minecraft:iron_ingot', chance: 0.5 },
            { item: 'minecraft:flint', chance: 0.25 }
        ],
        100
    )
})

表示筛沙砾时:

  • 50% 概率获得铁锭
  • 25% 概率获得燧石
  • 处理时间为 100

格式:

javascript
poopsky.sieve(
    input,
    outputs,
    processingTime
)

processingTime 可以省略,默认是:

text
200

例如:

javascript
poopsky.sieve(
    'minecraft:gravel',
    [
        { item: 'minecraft:iron_ingot', chance: 0.5 }
    ]
)

苍蝇桶

给苍蝇添加苍蝇桶产物:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    poopsky.fly_barrel(
        'red',
        Item.of('minecraft:redstone', 2)
    )
})

第一个参数是苍蝇品种 ID:

text
red

第二个参数是产物:

javascript
Item.of('minecraft:redstone', 2)

也就是两个红石。

TIP

如果是在给自己注册的苍蝇添加产物,通常使用:

javascript
.flyBarrel()

会更方便。

详情见 苍蝇配方

繁育箱

添加繁育配方:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    poopsky.breeding_chest(
        'red',
        'blue',
        'purple',
        0.2
    )
})

表示:

text
red + blue → purple

成功概率为 20%

格式:

javascript
poopsky.breeding_chest(
    parent1,
    parent2,
    result,
    chance
)

最后的概率可以省略,默认:

text
0.2

POP 爆炸转化

添加 POP 爆炸转化配方:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    poopsky.pop_explosion(
        'minecraft:cobblestone',
        'minecraft:gravel',
        1
    )
})

格式:

javascript
poopsky.pop_explosion(
    input,
    output,
    amount
)

输出可以是方块,也可以是物品。

肛气冲压

添加肛气冲压配方:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    poopsky.anal_pressing(
        'poopsky:poop_block',
        'minecraft:stone',
        'minecraft:cobblestone',
        1
    )
})

格式:

javascript
poopsky.anal_pressing(
    input,
    output,
    replaceTarget,
    radius
)

参数分别是:

参数作用
input输入
output输出
replaceTarget被替换的目标
radius作用范围

堆肥

添加堆肥配方:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    poopsky.compooper(
        'water',
        'minecraft:stone',
        'minecraft:cobblestone'
    )
})

格式:

javascript
poopsky.compooper(
    fluidType,
    input,
    output
)

参数分别是:

参数作用
fluidType液体类型
input输入
output输出

完整示例

可以把所有配方写在同一个文件中:

javascript
ServerEvents.recipes(event => {
    let poopsky = event.recipes.poopsky

    poopsky.sieve(
        'minecraft:gravel',
        [
            { item: 'minecraft:iron_ingot', chance: 0.5 },
            { item: 'minecraft:flint', chance: 0.25 }
        ],
        100
    )

    poopsky.fly_barrel(
        'red',
        Item.of('minecraft:redstone', 2)
    )

    poopsky.breeding_chest(
        'red',
        'blue',
        'purple',
        0.2
    )

    poopsky.pop_explosion(
        'minecraft:cobblestone',
        'minecraft:gravel',
        1
    )

    poopsky.anal_pressing(
        'poopsky:poop_block',
        'minecraft:stone',
        'minecraft:cobblestone',
        1
    )

    poopsky.compooper(
        'water',
        'minecraft:stone',
        'minecraft:cobblestone'
    )
})

热重载

这些配方都属于:

text
kubejs/server_scripts/

修改后执行:

text
/reload

即可重新加载。

目前的限制

toilet_shaped 暂时没有提供:

javascript
event.recipes.poopsky

形式的 KubeJS 配方接口。

其他已经提供接口的配方可以直接按照本页写法添加。

苍蝇品种苍蝇配方