Menu
On this page
Sidebar Navigation
快速入门
组件介绍
事件
函数库
服务模块
全局函数
枚举
脚本常见问题
进阶指南
更新日志
MOD、组件介绍
1. 什么是MOD
MOD(模组)就像是给游戏准备的 "超级补丁"。想象一下,你有一个自己很喜欢的玩具(游戏),但是玩了一段时间后,觉得它还可以有一些新玩法或者新样子。MOD(模组)就是能帮你实现这个想法的东西。
在迷你世界里面,你可以通过模组给游戏添加各种各样的新东西,比如新的物品、方块、生物、地形等,让你有更多的素材去建造和探索。
你还能改变游戏的玩法规则 ,像把生存模式变得更难或更简单,另外还可以提升游戏的画面效果 ,让游戏里的世界看起来更漂亮、更真实,比如有更好的光影效果、更精美的材质等。甚至还能为你提供一些实用的工具和功能,比如方便的背包整理、地图导航、物品合成提示等。
多个模组还可以整合到一个地图里,融合成一个定制化的冒险世界。
那MOD是如何通过编辑器制作的呢?
2. 编辑器搭建一个"舞台"
游戏世界是一个舞台,可以把编辑器想象成一个搭建舞台(游戏世界)的工具。
首先,这个舞台有一个很大的空间,这个空间可能有各种各样的天气、时间变化、以及不同的灯光效果等,这个称为**"环境"**。
在这个空间里,你可以放置各种各样的东西,比如角色(像游戏里的英雄、怪物)、道具(武器、药品)、建筑(城堡、房屋)等。这些东西都被称为 游戏**"对象"**。例如,你要制作一个简单的冒险游戏,你可以先在这个 "舞台" 上放置一个代表玩家角色的游戏对象,再放置一些代表敌人的游戏对象,以及一些地牢、城堡、灯笼等作为场景装饰。
**"UI界面"**就像是游戏世界里的一个特殊区域,这个区域是专门为玩家和游戏进行交互而设立的。可以把它看作是一个操作控制台,上面有各种按钮、滑块、输入框等,就像我们生活中电器的遥控器一样。
上述所说的环境、对象、UI界面,对应在迷你世界里是这样的。
3. 组件是演员的技能和装备
每个游戏对象就像一个演员,它们有自己的 "技能" 和 "装备",这些被称为 "组件"。
比如,对于玩家角色这个游戏对象,它可能有一个物理组件,开启了 "碰撞事件",这就好比演员有了触觉,能够感知自己什么时候碰到了其他东西。如果玩家角色碰到了敌人,就可以通过这个组件来检测到碰撞,然后触发战斗场景。
通过模型组件 ,我们可以更改演员的外观以及物品的材质贴图。另外,游戏对象还可以有 触发器组件,这就像是演员的大脑,能够让它按照你编写的规则来行动,比如让玩家角色在按下某个按键时跳跃或者攻击。
4. 触发器、Lua是演员的表演指导
触发器、Lua是工具中非常重要的部分,它就像是给游戏对象(演员)的表演指导 。例如,你写了一个逻辑,告诉玩家角色,当按下键盘上的 "W" 键时,就向前移动。这个逻辑会被附加到玩家角色这个游戏对象的 "自定义组件" 上。
而且逻辑还可以控制游戏对象之间的交互。比如,你可以写一个脚本,当玩家角色碰到一个金币道具(另一个游戏对象)时,就把金币的数量加 1,同时让金币消失。这样,通过逻辑,游戏中的各种游戏对象就能够按照你想要的方式进行互动,让游戏变得更加有趣。
5. 世界编辑
点击玩法,我们可以对世界进行基本设定。包括对时间、天气、天空盒、滤镜、音乐音效、生物生成规则、开局设定、重生规则、界面等等基本设置。
另外在资源背包里,仍有一部分内容也属于这个世界的运转规则和资源,我们导入或编辑之后,可以使用触发器或者组件来调用他们。
其中配方和熔炼属于迷你世界冒险里面的特有规则,配方是工作台或者秘银锅等的合成配方配置,而熔炼则是配置冶炼台的可燃烧材料、冶炼材料和熔炼产出。
6. 组件编辑
进入对象或者世界编辑后,我们可以看到它们身上都挂载了许多组件。这些组件可以控制对象的外观、属性、物理特性、行为逻辑等等,给"舞台"上的"演员"赋予了生命。
官方提供了一些封装好的组件,我们可以通过组件面板直接更改对象的属性。也可以卸载掉一些不需要使用的组件。
如果官方组件不能满足需求,我们也可以通过添加触发器组件/脚本组件 来制作新的组件。(对于高手来说,通过把同类型的逻辑封装成组件,可以让我们的代码更加精简易于管理。)如果不了解触发器可以查看 触发器文档
例如:我们制作一个掉落物组件,来设置不同的生物被击败后,掉落不同的物品。
lua
local Script = {} --属性定义 Script.propertys = { varNum = { type = Mini.Number, --定义了一个数值类型的参数 default = 2,--默认值 displayName = "掉落物数值", }, varItem = { type = Mini.Item,-- --定义了一个道具类型的参数 default = 11668,-- 默认值 displayName = "掉落物道具",-- 属性别名 }, } -- 组件启动时调用 function Script:OnStart() -- 监听个体事件 当此对象被击败时触发 self:AddEvent(ObjectEvent.ObjectDie, self.OnObjectDie) -- ObjectEvent.ObjectDie为官方事件,可以在wiki的事件库中查看更多事件 -- self.OnObjectDie 为下方自定义的一个函数 end function Script:OnObjectDie(event) -- 定义此生物死亡时的动作 GameObject:CreatePrefab(ObjType.DropItem, self.varItem, event.x,event.y+1,event.z, self.varNum) -- 预制体类型:ObjType.DropItem 为掉落物,可以在wiki中查看其他类型 -- 掉落物类型:self.varItem从属性面板读取创建的道具类型 -- 事件中的位置: event.x,event.y+1,event.z, event.y+1让创建的高度必死亡的高一格 -- 掉落物数量:self.varNum从属性面板读取创建的掉落物数量 end return Script完整视频教程
所有自定义的组件,除了在编辑对象时使用之外,还可以在资源背包里统一编辑管理。(此处编辑组件,会影响所有调用了这个组件的对象)
接下来,你可以继续学习Lua语言的基础语法,也可以阅读详细的迷你世界API接口。
Last updated: 2025/4/21 18:47
Pager
迷你世界UGc3.0脚本Wiki[MOD、组件介绍]
星空露珠2026-06-30 11:59
