Skip to content

心得 Insight

心得是模块内的最小单元,是量变型的升级节点。心得以独立 JSON 文件定义,被 Module 通过 insights 列表引用,共同构成模块的心得树。

本页介绍 Insight 数据包格式。其他数据包类型:Module / Epiphany / Path

文件位置

data/<namespace>/epiphany/insight/<path>.json
  • 心得的注册 ID = <namespace>:<path>
    • data/mymod/epiphany/insight/fireball.jsonmymod:fireball
    • data/mymod/epiphany/insight/spell/fireball.jsonmymod:spell/fireball

复用心得

理论上,不同模块可以引用同一个心得 ID。但这并不是推荐的做法,强烈不建议不同模块之间复用同一个心得 ID。

完整样例

jsonc
{
    "name": "领袖气质",                                  // 可选,缺省走 lang 翻译键
    "description": "足以治理一个国家的能力",                       // 可选
    "icon": "minecraft:textures/item/golden_chestplate.png",  // 可选
    "item_icon": "minecraft:golden_chestplate",             // 可选
    "cost": 1,                                          // 可选,默认 1
    "reward": [                                         // 可选;对象或数组
      { 
        "type": "epiphany:attribute",
        "attribute": "minecraft:generic.max_health", 
        "amount": 6.0, 
        "operation": "add_value" 
      },
      {
        "type": "epiphany:insight_points",
        "amount": 1 
      }
    ],
    "reward_description": "+6 最大生命和 +1 心得点",     // 可选
    "weight": 100                                       // 可选,默认 100
}

上例同时写出 iconitem_icon 以展示两种配置方式,实际使用时可以只配置其中一个。两者同时存在时,系统优先使用能够加载的 icon 纹理;纹理缺失时再尝试 item_icon

字段说明

name(可选)

  • 类型:Component(字符串、样式对象或翻译键)
  • 默认:缺省时回退翻译键 insight.<ns>.<path>.name

文本组件与 i18n

所有 Component 字段支持字符串 / 样式对象 / 翻译键三种写法,缺省时自动回退到约定翻译键。详见 Module · 文本组件与 i18n

description(可选)

  • 类型:Component
  • 默认:缺省时回退翻译键 insight.<ns>.<path>.description
  • 简明描述心得的效果(如 "+6 最大生命")

icon(可选)

  • 类型:ResourceLocation,指向资源包纹理

item_icon(可选)

  • 类型:物品注册 ID,例如 "minecraft:golden_chestplate"
  • 优先级:有效 icon → 有效 item_icontextures/gui/insight/<path>.png → 默认 diamond
  • 显式纹理缺失或物品 ID 无效时会继续降级
  • 完整规则见 Module · icon

cost(可选)

  • 类型:int
  • 默认:1
  • 点亮该心得消耗的心得点数量

与 MODULE_SELECT_COST 区分

MODULE_SELECT_COST(配置项)是选择模块的统一消耗,与心得的 cost 独立。心得 cost 由每个心得自行配置。

reward(可选)

  • 类型:奖励对象或奖励对象数组(InsightReward Codec)
  • 默认:无奖励
  • 玩家点亮该心得时,奖励按数组顺序立即应用
  • 继续兼容旧单对象写法;[] 表示无奖励
  • 重置时,列表奖励按逆序移除
  • 完整 reward 类型与字段见 Reward

reward_description(可选)

  • 类型:Component
  • 默认:缺省时回退翻译键 insight.<ns>.<path>.reward_description
  • 显示在心得节点的 tooltip(按住 Shift),直观告诉玩家奖励内容
  • UI 中直接展示此文本,不会自动从 reward 类型推导

weight(可选)

  • 类型:int
  • 默认:100
  • 仅在平铺显示多个心得时影响排序,实际意义有限
  • 可为负数