本篇教程由作者设定未经允许禁止转载。
本教程的资料来源于官方WIKI
开始要做的
首先把GrS放入mods文件,并启动一次,让他生成文件.
然后打开:minecraft\groovy\postInit 这里就是存放脚本的地方.
使用 VScode 或其他文本编辑器打开文件.
注意事项
会用到的指令
获取手上物品(目视方块)数据/grs hand
热重载/grs reload
输出日志/grs log
魔改工作台配方
添加工作台配方
//创建一个有序配方
crafting.shapedBuilder()
.name('配方名') // 配方名
.output(输出物品 * 数量) // 输出物品 (*数量)可省略
.matrix('NIN', // 配方格式
'DSD',
'NIN')
.key('N', 输入物品) // 将物品定义为N
.key('I', 输入物品) // 将物品定义为I
.key('D', 输入物品) // 将物品定义为D
.key('S', 输入物品) // 将物品定义为S
.register() // 结束
//创建一个有序配方
crafting.shapedBuilder()
.name('配方名') // 配方名
.output(输出物品 * 数量) // 输出物品 (*数量)可省略
.matrix('N N', // 可省略较小配方的行和列
' S ',) // 希望插槽为空打空格即可
.key('N', 输入物品) // 将物品定义为N
.key('S', 输入物品) // 将物品定义为S
.register() // 结束
// 创建一个无序配方
crafting.shapelessBuilder()
.name('配方名') // 配方名
.output(输出物品 * 数量) // 输出物品 (*数量)可省略
.input(输入物品1)
.input(输入物品2)
.input(输入物品3, 输入物品4)
.register()
另一种方式
//添加一个3*3的有序配方,
crafting.addShaped(输出物品, [
[输入物品1, 输入物品2, 输入物品3],
[输入物品4, 输入物品5, 输入物品6],
[输入物品7, 输入物品8, 输入物品9]
])
//添加一个2*2的配方
crafting.addShaped(输出物品, [
[输入物品1, 输入物品2],
[输入物品3, 输入物品4]
])
//添加一个无序配方.
crafting.addShapeless(输出物品, [输入物品1, 输入物品2, 输入物品3])
//八个泥土围一圈合成四个黏土块
crafting.addShaped(item('minecraft:clay')*4, [
[item('minecraft:dirt'), item('minecraft:dirt'), item('minecraft:dirt')],
[item('minecraft:dirt'), null, item('minecraft:dirt')],
[item('minecraft:dirt'), item('minecraft:dirt'), item('minecraft:dirt')]
])
//三个木板竖着合成一个木棍
crafting.addShaped(item('minecraft:stick'), [
[ore('plankWood')],
[ore('plankWood')],
[ore('plankWood')]
])
//一个金锭和一个黏土无序合成成钻石
crafting.addShapeless(item('minecraft:diamond'), [item('minecraft:clay_ball'), item('minecraft:gold_ingot')])
移除工作台配方
crafting.remove(删除物品)
//也可以写成
crafting.removeByOutput(删除物品)
魔改熔炉配方
添加熔炼配方
furnace.add(输入物品, 输出物品, 经验数量f)
//(经验数量f)可省略
删除熔炼配方
furnace.removeByInput(输入物品)
矿辞修改
添加矿辞
//三种方法都行
oreDict.add("amogus",item('minecraft:iron_ingot'))
//oreDict.add("矿辞",物品)
item('minecraft:iron_ingot').addOreDict(ore('amogus'))
//物品.addOreDict(要添加到的矿辞)
ore('amogus').add(item('minecraft:iron_ingot'))
//要添加到的矿辞.add(物品)
将物品从矿辞中删除
//三种方法都行
oreDict.remove("ingotIron", item('minecraft:iron_ingot'))
////oreDict.remove("矿辞",物品)
item('minecraft:iron_ingot').removeOreDict(ore('ingotIron'))
//物品.removeOreDict(矿辞)
ore('ingotIron').remove(item('minecraft:iron_ingot'))
//矿辞.remove(物品)
实用拓展Actually Additions
魔改原子再构机
//添加配方
mods.actuallyadditions.atomic_reconstructor.recipeBuilder()
.input(输入物品)
.output(输出物品)
.energy(消耗能量)//可省略
.register()
//删除配方
mods.actuallyadditions.atomic_reconstructor.removeByInput(输入物品)
//删除有输入物品的配方
mods.actuallyadditions.atomic_reconstructor.removeByOutput(输出物品)
//删除输出物品的配方
mods.actuallyadditions.atomic_reconstructor.removeAll()
//删除所有配方
魔改充能台
//添加配方
mods.actuallyadditions.empowerer.recipeBuilder()
.mainInput(充能台中心物品)
.input(输入物品1,输入物品2,输入物品3,输入物品4)
.output(输出物品*数量) //数量可省略
.time(用时) //单位为tick 一秒=20tick
.energy(能量) //总耗电=能量*4
.color(0.5, 0.3, 0.2) //激光颜色
.register()
mods.actuallyadditions.empowerer.recipeBuilder()
.mainInput(充能台中心物品)
.input(输入物品1,输入物品2,输入物品3,输入物品4)
.output(输出物品*数量) //数量可省略
.time(用时) //单位为tick 一秒=20tick
.energy(能量) //总耗电=能量*4
.particleColor(0x00FF88) //激光颜色
.register()
//删除配方
mods.actuallyadditions.empowerer.removeByInput(中心输入物品)
//删除输入物品的配方
mods.actuallyadditions.empowerer.removeByOutput(输出物品)
//删除输出物品的配方
mods.actuallyadditions.empowerer.removeAll()
//删除所有配方
血魔法
魔改炼金矩阵
添加配方
mods.bloodmagic.alchemy_array.recipeBuilder()
.input(输入物品1)//先放的
.catalyst(催化剂)//后放的
.output(输出物品)
.texture(贴图位置)//可省略
.register()
删除配方
mods.bloodmagic.alchemy_array.removeByCatalyst(催化剂)
//删除有此催化剂的配方
mods.bloodmagic.alchemy_array.removeByInput(输入物品)
//删除输入物品的配方
mods.bloodmagic.alchemy_array.removeByInputAndCatalyst(输入物品, 催化剂)
//删除指定配方
mods.bloodmagic.alchemy_array.removeByOutput(输出物品)
//删除输出物品的配方
mods.bloodmagic.alchemy_array.removeAll()
//删除所有配方
炼金术桌魔改
//添加合成
mods.bloodmagic.alchemy_table.recipeBuilder()
.input(输入物品1, 输入物品2,输入物品3,输入物品4)//最少一个,最多4个
.output(输出物品)
.ticks(100)//耗时 20tick=一秒
.minimumTier(2)//需求宝珠等级
.syphon(500)//生命源质消耗量
.register()
mods.bloodmagic.alchemy_table.recipeBuilder()
.input(输入物品1, 输入物品2,输入物品3,输入物品4)//最少一个,最多4个
.output(输出物品)
.time(2000)//耗时 20tick=一秒
.tier(5)//需求宝珠等级
.drain(25000)//生命源质消耗量
.register()
删除合成
mods.bloodmagic.alchemy_table.removeByInput(所有输入物品)
mods.bloodmagic.alchemy_table.removeByOutput(输出物品)
mods.bloodmagic.alchemy_table.removeAll()//删除全部配方
血之祭坛魔改
//添加合成
mods.bloodmagic.blood_altar.recipeBuilder()
.input(输入物品)
.output(输出物品)
.minimumTier(0)//需求等级
.drainRate(5)//无法消耗生命源质时每秒损失的生命源质量
.syphon(10)//需求生命源质总量
.consumeRate(5)//每秒的消耗量
.register() //总时间=总消耗量/每秒消耗量
mods.bloodmagic.blood_altar.recipeBuilder()
.input(输入物品)
.output(输出物品)
.tier(3) //需求等级
.drainRate(100) //无法消耗生命源质时每秒损失的生命源质量
.syphon(50000) //需求生命源质总量
.consumeRate(500)//每秒的消耗量
.register() //总时间=总消耗量/每秒消耗量
删除配方
mods.bloodmagic.blood_altar.removeByInput(输入物品)
mods.bloodmagic.blood_altar.removeByOutput(输出物品)
mods.bloodmagic.blood_altar.removeAll()//删除全部配方
献祭刀魔改
//添加配方
mods.bloodmagic.sacrificial.recipeBuilder()
.entity('minecraft:enderman')//生物名
.value(1000)//每次获取的生命源质
.register()
//删除配方
mods.bloodmagic.sacrificial.remove(entity('minecraft:villager'))//生物名
mods.bloodmagic.sacrificial.remove(resource('minecraft:villager'))//生物名
mods.bloodmagic.sacrificial.remove('minecraft:villager')//生物民
mods.bloodmagic.sacrificial.removeAll()//删除全部
浴火熔炉魔改
mods.bloodmagic.tartaric_forge.recipeBuilder()
.input(输入物品)//最少一个 最多4个
.output(输出物品)
.soulDrain(5)//消耗恶魔意志量
.minimumSouls(10)//需要多少恶魔意志才能合成配方
.register()
mods.bloodmagic.tartaric_forge.recipeBuilder()
.input(输入物品)//最少一个 最多4个
.output(输出物品)
.drain(200)//消耗恶魔意志量
.minimumSouls(500)//需要多少恶魔意志才能启动配方
.register()
//删除配方
mods.bloodmagic.tartaric_forge.removeByInput(输入的所有物品)
mods.bloodmagic.tartaric_forge.removeByOutput(输出物品)
mods.bloodmagic.tartaric_forge.removeAll() //删除所有配方