Skip to content

样式指南

本页面镜像自
BedrockWiki

根据原始项目协议授权。本文经过AI翻译处理,如有内容遗漏,可以提交PR进行补充。

本文档将介绍基岩版Wiki官方推荐的附加包开发样式指南。本指南旨在推广附加包开发的最佳实践,并为开发者提供统一的格式规范。

TIP

本样式指南是持续更新的动态文档,将随着附加包开发技术的发展而不断完善。如果您有任何更新建议,欢迎随时联系我们!

文件夹结构

  • 文件路径中不要使用空格,使用下划线
  • 标识符、文件名和文件夹名不要使用全大写字母
  • 任何路径的总字符长度不得超过80个字符(控制台限制)
  • 内容文件夹应保持统一的复数形式:不要混合使用单复数

标识符规范

不要使用以数字开头的标识符,尤其不要使用纯数字作为标识符。此规则适用于实体(entities)、组件组(component_groups)、事件(events)以及其他所有使用命名空间:名称格式的内容。

文件与文件夹命名规范

概念示例标识符
行为包(Behavior Pack)dragons_BP
资源包(Resource Pack)dragons_RP
几何模型(Geometry)dragon.geo.json
动画(Animation)dragon.animation.json
动画控制器(Animation Controller)dragon.ac.json
资源包实体(RP Entity)dragon.ce.json
行为包实体(BP Entity)dragon.se.json
物品(1.16.100+)dragon_tooth.item.json
行为包物品(BP Item)dragon_tooth.item.bp.json
资源包物品(RP Item)dragon_tooth.item.rp.json
渲染控制器(Render Controller)dragon.rc.json
战利品表(Loot Table)dragon.loot.json
合成配方(Recipe)dragon_saddle.recipe.json
生成规则(Spawn Rules)dragon.spawn.json
交易表(Trade Table)dragon.trade.json
粒子效果(Particles)dragon_magic.particle.json
纹理贴图(Texture)dragon.png
游戏测试(Gametest)dragonTest.js

命名空间规范

合适的命名空间应具有开发者唯一性。使用mobcarscontentcustom等通用词汇作为命名空间是不恰当的,因为这些名称可能与其他开发者重复。

minecraftminecon为保留命名空间,请勿使用。

个人项目建议使用玩家ID的变体,团队项目建议使用团队名称的变体。

多人协作开发时应共享命名空间。如需注明贡献者,可以使用子索引形式:minetite.sirlich:dragon

需要使用命名空间的场景:

  • 实体(entities)
  • 粒子效果(particles)
  • 组件组(component-groups)
  • 事件(events)

不需要使用命名空间的场景:

  • 不要在文件夹路径或文件名中包含命名空间

子索引规范

子索引使用.符号分隔层级概念,应按照从宏观到微观的降序排列:

✔️ animation.controller.dragon.flying.taking_off

animation.controller.dragon_take_off_flying

使用子索引时,使用_替代空格,不要使用多个.

✔️ animation.controller.dragon.flying.taking_off

animation.controller.dragon.flying.taking.off

实体标识符可以使用子索引: sirlich:dragon.drake

组件组与事件的对应关系

组件组事件
sirlich:wild✔️ sirlich:become_wild
sirlich:wild❌ sirlich:wild
sirlich:tame✔️ sirlich:on_tame
sirlich:tame❌ sirlich:tame

短名称应保持通用性

短名称是文件内部的标识符,用于映射具体资源路径。通用短名称有助于复用动画控制器和渲染控制器:

✔️ "sit": "animation.dragon.sit"

"dragon_sitting": "animation.dragon.sit"

使用通用短名称后,我们可以为所有需要"坐下"动画的对象复用同一个"sit"动画控制器。

函数的嵌套规范

通过文件夹结构实现函数嵌套:

✔️ function teleport/zone/hell

function teleport_hellzone

动画文件的组合规范

示例:

json
{
    "format_version": "1.8.0",
    "animations": {
        "animation.dragon.sit": {...},
        "animation.dragon.fly": {...},
        "animation.dragon.roar": {...},
  }
}

纹理路径组织规范

✔️ textures/dragon/red

textures/dragon_red_skin

✔️ textures/npc/dragon_hunter/archer

textures/npc/dragon_hunter_archer

.lang文件注释规范

面向本地化人员的注释应使用行内格式:

the.key=字符串内容<\t>## 注释内容,供本地化人员参考

<\t>表示制表符。

独立行注释可用于组织结构,但不要存储关键本地化信息。

常用缩略词对照表

缩略词完整名称
BP行为包(Behavior Pack)
RP资源包(Resource Pack)
VRP原版资源包(Vanilla Resource Pack)
VBP原版行为包(Vanilla Behavior Pack)
AC动画控制器(Animation Controller)
RPAC资源包动画控制器(Resource Pack Animation Controller)
BPAC行为包动画控制器(Behavior Pack Animation Controller)
BBBlockbench建模软件
BDS基岩版专用服务器(Bedrock Dedicated Server)
FPV第一人称视角(First Person View)
RDRender Dragon渲染引擎
VSCodeVisual Studio代码编辑器