Skip to content

Insight

An Insight is the smallest unit within a module — an incremental upgrade node. Insights are defined as standalone JSON files, referenced by Modules via their insights list, together forming the module's insight tree.

TIP

This page describes the Insight datapack format. For other datapack types, see: Module / Epiphany / Path.

File Location

data/<namespace>/epiphany/insight/<path>.json
  • The insight's registry ID = <namespace>:<path>
    • data/mymod/epiphany/insight/fireball.jsonmymod:fireball
    • data/mymod/epiphany/insight/spell/fireball.jsonmymod:spell/fireball

Reusing Insights

Technically, different modules can reference the same insight ID. However, this is not recommended — each insight should belong to exactly one module.

Full Example

jsonc
{
    "name": "Charisma",                                  // optional; falls back to lang translation key
    "description": "The ability to govern a nation",     // optional
    "icon": "minecraft:textures/item/golden_chestplate.png",  // optional
    "item_icon": "minecraft:golden_chestplate",             // optional
    "cost": 1,                                          // optional, defaults to 1
    "reward": [                                         // optional; object or array
      { 
        "type": "epiphany:attribute", 
        "attribute": "minecraft:generic.max_health", 
        "amount": 6.0, 
        "operation": "add_value" 
      },
      { 
        "type": "epiphany:insight_points", 
        "amount": 1 
      }
    ],
    "reward_description": "+6 Max Health and +1 Insight Point",  // optional
    "weight": 100                                       // optional, defaults to 100
}

The example includes both icon and item_icon to demonstrate the two configuration methods; in practice, either field may be used alone. When both are present, the system prefers a loadable icon texture and falls back to item_icon if that texture is missing.

Field Reference

name (optional)

  • Type: Component (string, styled object, or translation key)
  • Default: falls back to translation key insight.<ns>.<path>.name

Text Components & i18n

All Component fields support plain strings, styled objects, and translation keys. When omitted, they fall back to convention-based translation keys. See Module · Text Components & i18n.

description (optional)

  • Type: Component
  • Default: falls back to translation key insight.<ns>.<path>.description
  • Briefly describes the insight's effect (e.g., "+6 Max Health")

icon (optional)

  • Type: ResourceLocation, pointing to a resource pack texture

item_icon (optional)

  • Type: an item registry ID, such as "minecraft:golden_chestplate"
  • Priority: valid icon → valid item_icontextures/gui/insight/<path>.png → default diamond
  • Missing textures and unknown item IDs continue to the next fallback
  • See Module · icon for the full rules

cost (optional)

  • Type: int
  • Default: 1
  • The number of Insight Points consumed to unlock this insight

Distinct from moduleSelectCost

moduleSelectCost (config option) is the uniform cost for selecting a module and is independent from insight costs. Each insight's cost is configured individually.

reward (optional)

  • Type: reward object or reward object array (InsightReward Codec)
  • Default: no reward
  • Rewards are immediately applied in array order when the player unlocks this insight
  • The legacy single-object form remains supported; [] means no reward
  • On reset, list rewards are removed in reverse order
  • For the full list of reward types and fields, see Reward

reward_description (optional)

  • Type: Component
  • Default: falls back to translation key insight.<ns>.<path>.reward_description
  • Displayed in the insight node's tooltip (hold Shift), intuitively telling the player the reward content
  • The UI displays this text directly — it will not be auto-derived from the reward type

weight (optional)

  • Type: int
  • Default: 100
  • Affects sort order when multiple insights are displayed flat; of limited practical significance
  • Can be negative