节点系统(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 是节点的方块实体实现,提供了节点在游戏世界中的具体行为。
使用场景
- 创建自定义节点:实现
INode接口 - 检测周围节点:通过
TileEntity查找附近节点 - 节点类型修改:通过研究台等设备改变节点类型
- 元素抽取:从节点获取元素用于配方
相关类
TileVisNode- 节点的游戏内实现VisNetHandler- 魔力网络处理器AspectList- 元素存储容器Aspect- 单个元素