➕️ 添加新内容

本页主要说明如何管理自定义内容

资源

在插件根目录(plugins/CraftEngine/resources/)中存放着所有内容包,这些包的名称可自由定义。每个内容包由两个文件夹和一个YAML文件构成:文件夹分别存储配置和资源包,YAML文件则保存该内容包的元数据

plugins
  └ CraftEngine
     └ resources
         ├ pack_1
         ├ pack_2
         └ pack_3
            ├ configuration
            ├ resourcepack
            └ pack.yml

包元文件

元文件是一个记录基础信息的YAML文档,其中最重要的条目是 namespace

author: XiaoMoMi
version: 0.0.1
description: CraftEngine默认资源
namespace: default
enable: true # 设置为 false 可禁用此包

命名空间的作用范围仅限于YAML层级结构中根节点下的二级节点,如示例中的"default:palm_leaves"与"palm_leaves"。若在pack.yml中指定了命名空间,当未显式声明命名空间时,将默认使用包命名空间

blocks:
  default:palm_leaves:
    behavior:
      type: leaves_block

等价于

blocks:
  palm_leaves:
    behavior:
      type: leaves_block

配置

plugins
  └ CraftEngine
     └ resources
         └ pack
            └ configuration

配置文件存储于以下目录中,支持json和yml两种格式。您可以在配置目录下自由创建任意数量的子目录

资源包

plugins
  └ CraftEngine
     └ resources
         └ pack
            └ resourcepack
               ├ assets
               ├ overlay_folder
               ├ pack.mcmeta
               └ pack.png

请确保您的资源包目录结构如下图所示,否则可能导致一些合并问题。其中overlay_folder文件夹、pack.mcmeta和pack.png文件并非必需项

版本适配配置

CraftEngine允许为不同服务端版本添加差异化配置,只需在YAML文件中使用$$版本号格式的键名即可

示例1:值选择器

my_config.yml
settings:
  status:
    $$1.21.4: "启用"
    $$1.20.1: "禁用"
  max_players:
    $$1.19: 50
    $$1.20~1.21.3: 80
    $$>=1.21.4: 100
  allowed_worlds:
    $$1.18: ["world", "world_nether"]
    $$fallback: ["default"]  # 无匹配版本时的回退值

示例2:区块合并

other_config.yml
server_properties:
  motd: "通用服务器"
  online_mode: true
  # 这是一个常规映射,但包含版本化区块
  # 因存在常规键(motd/online_mode)故不属于值选择器
  $$1.21.4:
    # 该区块会合并到server_properties中
    motd: "1.21.4专属服务器!"  # 覆盖通用motd
    new_feature_enabled: true  # 添加新配置项

最后更新于

这有帮助吗?