Skip to content

模组配方 ​

PoopSky 为 KubeJS 提供了几种自定义配方接口。这些脚本都放在 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 tick

格式:

javascript
poopsky.sieve(
    input,
    outputs,
    processingTime
)

processingTime 可以省略,默认是 200 tick。例如:

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

苍蝇桶 ​

下面为 ID 为 red 的苍蝇添加苍蝇桶产物:

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

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

第一个参数是苍蝇品种 ID,第二个参数是产物:

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
)

最后的概率可以省略,默认值为 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
)

输出可以是方块,也可以是物品;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
/reload

即可生效。

目前的限制 ​

toilet_shaped 暂未提供:

javascript
event.recipes.poopsky

形式的 KubeJS 配方接口。

其他已提供接口的配方都可以按本页方式添加。

苍蝇品种苍蝇配方