总体配置结构了解

在阅读完 首次使用 一章后,恭喜你来到了第二章。在本章你将基础地掌握 ItemsAdder 的一些基础知识。

ItemsAdder 插件内的大概框架

在此之前,我们需要了解 ItemsAdder 文件夹内的大概框架。请注意,是大概。各个文件的具体作用,将在后文陆续揭秘,此时的你不宜了解太多。

我们会发现该文件夹下有以下部分组成:

  • contents 文件夹。这是贯彻整个教程的文件夹,也是整个插件的核心所在。这里保存着所有 ItemsAdder 你所添加的内容的配置。

  • lang 文件夹。是英文单词 language(语言)的缩写,现在不用我说,你也知道这是干什么的吧。

  • storage 文件夹。这是保存 ItemsAdder 一些缓存记录的数据的地方,在教程没有特别标注的地方,请不要动这里。轻则物品的 CustomModelData 值全部被打乱,重则你的资源包就因此报废了,你要花上一整天时间去修补到底哪里不小心出现问题了。(此时的你可能看不懂到底是什么,总之记得这里很危险,不要乱动,就对了)

  • output 文件夹。你第一次使用时可能看不到这个文件夹,它的作用笔者将在后文揭秘。

  • config.yml 文件。是英文单词 configuration(配置)的缩写,同样不用我说了。

  • ia_gui.yml 文件。配置 /ia 指令后打开的各种 UI 的文件。

以上 6 个文件,在你基础的配置完 ItemsAdder 以后,基本只会看 contents 文件夹内的内容了,所以整个插件并不难,需要的是前期你的耐心。

contents 文件夹

那么,很显然,contents 文件夹是我们关注的重心,所以我们还需要对它进行研究分析,请再次打开它,我们可以发现里面包括一个名字为 _iainternal 的文件夹,这是 ItemsAdder 为你提供的基础包。

从这我们似乎不能发现什么,你可以 点击这里 下载 ItemsAdder 为你提供的示例配置。

打开示例配置,我们不难发现,contents 文件夹内包含的是其他若干文件夹,这些文件夹对应一个新的概念:,你可以做物品包、盔甲包,这些文件夹名称就是包的名称。

包文件夹内的组成

打开任意一个包所对应的文件夹,我们发现它由如下 2 个文件夹组成:

  • configs 文件夹:这个包的物品配置文件所在的文件夹,一个包可以由若干物品配置文件,物品配置文件不止止是物品,还有其他内容,只是为了方便理解叫做物品配置文件,你可以在下一节快速了解一下它。

  • resourcepack 文件夹:这个包的资源包所在的文件夹。ItemsAdder 最终发给玩家的资源包是所有包的子资源包打包后自动生成的,这时 output 文件夹作用就体现出来了:它的作用就是存放这些包的子资源包最终打包生成的总资源包。

resourcepack 文件夹

我们先不着急 configs 文件夹包括的物品配置文件的学习,因为下面我们重点学习的就是这个,在此之前,我们先来把目光投放到 resourcepack 文件夹身上。我们需要了解一个新的概念,我们称为 namespace,中文意思为命名空间。

我们随意打开一个网上下载的资源包,发现一进入压缩包预览页面,映入眼帘的往往是一个 minecraft 文件夹,这就是 Minecraft 原版自身给自己的命名空间,游戏自身会在这个命名空间内找到自己所要的纹理、模型、音效等等。

而我们自己也可以创建一个新的命名空间,把自己想要增加的纹理、模型、音效等等放入进去,更好的管理它们,在需要修改、删除它们时能快速定位到其所在目录。

在上文我们已经介绍了包的概念,在示例配置中,各个包下的 resourcepack 文件夹正是子资源包,而打开这个文件夹映入眼帘的正是 namespace

包和 namespace 的关系

首先是包的作用。例如,你可以把一些武器放在一起,再把另外的盔甲放在一起,这时,包的作用就是分类了。ItemsAdder 并不限制你的包到底是怎么区分的,但很显然在这里,笔者推荐你使用“物品分类”进行配置。

这些由你想设置的包的名称和各包下 resourcepack 文件夹下的 namespace 不必一模一样,而且一个包也可以有多个 namespace,但在本教程为了培养良好习惯,全部默认只能一样且一一对应。namespace 用于内部管理,而玩家无法看到,所以你不必填写中文,也不能使用中文,只能是 小写英文、数字和下划线 组成。

在使用插件各个指令,或者配置 ItemsAdder 内物品,乃至与 ItemsAdder 挂钩(兼容)的插件时,我们在填写 ItemsAdder 物品的名称时,非常建议你写 namespace:id 的格式,例如 weapon:starter_swordnamespace 即是文件夹的名称,id 即是物品的ID。

关于各包 resourcepack 文件夹的各命名空间下的具体结构,将在后文中陆续介绍。

最后更新于