节点系统(Nodes)

基本信息

项目 值
来源 thaumcraft.api.nodes
核心接口 INode
类型枚举 NodeType
修饰符枚举 NodeModifier

INode 接口

INode 是节点的核心接口,继承自 IAspectContainer。它定义了 aura 节点、魔力节点等的行为。

核心方法

方法 返回值 说明
getId() String 唯一标识符(基于世界ID和坐标)
getAspectsBase() AspectList 获取基础元素列表
getNodeType() NodeType 获取节点类型
setNodeType(NodeType) void 设置节点类型
getNodeModifier() NodeModifier 获取节点修饰符
setNodeModifier(NodeModifier) void 设置节点修饰符
getNodeVisBase(Aspect) int 获取指定元素的基础容量
setNodeVisBase(Aspect, short) void 设置指定元素的基础容量

接口定义

public interface INode extends IAspectContainer {
    public String getId();
    public AspectList getAspectsBase();
    public NodeType getNodeType();
    public void setNodeType(NodeType nodeType);
    public void setNodeModifier(NodeModifier nodeModifier);
    public NodeModifier getNodeModifier();
    public int getNodeVisBase(Aspect aspect);
    public void setNodeVisBase(Aspect aspect, short nodeVisBase);
}

NodeType 枚举

节点类型定义了 aura 节点的不同特性:

类型 说明
NORMAL 普通节点
UNSTABLE 不稳定节点
DARK 黑暗节点
TAINTED 腐化节点
HUNGRY 饥饿节点(会吸取周围元素)
PURE 纯净节点

枚举定义

public enum NodeType {
    NORMAL, UNSTABLE, DARK, TAINTED, HUNGRY, PURE
}

NodeModifier 枚举

节点修饰符影响节点的可视化效果和某些行为:

修饰符 说明
BRIGHT 明亮效果
PALE 暗淡效果
FADING 消退效果

枚举定义

public enum NodeModifier {
    BRIGHT, PALE, FADING
}

节点系统架构

层级关系

IAspectContainer
    └── INode
            ├── NodeType (节点类型)
            ├── NodeModifier (节点修饰符)
            └── AspectList (元素存储)

节点类型特性

NodeType 吸取行为 视觉特征
NORMAL 正常 标准发光
UNSTABLE 波动 闪烁效果
DARK 正常 深色/暗发光
TAINTED 腐化污染 紫色/腐败视觉
HUNGRY 主动吸取周围 持续吸收效果
PURE 净化周围 清澈明亮效果

与 VisNet 的关系

节点(Node)是 VisNet(魔力网络)的基础组成部分:

  • 源节点(Source):Aura 节点,作为元素来源
  • 中继节点(Relay):传输和分配元素
  • 接收节点(Receiver):消耗元素,如 Infernal Furnace

TileVisNode 是节点的方块实体实现,提供了节点在游戏世界中的具体行为。

使用场景

  1. 创建自定义节点:实现 INode 接口
  2. 检测周围节点:通过 TileEntity 查找附近节点
  3. 节点类型修改:通过研究台等设备改变节点类型
  4. 元素抽取:从节点获取元素用于配方

相关类

  • TileVisNode - 节点的游戏内实现
  • VisNetHandler - 魔力网络处理器
  • AspectList - 元素存储容器
  • Aspect - 单个元素