Skip to content

Latest commit

 

History

History
166 lines (137 loc) · 7.88 KB

总体配置结构.md

File metadata and controls

166 lines (137 loc) · 7.88 KB

总体配置结构

在进行安装,配置之后你就可以往你的服务器里添加许多的自定义内容了,接下来你将学习到如何添加自定义内容,但是首先,我们先来了解一下 ItemsAdder 的文件大体框架

当你进入 ItemsAdder 的配置文件夹后你会看到以下文件

ItemsAdder
│  config.yml
│  ia_gui.yml
├─contents
│  └─namespace
│      ├─configs
│      │  └─config
│      └─resourcepack
│          └─assets
│              └─textures
├─lang
│      zh_cn.yml
├─output
│      generated.zip
└─storage
    │  custom_fires_ids_cache.yml
    │  font_images_unicode_cache.yml
    │  items_ids_cache.yml
    │  real_blocks_ids_cache.yml
    │  real_blocks_note_ids_cache.yml
    │  real_transparent_blocks_ids_cache.yml
    │  real_wire_ids_cache.yml
    └─cache
        └─various
                cache.nbt
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 个文件夹组成:

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

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

当然也支持更多的文件结构:

结构 1 :

contents
 └── my_items
     ├── configs
     │   ├── example.yml
     │   └── example_1.yml
     └── resourcepack
         └── assets
             └── my_items
                 ├── models
                 │   └── items
                 │       └── example_item.json
                 └── textures
                     └── items
                         └── example_texture.png
⚠️ 默认且最完整的结构

结构 2 (不推荐):

contents
└── my_items
    ├── configs
    │   ├── example.yml
    │   └── example_1.yml
    └── resourcepack
        └── my_items
            ├── models
            │   └── items
            │       └── example_item.json
            └── textures
                └── items
                    └── example_texture.png

结构 3 (不推荐):

contents
└── my_items
    ├── configs
    │   ├── example.yml
    │   └── example_1.yml
    └── assets
        └── my_items
            ├── models
            │   └── items
            │       └── example_item.json
            └── textures
                └── items
                    └── example_texture.png

结构 4 (不推荐):

contents
└── my_items
    ├── configs
    │   ├── example.yml
    │   └── example_1.yml
    └── my_items
        ├── models
        │   └── items
        │       └── example_item.json
        └── textures
            └── items
                └── example_texture.png

resourcepack 文件夹

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

我们随意打开一个网上下载的资源包,发现一进入压缩包预览页面,映入眼帘的往往是一个 minecraft 文件夹,这就是 Minecraft 原版自身给自己的命名空间,游戏自身会在这个命名空间内找到自己所要的纹理、模型、音效等等。 而我们自己也可以创建一个新的命名空间,把自己想要增加的纹理、模型、音效等等放入进去,更好的管理它们,在需要修改、删除它们时能快速定位到其所在目录。

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

包和 namespace 的关系

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

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

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

资源包结构了解

一个资源包由任意命名空间组成,原版自身使用了 minecraft 命名空间,即一打开资源包出现的 minecraft 文件夹。 各命名空间下常用的文件夹是: models 文件夹:存放模型文件的地方。 textures 文件夹:存放纹理文件(即材质图片)的地方。 sounds 文件夹:存放音效文件的地方。 lang 文件夹:存放语言文件的地方。 ··· ··· ··· ···