在《我的世界》里,mod(组件)为游戏带来了无限拓展可能。它主要由游戏地图、功能玩法、材质光影、皮肤和其他不常用的部分组成。这些丰富多样的mod,让每个玩家都能在《我的世界》中打造出属于自己的独特天地。
皮肤其实就是一张png贴图,搜索引擎搜索我的世界皮肤制作即可找到很多大神分享的教程。
功能玩法与材质光影都是通过附加包来制作。
游戏地图一般是一个搭建好的游戏存档,但是还可以添加附加包来实现更丰富的玩法。
附加包(Addon)是《我的世界》基岩版中与Java版模组相对应的内容扩展形式,是基岩版对mod的一种支持方式。
与Java版不同的是,Java版模组侧重于修改游戏本身,而附加包则遵循微软提供的开发规范,通过添加新内容来扩展游戏。
附加包分为两种类型:资源包(resource_pack)和行为包(behavior_pack)。两者可以独立运行,但通常配合使用。
行为包(behavior_pack),也称为附加包服务端或beh文件夹,负责附加包的逻辑功能。主要包括:
资源包(resource_pack),也称为附加包客户端或res文件夹,负责附加包的视觉效果和声音。主要包括:
大多数情况下需要同时使用beh文件夹和res文件夹。这两个包之间会进行通信或相互依赖才能正常运行,即在一个包中定义的资源可以被另一个包访问。
例如创建自定义实体时需要两个文件:
为了让游戏正确识别并配对两个文件,我们需要为实体定义唯一标识符。原版猪的标识符是minecraft:pig,包含两部分:
命名空间是用于标识内容归属的标识符。你可以将它们理解为文件夹。命名空间有助于避免命名冲突的产生。
在附加包创作中,命名空间本质上可以看作是"冒号左侧的部分"。例如在minecraft:zombie中,minecraft就是命名空间。其通用格式为命名空间:名称。
举个具体例子说明命名空间的重要性:假设你创建了一个新生物并命名为minecraft:shark,却不知道应该为自定义内容使用自己的命名空间。一年后Mojang决定在游戏中加入鲨鱼!此时就会出现两个minecraft:shark的定义,导致命名冲突,你的附加包将无法正常运行。
如果你当初使用你的命名空间:shark,就不会发生这种冲突。
合适的命名空间建议使用个人独特标识。类似mob、cars、content或custom这样的通用词是糟糕的命名空间选择,因为其他开发者可能会使用相同的名称。
合适的命名空间应当简短。你将会频繁使用你的命名空间,因此越简短越好。类似george_carlin_the_comedian这样的长命名空间就不太合适。
对于个人项目,建议使用玩家ID的简化版本;商业项目则建议使用公司名称的合适变体。
优秀示例:
切勿使用minecraft或minecon作为命名空间(除非修改原版文件)。
简而言之,应当尽可能多地使用命名空间。
命名空间的使用场景: