diff --git a/SpigotCore_Main/src/de/steamwar/sql/SchematicNode.java b/SpigotCore_Main/src/de/steamwar/sql/SchematicNode.java index d310a4a..c36c1a9 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/SchematicNode.java +++ b/SpigotCore_Main/src/de/steamwar/sql/SchematicNode.java @@ -296,7 +296,7 @@ public class SchematicNode { updateDB(); } - public int getParent() { + public Integer getParent() { return parent; } @@ -367,13 +367,28 @@ public class SchematicNode { return NodeMember.getNodeMembers(id); } + public String generateBreadcrumbs() { + return generateBreadcrumbs("/"); + } + + public String generateBreadcrumbs(String split) { + StringBuilder builder = new StringBuilder(getName()); + SchematicNode currentNode = this; + while (currentNode.parent != null) { + currentNode = currentNode.getParentNode(); + builder.insert(0, split) + .insert(0, currentNode.getName()); + } + return builder.toString(); + } + private void updateDB() { SQL.update("UPDATE SchematicNode SET NodeName = ?, NodeOwner = ?, ParentNode = ?, NodeItem = ?, NodeType = ?, NodeRank = ? WHERE NodeId = ?", - name, owner, parent == 0?null:parent, item, type, rank, id); + name, owner, parent == 0 ? null : parent, item, type, rank, id); } public void delete() { - if(isDir()) { + if (isDir()) { getSchematicNodeInNode(getId()).forEach(SchematicNode::delete); } SQL.update("DELETE FROM SchematicNode WHERE NodeId = ?", id);