跳转至

样式指南

来源信息
译文信息

本文档介绍基岩维基官方推荐的附加包开发样式指南。其目标是推广附加包开发中的最佳实践,并为项目提供统一的格式规范。

提示

本样式指南是持续更新的动态文档,会随着附加包开发技术的发展而不断完善。如果有更新建议,可以直接提交反馈。

文件夹结构

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

标识符规范

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

文件与文件夹命名规范

概念 示例标识符
行为包(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

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

  • 实体。
  • 粒子效果。
  • 组件组。
  • 事件。

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

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

子索引规范

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

✔️ 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

动画文件的组合规范

示例:

::: code-group 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)
BB Blockbench建模软件
BDS 基岩版专用服务器(Bedrock Dedicated Server)
FPV 第一人称视角(First Person View)
RD Render Dragon渲染引擎
VSCode Visual Studio代码编辑器