原版配方
前言
工作台
有序合成
物品需要以特定的图案顺序摆放才能合成。
语句:event.recipes.minecraft.crafting_shaped(输出物品 , 形状 , 输入物品)。
例子:用 4个水桶 和 4个熔岩桶 合成 4个黑曜石。
ServerEvents.recipes(event => {
event.recipes.kubejs.shaped('4x minecraft:obsidian',
[
'LOL',
'O O',
'LOL'
],
{
L: 'minecraft:water_bucket',
O: 'minecraft:lava_bucket'
});
})
// 区别是minecraft下的有序合成无法使用诸如“返回原料”的操作
ServerEvents.recipes(event => {
event.recipes.minecraft.crafting_shaped('4x minecraft:obsidian',
[
'LOL',
'O O',
'LOL'
],
{
L: 'minecraft:water_bucket',
O: 'minecraft:lava_bucket'
});
})
无序合成
物品不需要以特定顺序摆放即可合成。
语句:event.recipes.minecraft.crafting_shapeless(输出物品 , 输入物品)。
例子:用 1个海绵 和 1个带有木板标签的物品 合成2个石头。
// 换行为了是避免太长看的难受,可以不换行
ServerEvents.recipes(event => {
event.recipes.minecraft.crafting_shapeless(Item.of('minecraft:stone', 2),
['minecraft:stone',
Ingredient.of('#minecraft:planks')]);
})
返回原料的有序合成
与正常的有序合成相比,该种合成可以返回参与合成的物品,如合成蛋糕时,奶桶返回桶。
语句event.recipes.kubejs.shaped(配方).replaceIngredient(原料动作过滤器, 物品);
示例:毒药水与金苹果合成苹果,毒药水变成瓶子。
ServerEvents.recipes(event => {
event.recipes.kubejs.shaped('minecraft:apple',
[
' ',
' AB',
' '
],
{
A: Item.of('minecraft:potion', '{Potion:"minecraft:poison"}'),
B: 'minecraft:golden_apple'
}).replaceIngredient(Item.of('minecraft:potion', '{Potion:"minecraft:poison"}').asIngredient(), 'minecraft:glass_bottle');
})
返回原料的无序合成
与正常的无序合成相比,该种合成可以返回参与合成的物品,如合成蛋糕时,奶桶返回桶。
语句:event.recipes.kubejs.shaped(配方).replaceIngredient(原料动作过滤器, 物品);
示例:水桶与熔岩桶合成黑曜石,水桶与熔岩桶将在合成后变为桶。
ServerEvents.recipes(event => {
event.recipes.kubejs.shapeless(
'minecraft:obsidian',
[ 'minecraft:water_bucket', 'minecraft:lava_bucket']
)
.replaceIngredient('minecraft:water_bucket', 'minecraft:bucket')
.replaceIngredient('minecraft:lava_bucket', 'minecraft:bucket')
})
消耗原料耐久度的有序合成
消耗参与合成物品的耐久度。
语句:event.recipes.kubejs.shaped(配方).damageIngredient(原料动作过滤器, 损伤值);
示例:镐与铁矿石合成生铁,镐损失1耐久度。
ServerEvents.recipes(event => {
event.recipes.kubejs.shaped('minecraft:raw_iron',
[
' ',
' AB',
' '
],
{
A: '#minecraft:pickaxes',
B: '#forge:ores/iron'
}
)
.damageIngredient('#minecraft:pickaxes', 1)
})
消耗原料耐久度的无序合成
消耗参与合成物品的耐久度。
语句:event.recipes.kubejs.shapeless(配方).damageIngredient(原料动作过滤器, 损伤值);
示例:镐与铁矿石合成生铁,镐损失1耐久度。
ServerEvents.recipes(event => {
event.recipes.kubejs.shapeless('minecraft:raw_iron',
[
'#minecraft:pickaxes',
'#forge:ores/iron'
]
)
.damageIngredient('#minecraft:pickaxes', 1)
})
锻造台
升级
如钻石装备升级为下界合金装备。
语句:event.recipes.minecraft.smithing_transform(输出物品, 锻造物品, 锻造原料)。
例子:下界合金升级锻造模板(默认加的) + 生铁 + 木炭 -> 铁锭。
// 换行为了是避免太长看的难受,可以不换行
ServerEvents.recipes(event => {
event.recipes.minecraft.smithing_transform(
// 输出铁锭
'minecraft:iron_ingot',
// 输入生铁
'minecraft:raw_iron',
// 添加木炭
'minecraft:charcoal'
)
})
替换模板的升级
升级,但更改默认的下界合金锻造模板。
语句:event.recipes.minecraft.smithing_transform(输出物品, 输入物品, 添加物品).template(替换模板的物品)
例子:铁锭(占据模板的位置) + 生铁 + 木炭 -> 铁锭。
// 换行为了是避免太长看的难受,可以不换行
ServerEvents.recipes(event => {
event.recipes.minecraft.smithing_transform(
'minecraft:iron_ingot',
'minecraft:raw_iron',
'minecraft:charcoal'
).template('minecraft:iron_ingot');
// 如果替换为'minecraft:air'会在JEI中显示不出输出物品,其他物品管理器模组未测试,但配方正常。
})
模板纹饰
按模板为盔甲添加纹饰。
语句:event.recipes.minecraft.smithing_trim(锻造模板, 锻造物品, 锻造原料)。
例子:暂无示例,请等待更新
ServerEvents.recipes(event => {
// event.recipes.minecraft.smithing_trim();
})
熔炉
熔炉普通配方
使用熔炉烧物品。
语句:event.recipes.minecraft.smelting(输出物品,输入原料)。
例子:铁矿石 -> 铁锭
ServerEvents.recipes(event => {
event.recipes.minecraft.smelting('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore')
)
})
也可以把输入物品换成标签
例子:forge铁矿石标签 -> 铁锭
ServerEvents.recipes(event => {
event.recipes.minecraft.smelting('minecraft:iron_ingot',
Ingredient.of('#forge:ores/iron');
)
})
熔炉配方经验
可以定义烧完物品给多少经验。
语句:event.recipes.minecraft.smelting(输出物品,输入原料,经验值)。
例子:铁矿石 -> 铁锭 给10经验(烧矿默认0.7)
ServerEvents.recipes(event => {
event.recipes.minecraft.smelting('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10
)
})
熔炉燃烧时间
可以定义烧完物品需要多少时间(游戏刻)。
语句:event.recipes.minecraft.smelting(输出物品,输入原料,经验值,游戏刻)。
例子:铁矿石 -> 铁锭 给10经验 需要10秒(原版默认5秒,200游戏刻)。
ServerEvents.recipes(event => {
event.recipes.minecraft.smelting('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10,
400
)
})
高炉
- 使用高炉烧物品,与熔炉一模一样。
高炉普通配方
语句:event.recipes.minecraft.blasting(输出物品,输入原料)
例子:铁矿石 -> 铁锭
ServerEvents.recipes(event => {
event.recipes.minecraft.blasting('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore')
)
})
高炉配方经验
可以定义烧完物品给多少经验。
语句:event.recipes.minecraft.blasting(输出物品,输入原料,经验值)。
例子:铁矿石 -> 铁锭 给10经验(烧矿默认0.7)
ServerEvents.recipes(event => {
event.recipes.minecraft.blasting('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10
)
})
高炉燃烧时间
可以定义烧完物品需要多少时间(游戏刻)。
语句:event.recipes.minecraft.blasting(输出物品,输入原料,经验值,游戏刻)。
例子:铁矿石 -> 铁锭 给10经验 需要10秒(原版默认5秒,200游戏刻)。
ServerEvents.recipes(event => {
event.recipes.minecraft.blasting('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10,
400
)
})
烟熏炉
- 使用高炉烧物品,与熔炉一模一样。
烟熏炉普通配方
语句:event.recipes.minecraft.smoking(输出物品,输入原料)
例子:铁矿石 -> 铁锭
ServerEvents.recipes(event => {
event.recipes.minecraft.smoking('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore')
)
})
烟熏炉配方经验
可以定义烧完物品给多少经验。
语句:event.recipes.minecraft.smoking(输出物品,输入原料,经验值)。
例子:铁矿石 -> 铁锭 给10经验(烧矿默认0.7)
ServerEvents.recipes(event => {
event.recipes.minecraft.smoking('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10
)
})
烟熏炉燃烧时间
可以定义烧完物品需要多少时间(游戏刻)。
语句:event.recipes.minecraft.smoking(输出物品,输入原料,经验值,游戏刻)。
例子:铁矿石 -> 铁锭 给10经验 需要10秒(原版默认5秒,200游戏刻)。
ServerEvents.recipes(event => {
event.recipes.minecraft.smoking('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10,
400
)
})
营火
- 使用营火烧物品,与熔炉一模一样。
营火普通配方
语句:event.recipes.minecraft.campfire_cooking(输出物品,输入原料)
例子:铁矿石 -> 铁锭
ServerEvents.recipes(event => {
event.recipes.minecraft.campfire_cooking('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore')
)
})
营火配方经验
可以定义烧完物品给多少经验。
语句:event.recipes.minecraft.campfire_cooking(输出物品,输入原料,经验值)。
例子:铁矿石 -> 铁锭 给10经验(烧矿默认0.7)
ServerEvents.recipes(event => {
event.recipes.minecraft.campfire_cooking('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10
)
})
营火燃烧时间
可以定义烧完物品需要多少时间(游戏刻)。
语句:event.recipes.minecraft.campfire_cooking(输出物品,输入原料,经验值,游戏刻)。
例子:铁矿石 -> 铁锭 给10经验 需要10秒(原版默认5秒,200游戏刻)。
ServerEvents.recipes(event => {
event.recipes.minecraft.campfire_cooking('minecraft:iron_ingot',
Ingredient.of('minecraft:iron_ore'),
10,
400
)
})
切石机
使用切石机合成。
语句:event.recipes.minecraft.stonecutting(输出物品,输入原料)
例子:铁矿石 -> 生铁
ServerEvents.recipes(event => {
event.recipes.minecraft.stonecutting('minecraft:raw_iron', Ingredient.of('minecraft:iron_ore'))
})
参考文献
wudi的配方教程: wudi-gitbook