如何添加mod专属制作栏|饥荒联机版

这只是一个教程
看到有人发了一个三行制作栏https://steamcommunity.com/sharedfiles/filedetails/?id=2799973572
最后提到可以用API来做,但是没有给出,那我就帮忙补充一下吧,贴一下代码
GLOBAL.setmetatable(env,{__index=function(t,k) return GLOBAL.rawget(GLOBAL,k) end})
STRINGS.UI.CRAFTING_FILTERS.LYKZ="龙蝇客栈"--制作栏的名字,鼠标放上去会显示,不写也没关系
AddRecipeFilter({name="LYKZ",atlas = "images/inventoryimages/lykz.xml", image = "lykz.tex"})--API,添加制作栏,就这么简单,一行代码就够了,参数是名字(可以大写小写或者中文,但小写最后还是会变成大写)和图片,自己加上就好,除此之外还能加入其他参数比如index来改变制作栏的序号,不过一般只要这三个就行
local lykzrecipe={
"lykz",
"xdhat",
"longying",
"lykzfubag",
"longwhip",
"zxtw",
"deng",
"lykzshideng",
"lykzcloudskill",
"xtw",
"lykzlzhxb",
}
for k,v in pairs(lykzrecipe) do
AddRecipeToFilter(v,"LYKZ")--API,把配方添加到制作栏,这里用了遍历
end
AddRecipeToFilter("lykz","LYKZ")--也可以直接这么写
--这个API没什么好说的就是把配方插入制作栏(补充一点,插入制作栏的名称要大写,因为添加制作栏的API会自动帮你大写)
或者你能直接改配方,不用API更好,直接在你原来的配方配方的filters参数,加入自定义的制作栏就好
今晚早点睡提供的思路
local params={}
params[1] = {
name = name,
ingredients = ingredients,
tech = tech or TECH.NONE,
config = config or {},
filters = {"制作栏1","制作栏2"} 可以有很多个制作栏
}
AddRecipe2(params[1].name, params[1].ingredients, params[1].tech, params[1].config, params[1].filters)
除此之外官方在4月9日的补丁中提到
Filters added by mods will now resize the crafting menu to make room.
现在过滤器添加到插件将调整制作菜单腾出空间。
mod添加的制作栏会自动适应,也就是位置不够就会往下新增一行
所以不需要其他游戏文件的修改
补充内容,STRINGS.UI.CRAFTING_STATION_FILTERS[string.upper("lykz")]=STRINGS.NAMES.LYKZ
AddPrototyperDef("lykz",{icon_atlas = "images/inventoryimages/lykz.xml", icon_image = "lykz.tex",is_crafting_station = true,})
添加mod科技站,针对的是那种必须在科技站(例如远古科技)旁边才能造的配方
AddRecipeToFilter(v,"CRAFTING_STATION")--"CRAFTING_STATION"就是科技站的栏位,靠近科技站时配方会显示在这一栏位
不需要任何新东西,用mod原有的即可
可以自行找想要的mod作者兼容
如果你想的话,甚至可以在 取得授权 之后自己动手,帮助一些退坑或者没时间的作者兼容一下