diff --git a/src/me/rockyhawk/commandpanels/builder/dialog/ActionBuilder.java b/src/me/rockyhawk/commandpanels/builder/dialog/ActionBuilder.java index aced2ce..8570b78 100644 --- a/src/me/rockyhawk/commandpanels/builder/dialog/ActionBuilder.java +++ b/src/me/rockyhawk/commandpanels/builder/dialog/ActionBuilder.java @@ -29,10 +29,9 @@ public class ActionBuilder implements Listener { public ActionButton buildButton(DialogButton button, DialogPanel panel) { Player player = builder.getPlayer(); - String conditions = ctx.text.parseTextToString(player, button.getConditions()); - if (!conditions.trim().isEmpty()) { - ConditionNode conditionNode = new ConditionParser().parse(conditions); + if (!button.getConditions().trim().isEmpty()) { + ConditionNode conditionNode = new ConditionParser().parse(button.getConditions()); if (!conditionNode.evaluate(player, ctx)) return null; } diff --git a/src/me/rockyhawk/commandpanels/builder/dialog/DialogPanelBuilder.java b/src/me/rockyhawk/commandpanels/builder/dialog/DialogPanelBuilder.java index 7547703..1b0107b 100644 --- a/src/me/rockyhawk/commandpanels/builder/dialog/DialogPanelBuilder.java +++ b/src/me/rockyhawk/commandpanels/builder/dialog/DialogPanelBuilder.java @@ -59,7 +59,6 @@ public class DialogPanelBuilder extends PanelBuilder { DialogComponent comp = panel.getComponents().get(id); // Check conditions for which component to use - String conditions = ctx.text.parseTextToString(player, comp.getConditions()); if (!comp.getConditions().trim().isEmpty()) { ConditionNode conditionNode = new ConditionParser().parse(comp.getConditions()); boolean result = conditionNode.evaluate(player, ctx); diff --git a/src/me/rockyhawk/commandpanels/builder/floodgate/CustomForm.java b/src/me/rockyhawk/commandpanels/builder/floodgate/CustomForm.java index d3428f8..e2cbc60 100644 --- a/src/me/rockyhawk/commandpanels/builder/floodgate/CustomForm.java +++ b/src/me/rockyhawk/commandpanels/builder/floodgate/CustomForm.java @@ -46,9 +46,8 @@ public class CustomForm { if (comp == null) continue; // Evaluate conditions - String conditions = ctx.text.parseTextToString(player, comp.getConditions()); - if (!conditions.trim().isEmpty()) { - ConditionNode conditionNode = new ConditionParser().parse(conditions); + if (!comp.getConditions().trim().isEmpty()) { + ConditionNode conditionNode = new ConditionParser().parse(comp.getConditions()); if (!conditionNode.evaluate(player, ctx)) continue; } diff --git a/src/me/rockyhawk/commandpanels/builder/floodgate/SimpleForm.java b/src/me/rockyhawk/commandpanels/builder/floodgate/SimpleForm.java index c301d89..96ac76b 100644 --- a/src/me/rockyhawk/commandpanels/builder/floodgate/SimpleForm.java +++ b/src/me/rockyhawk/commandpanels/builder/floodgate/SimpleForm.java @@ -45,9 +45,8 @@ public class SimpleForm { if(!(panel.getComponents().get(key) instanceof FloodgateButton button)) continue; // Check conditions for which button to use in the slot - String conditions = ctx.text.parseTextToString(p, button.getConditions()); - if (!conditions.trim().isEmpty()) { - ConditionNode conditionNode = new ConditionParser().parse(conditions); + if (!button.getConditions().trim().isEmpty()) { + ConditionNode conditionNode = new ConditionParser().parse(button.getConditions()); boolean result = conditionNode.evaluate(p, ctx); if (!result) continue; } diff --git a/src/me/rockyhawk/commandpanels/builder/inventory/PanelFactory.java b/src/me/rockyhawk/commandpanels/builder/inventory/PanelFactory.java index c92af20..93db983 100644 --- a/src/me/rockyhawk/commandpanels/builder/inventory/PanelFactory.java +++ b/src/me/rockyhawk/commandpanels/builder/inventory/PanelFactory.java @@ -60,9 +60,8 @@ public class PanelFactory { if(item == null) continue; // Check conditions for which item to use in the slot - String conditions = ctx.text.parseTextToString(p, item.conditions()); - if (!conditions.trim().isEmpty()) { - ConditionNode conditionNode = new ConditionParser().parse(conditions); + if (!item.conditions().trim().isEmpty()) { + ConditionNode conditionNode = new ConditionParser().parse(item.conditions()); boolean result = conditionNode.evaluate(p, ctx); if (!result) continue; } diff --git a/src/me/rockyhawk/commandpanels/builder/logic/ComparisonNode.java b/src/me/rockyhawk/commandpanels/builder/logic/ComparisonNode.java index eabbce9..ffda458 100644 --- a/src/me/rockyhawk/commandpanels/builder/logic/ComparisonNode.java +++ b/src/me/rockyhawk/commandpanels/builder/logic/ComparisonNode.java @@ -35,6 +35,8 @@ public class ComparisonNode implements ConditionNode { parseTextToString will parse colour and placeholders After parsing strip colour, parsing and stripping will remove colour formatting */ + player.sendMessage("l:"+parsedLeftRaw); + player.sendMessage("r:"+parsedRightRaw); String parsedLeft = toPlainText(parsedLeftRaw); String parsedRight = toPlainText(parsedRightRaw); diff --git a/src/me/rockyhawk/commandpanels/session/Panel.java b/src/me/rockyhawk/commandpanels/session/Panel.java index 436c61c..1b63e0a 100644 --- a/src/me/rockyhawk/commandpanels/session/Panel.java +++ b/src/me/rockyhawk/commandpanels/session/Panel.java @@ -29,10 +29,9 @@ public abstract class Panel { public boolean canOpen(Player player, Context ctx) { // Check the panel condition - String conditions = ctx.text.parseTextToString(player, this.conditions); - if (conditions.trim().isEmpty()) return true; + if (this.conditions.trim().isEmpty()) return true; try { - ConditionNode node = new ConditionParser().parse(conditions); + ConditionNode node = new ConditionParser().parse(this.conditions); return node.evaluate(player, ctx); } catch (Exception e) { return false;