Skip to content

Advancement Node

public class AdvancementNode

Constructor

@VisibleForTesting
public AdvancementNode(AdvancementHolder p_300583_, @Nullable AdvancementNode p_299774_) {
    this.holder = p_300583_;
    this.parent = p_299774_;
}

advancement

public Advancement advancement() {
    return this.holder.value();
}

holder

public AdvancementHolder holder() {
    return this.holder;
}

parent

@Nullable
public AdvancementNode parent() {
    return this.parent;
}

root

public AdvancementNode root() {
    return getRoot(this);
}

getRoot

public static AdvancementNode getRoot(AdvancementNode p_300357_) {
    AdvancementNode advancementnode = p_300357_;

    while(true) {
        AdvancementNode advancementnode1 = advancementnode.parent();
        if (advancementnode1 == null) {
            return advancementnode;
        }

        advancementnode = advancementnode1;
    }
}

children

public Iterable<AdvancementNode> children() {
    return this.children;
}

addChild

@VisibleForTesting
public void addChild(AdvancementNode p_298204_) {
    this.children.add(p_298204_);
}

equals

public boolean equals(Object p_297253_) {
    if (this == p_297253_) {
        return true;
    } else {
        if (p_297253_ instanceof AdvancementNode) {
            AdvancementNode advancementnode = (AdvancementNode)p_297253_;
            if (this.holder.equals(advancementnode.holder)) {
               return true;
            }
        }

        return false;
    }
}

hashCode

public int hashCode() {
    return this.holder.hashCode();
}

toString

public String toString() {
    return this.holder.id().toString();
}