forked from Upstream/mmocore
Debug skill Tree & Debug PAPI
This commit is contained in:
parent
fe12e07f37
commit
90ee0c37bb
@ -42,6 +42,15 @@ public class SkillTreeViewer extends EditableInventory {
|
|||||||
if (function.equals("skill-tree")) {
|
if (function.equals("skill-tree")) {
|
||||||
return new SkillTreeItem(config);
|
return new SkillTreeItem(config);
|
||||||
}
|
}
|
||||||
|
if (function.equals("up"))
|
||||||
|
return new SimplePlaceholderItem(config);
|
||||||
|
if (function.equals("left"))
|
||||||
|
return new SimplePlaceholderItem(config);
|
||||||
|
if (function.equals("down"))
|
||||||
|
return new SimplePlaceholderItem(config);
|
||||||
|
if (function.equals("right"))
|
||||||
|
return new SimplePlaceholderItem(config);
|
||||||
|
|
||||||
if (function.equals("reallocation"))
|
if (function.equals("reallocation"))
|
||||||
return new InventoryItem<SkillTreeInventory>(config) {
|
return new InventoryItem<SkillTreeInventory>(config) {
|
||||||
|
|
||||||
@ -100,14 +109,13 @@ public class SkillTreeViewer extends EditableInventory {
|
|||||||
ItemMeta meta = item.getItemMeta();
|
ItemMeta meta = item.getItemMeta();
|
||||||
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||||
meta.setDisplayName(skillTree.getName());
|
meta.setDisplayName(skillTree.getName());
|
||||||
Placeholders holders= getPlaceholders(inv,n);
|
Placeholders holders = getPlaceholders(inv, n);
|
||||||
List<String> lore = new ArrayList<>();
|
List<String> lore = new ArrayList<>();
|
||||||
getLore().forEach(string -> {
|
getLore().forEach(string -> {
|
||||||
if (string.contains("{tree-lore}")) {
|
if (string.contains("{tree-lore}")) {
|
||||||
lore.addAll(skillTree.getLore());
|
lore.addAll(skillTree.getLore());
|
||||||
}
|
} else
|
||||||
else
|
lore.add(holders.apply(inv.getPlayer(), string));
|
||||||
lore.add(holders.apply(inv.getPlayer(),string));
|
|
||||||
});
|
});
|
||||||
meta.setLore(lore);
|
meta.setLore(lore);
|
||||||
PersistentDataContainer container = meta.getPersistentDataContainer();
|
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||||
@ -323,6 +331,24 @@ public class SkillTreeViewer extends EditableInventory {
|
|||||||
treeListPage++;
|
treeListPage++;
|
||||||
open();
|
open();
|
||||||
}
|
}
|
||||||
|
if (item.getFunction().equals("up")) {
|
||||||
|
y--;
|
||||||
|
open();
|
||||||
|
|
||||||
|
}
|
||||||
|
if (item.getFunction().equals("right")) {
|
||||||
|
x++;
|
||||||
|
open();
|
||||||
|
}
|
||||||
|
if (item.getFunction().equals("down")) {
|
||||||
|
y++;
|
||||||
|
open();
|
||||||
|
}
|
||||||
|
if (item.getFunction().equals("left")) {
|
||||||
|
x--;
|
||||||
|
open();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (item.getFunction().equals("previous-tree-list-page")) {
|
if (item.getFunction().equals("previous-tree-list-page")) {
|
||||||
treeListPage--;
|
treeListPage--;
|
||||||
@ -373,21 +399,11 @@ public class SkillTreeViewer extends EditableInventory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (item.getFunction().equals("skill-tree-node")) {
|
if (item.getFunction().equals("skill-tree-node")) {
|
||||||
|
if (event.getClickType() == ClickType.LEFT) {
|
||||||
if (event.getClickType() == ClickType.RIGHT) {
|
|
||||||
int offset = event.getSlot();
|
|
||||||
int xOffset = offset % 9 - middleSlot % 9;
|
|
||||||
int yOffset = offset / 9 - middleSlot / 9;
|
|
||||||
x += xOffset;
|
|
||||||
y += yOffset - 1;
|
|
||||||
open();
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
} else if (event.getClickType() == ClickType.LEFT) {
|
|
||||||
PersistentDataContainer container = event.getItemStack().getItemMeta().getPersistentDataContainer();
|
PersistentDataContainer container = event.getItemStack().getItemMeta().getPersistentDataContainer();
|
||||||
int x = container.get(new NamespacedKey(MMOCore.plugin, "coordinates.x"), PersistentDataType.INTEGER);
|
int x = container.get(new NamespacedKey(MMOCore.plugin, "coordinates.x"), PersistentDataType.INTEGER);
|
||||||
int y = container.get(new NamespacedKey(MMOCore.plugin, "coordinates.y"), PersistentDataType.INTEGER);
|
int y = container.get(new NamespacedKey(MMOCore.plugin, "coordinates.y"), PersistentDataType.INTEGER);
|
||||||
if(!skillTree.isNode(new IntegerCoordinates(x,y))) {
|
if (!skillTree.isNode(new IntegerCoordinates(x, y))) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,8 @@ public class ClassSkill implements CooldownObject {
|
|||||||
private String applyPlaceholders(Map<String, String> placeholders, String str) {
|
private String applyPlaceholders(Map<String, String> placeholders, String str) {
|
||||||
while (str.contains("{") && str.substring(str.indexOf("{")).contains("}")) {
|
while (str.contains("{") && str.substring(str.indexOf("{")).contains("}")) {
|
||||||
String holder = str.substring(str.indexOf("{") + 1, str.indexOf("}"));
|
String holder = str.substring(str.indexOf("{") + 1, str.indexOf("}"));
|
||||||
str = str.replace("{" + holder + "}", placeholders.getOrDefault(holder, "PHE"));
|
if(placeholders.containsKey(holder))
|
||||||
|
str = str.replace("{" + holder + "}",placeholders.get(holder));
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ public class SkillTreeNode implements Unlockable, ExperienceObject {
|
|||||||
|
|
||||||
maxLevel = config.contains("max-level") ? config.getInt("max-level") : 1;
|
maxLevel = config.contains("max-level") ? config.getInt("max-level") : 1;
|
||||||
maxChildren = config.contains("max-children") ? config.getInt("max-children") : 1;
|
maxChildren = config.contains("max-children") ? config.getInt("max-children") : 1;
|
||||||
//If coordinates are precised adn we are not wiht an automaticTree we set them up
|
//If coordinates are precised adn we are not with an automaticTree we set them up
|
||||||
if ((!(tree instanceof AutomaticSkillTree))) {
|
if ((!(tree instanceof AutomaticSkillTree))) {
|
||||||
Validate.isTrue(config.contains("coordinates.x") && config.contains("coordinates.y"), "No coordinates specified");
|
Validate.isTrue(config.contains("coordinates.x") && config.contains("coordinates.y"), "No coordinates specified");
|
||||||
coordinates = new IntegerCoordinates(config.getInt("coordinates.x"), config.getInt("coordinates.y"));
|
coordinates = new IntegerCoordinates(config.getInt("coordinates.x"), config.getInt("coordinates.y"));
|
||||||
|
@ -28,19 +28,19 @@ public class AutomaticSkillTree extends SkillTree {
|
|||||||
|
|
||||||
//We setup the children and parents for each node.
|
//We setup the children and parents for each node.
|
||||||
for (SkillTreeNode node : nodes.values()) {
|
for (SkillTreeNode node : nodes.values()) {
|
||||||
ConfigurationSection section = config.getConfigurationSection("nodes." + node.getId() + ".children.soft");
|
ConfigurationSection section = config.getConfigurationSection("nodes." + node.getId() + ".parents.soft");
|
||||||
if (section != null) {
|
if (section != null) {
|
||||||
for (String child : section.getKeys(false)) {
|
for (String parent : section.getKeys(false)) {
|
||||||
node.addChild(getNode(child));
|
node.addParent(getNode(parent),section.getInt(parent),ParentType.SOFT);
|
||||||
getNode(child).addParent(node, section.getInt(child), ParentType.SOFT);
|
getNode(parent).addChild(node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
section = config.getConfigurationSection("nodes." + node.getId() + ".children.strong");
|
section = config.getConfigurationSection("nodes." + node.getId() + ".parents.strong");
|
||||||
|
|
||||||
if (section != null) {
|
if (section != null) {
|
||||||
for (String child : section.getKeys(false)) {
|
for (String parent : section.getKeys(false)) {
|
||||||
node.addChild(getNode(child));
|
node.addParent(getNode(parent),section.getInt(parent),ParentType.STRONG);
|
||||||
getNode(child).addParent(node, section.getInt(child), ParentType.STRONG);
|
getNode(parent).addChild(node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,21 +26,18 @@ public class CustomSkillTree extends SkillTree {
|
|||||||
//We setup the children and parents for each node.
|
//We setup the children and parents for each node.
|
||||||
for (SkillTreeNode node : nodes.values()) {
|
for (SkillTreeNode node : nodes.values()) {
|
||||||
|
|
||||||
ConfigurationSection section = config.getConfigurationSection("nodes."+node.getId() + ".children.soft");
|
ConfigurationSection section = config.getConfigurationSection("nodes."+node.getId() + ".parents.soft");
|
||||||
if (section != null) {
|
if (section != null) {
|
||||||
for (String child : section.getKeys(false)) {
|
for (String parent : section.getKeys(false)) {
|
||||||
Validate.isTrue(isNode(child),"The node "+child+ "defined in children.soft of"+node.getId()+"doesn't exist.");
|
node.addParent(getNode(parent),section.getInt(parent),ParentType.SOFT);
|
||||||
node.addChild(getNode(child));
|
getNode(parent).addChild(node);
|
||||||
getNode(child).addParent(node, section.getInt(child), ParentType.SOFT);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
section = config.getConfigurationSection("nodes."+node.getId() + ".children.strong");
|
section = config.getConfigurationSection("nodes."+node.getId() + ".parents.strong");
|
||||||
if (section != null) {
|
if (section != null) {
|
||||||
for (String child : section.getKeys(false)) {
|
for (String parent : section.getKeys(false)) {
|
||||||
Validate.isTrue(isNode(child),"The node "+child+ "defined in children.strong of"+node.getId()+"doesn't exist.");
|
node.addParent(getNode(parent),section.getInt(parent),ParentType.STRONG);
|
||||||
|
getNode(parent).addChild(node);
|
||||||
node.addChild(getNode(child));
|
|
||||||
getNode(child).addParent(node, section.getInt(child), ParentType.STRONG);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
pom.xml
2
pom.xml
@ -16,7 +16,7 @@
|
|||||||
<description>Offer your players a brand new RPG experience!!</description>
|
<description>Offer your players a brand new RPG experience!!</description>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<revision>1.10.1-SNAPSHOT</revision>
|
<revision>1.10.2-SNAPSHOT</revision>
|
||||||
<downloadSources>false</downloadSources>
|
<downloadSources>false</downloadSources>
|
||||||
<downloadJavadocs>false</downloadJavadocs>
|
<downloadJavadocs>false</downloadJavadocs>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
Loading…
Reference in New Issue
Block a user