饥荒联机版Mod开发——制作栏(九)
饥荒联机版Mod开发——制作栏(九)
- 前言
- 添加物品到制作栏
- 添加分解配方
- 自定义制作栏过滤器
- 配方后初始化
- 传送门
前言
物品栏的API是写在modmain.lua里的,基本上就一行代码。不过在使用前先加上下面这行代码,实现一键GLOBAL,直接用XXX来访问GLOBAL.XXX。
GLOBAL.setmetatable(env,{__index=function(t,k) return GLOBAL.rawget(GLOBAL,k) end})
添加物品到制作栏
--写法参考:recipes.lua,直接把Recipe2(...)的那堆参数copy过来用就行,参数是对应的--添加配方,默认添加在MODS过滤器中
--name: 预设物名,自定义预设物需要配置config中的atlas--ingredients:{Ingredient(...),Ingredient(...)} Ingredient定义在在recipe.lua
--Ingredient(prefab, amount, atlas=nil, deconstruct=false, imageoverride=nil)
--当材料是自定义prefab时,指定atlas为材料物品栏贴图即可, "images/inventoryimages/yyy.xml" --tech:TECH.NONE TECH.SCIENCE_ONE TECH.SCIENCE_TWO,看constants.lua中的TECH表
--[[
config={builder_tag = {"wilson"}, --建筑者需要的tag,一般用于专属配方atlas = "images/inventoryimages/xxx.xml", --自定义预设物需要指定贴图image = "xxx.tex", --不填就默认是参数 name..".tex"--其他参数如:build_distance,min_spacing,nounlock等建筑解锁相关的
}
--看recipe.lua中Recipe2的config参数]]
--filters = {"TOOLS", "LIGHT"},recipes_filter.lua中CRAFTING_FILTER_DEFS的name
AddRecipe2(name, ingredients, tech, config=nil, filters=nil)--添加角色专属配方
--在建筑者标签是必须的,记得在你人物的预设物中添加这个标签
--config={builder_tag = ""}
--extra_filters:除角色过滤器外的过滤器名,如{"TOOLS", "LIGHT"}
AddCharacterRecipe(name, ingredients, tech, config, extra_filters=nil)
例子:添加自定义预设物到MODS过滤器
--modmain.lua
GLOBAL.setmetatable(env,{__index=function(t,k) return GLOBAL.rawget(GLOBAL,k) end}) PrefabFiles = {"xxx",
}
--[[
xxx.lua 预设物中记得加载贴图
local assets = {Asset( "IMAGE", "images/inventoryimages/xxx.tex" ), Asset( "ATLAS", "images/inventoryimages/xxx.xml" ),
}
--]]
AddRecipe2("xxx", {Ingredient("cutgrass", 2), Ingredient("ice", 1)},TECH.NONE, {atlas = "images/inventoryimages/xxx.xml"})
添加分解配方
--recipes.lua,直接把DeconstructRecipe(...)的那堆参数copy过来用就行,参数是对应的
--name和ingredients参数同上
AddDeconstructRecipe(name, ingredients)
自定义制作栏过滤器
--[[
filter_def = { --参考recipes_filter.lua中的CRAFTING_FILTER_DEFS的写法name = "MYFILTER", --独一无二的过滤器名atlas = "images/myfilter.xml", --原始贴图54x54像素,64x64的也会默认缩放成54x54image = "myfilter.tex",--下面是可选参数--image_size = 80, --表示缩放到80x80像素 --custom_pos = true, --表示不添加在下面的网格中,如FAVORITES(收藏夹)
}
--]]
--index:插入表的位置,默认是插在最后面
同时要在modmain.lua中设置鼠标悬浮时的文字
STRINGS.UI.CRAFTING_FILTERS[filter_def.name] = "Hover Text"AddRecipeFilter(filter_def, index=#CRAFTING_FILTER_DEFS+1)--从过滤器中添加/删除配方
--recipe_name:Recipe2及AddRecipe2中的name
--filter_name:filter_def中的name,及recipes_filter.lua中CRAFTING_FILTER_DEFS的name
AddRecipeToFilter(recipe_name, filter_name)
RemoveRecipeFromFilter(recipe_name, filter_name)
例子:
--modmain.lua
GLOBAL.setmetatable(env,{__index=function(t,k) return GLOBAL.rawget(GLOBAL,k) end}) --加载必须的贴图资源
Assets = {Asset( "IMAGE", "images/myfilter.tex" ), --64x64像素即可Asset( "ATLAS", "images/myfilter.xml" ),
}--添加悬浮文字
STRINGS.UI.CRAFTING_FILTERS["myfilter"] = "Hover Text"
--自定义过滤器
AddRecipeFilter({name = "MYFILTER", --独一无二的过滤器名atlas = "images/myfilter.xml", --原始贴图54x54像素,64x64的也会默认缩放成54x54image = "myfilter.tex",--下面是可选参数--image_size = 80, --表示缩放到80x80像素 --custom_pos = true, --表示不添加在下面的网格中,如FAVORITES(收藏夹)
})
--添加配方到过滤器
AddRecipeToFilter("tophat", "MYFILTER")
AddRecipe2("waterballoon",{Ingredient("cutgrass", 2), Ingredient("ice", 1)},
TECH.NONE, nil, {"MYFILTER"})
配方后初始化
--fn参数:self,对应recipe中的Recipe类的对象
AddRecipePostInitAny(fn)
AddRecipePostInit(recipe_name, fn)
传送门
→饥荒联机版Mod开发——两种帽子(十)
←饥荒联机版Mod开发——常用inst方法(八)
饥荒联机版Mod开发——制作栏(九)相关推荐
- 饥荒联机版Mod开发——制作烹饪锅食物(六)
饥荒联机版Mod开发--制作烹饪锅食物(六) 前言 准备工作 编写菜谱 制作预设物 添加菜谱 传送门 前言 核心组件及其流程如下: 材料 -> 烹饪锅(stewer) -> 食物(吃edi ...
- 饥荒联机版Mod开发——制作可入锅,烹饪,凉干的食物(七)
饥荒联机版Mod开发--制作可入锅,烹饪,凉干的食物(七) 可入锅 可烹饪 可凉干 传送门 可入锅 参考:cooking.lua 先来看一下官方代码 --names:{"prefab1&qu ...
- 饥荒联机版Mod开发——两种帽子(十)
饥荒联机版Mod开发--两种帽子(十) 前言 总览与下载 动画 代码 modmain 露头类帽子 基本的预设物框架 穿戴 可交易 腐烂及可放冰箱 总的代码 不露头类帽子 差异 基本代码 耐久 其他功能 ...
- 饥荒联机版Mod开发——常用inst方法(八)
饥荒联机版Mod开发--常用inst方法(八) 前言 生成实体 监听/推送事件 使用标签 增删组件 网络组件 定时/阶段任务 回调函数 父子实体 平台 删除 位置,角度 显示/隐藏 判断 大脑 状态图 ...
- 饥荒联机版Mod开发——配置代码环境(二)
饥荒联机版Mod开发--配置代码环境(二) 前言 下载VS Code和Lua插件 建立工作区 配置Lua插件 Git和GitHub(可选) 排除多余文件 删除scripts里多余文件 VS Code快 ...
- 饥荒联机版Mod开发——modmain(五)
饥荒联机版Mod开发--modmain(五) 前言 modmain环境 常用方法 设置环境具体流程 mods.lua modutil.lua 传送门 前言 在modmain中我们可以通过 Prefab ...
- 饥荒联机版Mod开发——Class, Prefab, component,debug(四)
饥荒联机版Mod开发--class, prefab, component,debug(四) Class的使用方法 Prefab component Entity Component Normal Co ...
- 饥荒联机版Mod开发——准备工具(一)
饥荒联机版Mod开发--准备工具 前言 工具下载 工具功能和使用 动画 c_start:反解压动画 Sprite:制作动画 打包工具:把动画再打包回去 贴图 TEXTool:查找/反解压tex tex ...
- 饥荒联机版Mod开发——衣服(十一)
饥荒联机版Mod开发--衣服(十一) 前言 总览与下载 modmain prefab 动画 前言 饥荒里面装备栏有三个地方,手,身体,头.上一期我们讲了戴头上的帽子,这期我们讲讲穿在身上的衣服.事实上 ...
- 饥荒联机版服务器mod模组在哪个文件夹,饥荒联机版MOD使用图文教程_饥荒联机版MOD怎么用_牛游戏网...
饥荒联机版相信大家都玩得不亦乐乎,在饥荒中使用MOD也是一大乐趣,不少萌新可能还不知道饥荒联机版怎么使用MOD,饥荒联机版MOD要怎么安装使用呢,下面小编就为大家带来了饥荒联机版MOD使用图文教程,给 ...
最新文章
- 大型网站采用什么系统架构保证性能稳定性
- 绘制电路图风格的纠结
- Linux 交换内存空间原理(swap)(Linux内存管理)(cgroups)
- 图解Android - Zygote, System Server 启动分析
- OpenCV训练面部界标探测器face_landmark_trainer
- AI+游戏:高效利用样本的强化学习 | 腾讯AI Lab学术论坛演讲
- python不同版本安装;第三方库的安装
- Maven 在eclipse中如何配置
- 百度云搜索引擎森林战士_纯干货:网盘搜索引擎整理
- tiny4412 编译并烧写系统
- 淘宝客系统教学系列_2.应用登录接口对接
- arcgis10.2之Maplex(高级标注扩展模块)
- codeforce 741 B. Arpa's weak amphitheater and Mehrdad's valuable Hoses(背包 dp)
- 那一年岳云鹏14岁,郭德纲26岁
- 五大常用百度高级搜索语法
- fio_generate_plots
- wps VBA 更改模块的名字,VBA模块重命名,坑
- 绩效面谈的4种技巧(一)
- 南昌计算机高职公立学校,南昌公立大专院校排名,2021年南昌专科学校名单及排名榜...
- 【周年福利Round2】都0202年了,您还不会Elasticsearch?