AdvancementNode.java
net.minecraft.advancements.AdvancementNode
信息
- 全限定名:net.minecraft.advancements.AdvancementNode
- 类型:public class
- 包:net.minecraft.advancements
- 源码路径:src/main/java/net/minecraft/advancements/AdvancementNode.java
- 起始行号:L8
- 职责:
TODO
字段/常量
-
holder- 类型:
AdvancementHolder - 修饰符:
private final - 源码定位:
L9 - 说明:
TODO
- 类型:
-
parent- 类型:
AdvancementNode - 修饰符:
private final - 源码定位:
L10 - 说明:
TODO
- 类型:
-
children- 类型:
Set<AdvancementNode> - 修饰符:
private final - 源码定位:
L11 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public AdvancementNode(AdvancementHolder holder, AdvancementNode parent) @ L13
- 构造器名:AdvancementNode
- 源码定位:L13
- 修饰符:public
参数:
- holder: AdvancementHolder
- parent: AdvancementNode
说明:
TODO
方法
下面的方法块按源码顺序生成。
public Advancement advancement() @ L19
- 方法名:advancement
- 源码定位:L19
- 返回类型:Advancement
- 修饰符:public
参数:
- 无
说明:
TODO
public AdvancementHolder holder() @ L23
- 方法名:holder
- 源码定位:L23
- 返回类型:AdvancementHolder
- 修饰符:public
参数:
- 无
说明:
TODO
public AdvancementNode parent() @ L27
- 方法名:parent
- 源码定位:L27
- 返回类型:AdvancementNode
- 修饰符:public
参数:
- 无
说明:
TODO
public AdvancementNode root() @ L31
- 方法名:root
- 源码定位:L31
- 返回类型:AdvancementNode
- 修饰符:public
参数:
- 无
说明:
TODO
public static AdvancementNode getRoot(AdvancementNode advancement) @ L35
- 方法名:getRoot
- 源码定位:L35
- 返回类型:AdvancementNode
- 修饰符:public static
参数:
- advancement: AdvancementNode
说明:
TODO
public Iterable<AdvancementNode> children() @ L48
- 方法名:children
- 源码定位:L48
- 返回类型:Iterable
- 修饰符:public
参数:
- 无
说明:
TODO
public void addChild(AdvancementNode child) @ L52
- 方法名:addChild
- 源码定位:L52
- 返回类型:void
- 修饰符:public
参数:
- child: AdvancementNode
说明:
TODO
public boolean equals(Object obj) @ L57
- 方法名:equals
- 源码定位:L57
- 返回类型:boolean
- 修饰符:public
参数:
- obj: Object
说明:
TODO
public int hashCode() @ L62
- 方法名:hashCode
- 源码定位:L62
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
public String toString() @ L67
- 方法名:toString
- 源码定位:L67
- 返回类型:String
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class AdvancementNode {
private final AdvancementHolder holder;
private final @Nullable AdvancementNode parent;
private final Set<AdvancementNode> children = new ReferenceOpenHashSet<>();
@VisibleForTesting
public AdvancementNode(AdvancementHolder holder, @Nullable AdvancementNode parent) {
this.holder = holder;
this.parent = parent;
}
public Advancement advancement() {
return this.holder.value();
}
public AdvancementHolder holder() {
return this.holder;
}
public @Nullable AdvancementNode parent() {
return this.parent;
}
public AdvancementNode root() {
return getRoot(this);
}
public static AdvancementNode getRoot(AdvancementNode advancement) {
AdvancementNode root = advancement;
while (true) {
AdvancementNode parent = root.parent();
if (parent == null) {
return root;
}
root = parent;
}
}
public Iterable<AdvancementNode> children() {
return this.children;
}
@VisibleForTesting
public void addChild(AdvancementNode child) {
this.children.add(child);
}
@Override
public boolean equals(Object obj) {
return this == obj ? true : obj instanceof AdvancementNode that && this.holder.equals(that.holder);
}
@Override
public int hashCode() {
return this.holder.hashCode();
}
@Override
public String toString() {
return this.holder.id().toString();
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置: