样式指南
本页面镜像自 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 |
命名空间规范
合适的命名空间应具有开发者唯一性。使用mob
、cars
、content
或custom
等通用词汇作为命名空间是不恰当的,因为这些名称可能与其他开发者重复。
minecraft
和minecon
为保留命名空间,请勿使用。
个人项目建议使用玩家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
动画文件的组合规范
示例:
{
"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) |
BB | Blockbench建模软件 |
BDS | 基岩版专用服务器(Bedrock Dedicated Server) |
FPV | 第一人称视角(First Person View) |
RD | Render Dragon渲染引擎 |
VSCode | Visual Studio代码编辑器 |