Files
netease-modsdk-wiki/docs/wiki/meta/style-guide.md
2025-03-20 11:52:46 +08:00

5.8 KiB
Raw Blame History

title, mentions
title mentions
样式指南
SirLich
solvedDev
MedicalJewel105
ChibiMango

样式指南

本文档将介绍基岩版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

动画文件的组合规范

示例:

::: code-group

{
    "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代码编辑器