Skip to content

Mod结构

首先你要做个Mod你肯定要有个文件夹放相关资源如地图, 贴图, 对话, 音频等, 我们这里称他为MyMod, 又由于Everest会从蔚蓝根目录下的Mods文件夹里读取所有Mod, 所以这里的MyMod要放到Mods文件夹内, 然后假设你的地图文件为MyFirstMap.bin(在Loenn里作完图保存后的文件)

此时只需摆出如下文件结构你就可以开始游玩你的地图了, 记得放重生点(憋笑)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Celeste
    - Mods
        - OtherMod1
        - OtherMod2
        - OtherMod3
        - MyMod  // 你的Mod
            - Maps 
                - MyFirstMap.bin  // A面
                - MyFirstMap-B.bin  // B面
                - MyFirstMap-C.bin  // C面
                - MyFirstMap1.bin  // 如果名字不一样地图就会被分成多个模块, 就像草莓酱的初级, 高级, 大师级大厅那样

但此时你需要了解一下Everest处理这些文件的逻辑: 按照原版的路径(请查看Celeste/Content路径下的文件夹), Everest会把要加载的Mod里的的资源( 包括官图的Maps, Dialog, Audio, Graphics等)合并到一起(对于大部分文件来说是覆盖, 而对Dialog文件来说是合并), 做好合并工作后Everest就可以像处理原版东西那样处理我们的东西了

这也是为什么我们添加自定义的资源时文件路径要多套几层, 目的就是为了不和其他人的Mod重名, 一般来说两层足矣, 所以结构一般是Maps/{作者名}/{地图集名字}/{地图}.bin

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Celeste
    - Mods
        - OtherMod1
        - OtherMod2
        - OtherMod3
        - MyMod  // 你的Mod
            - Maps 
                - 作者名
                    - 地图集名字
                         - MyFirstMap.bin  
                         - MyFirstMap-B.bin
                         - MyFirstMap-C.bin
                         - MyFirstMap1.bin 

然后你这个Mod肯定还要提供一些必要的信息吧, 比如你这个Mod叫什么, 已经是第几个版本了(Mod也会更新的嘛), 需要别的什么Mod(即你的Mod用到了哪些Mod里的东西), 如果是CodeMod, 还需要填上Dll相关信息, 而这些就需要everest.yaml出手了, 具体格式看上面教程的

常见错误

当你发布你的Mod的时候你要把你Mods里Maps同级的文件打包到一个.zip文件里, 而不是把你的整个Mod打包成.zip

例如这样是对的

1
2
3
4
- 你的Mod.zip
    - Maps
    - Graphics
    - everest.yaml

这样是错的

1
2
3
4
5
- xxx.zip
  - MyMod
      - Maps
      - Graphics
      - everest.yaml