From ebfcfd56f0b0df4b4d124f86a7da45f281c802e6 Mon Sep 17 00:00:00 2001 From: meiamsome Date: Tue, 14 Aug 2012 02:52:56 +0200 Subject: [PATCH] Update com/Acrobot/ChestShop/Signs/ChestShopSign.java Fixes problems with isValid() when used on a sign which has it's price line formatted with lower case letters. Also, uses RegEx to check the price line is valid. --- com/Acrobot/ChestShop/Signs/ChestShopSign.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/com/Acrobot/ChestShop/Signs/ChestShopSign.java b/com/Acrobot/ChestShop/Signs/ChestShopSign.java index 436fa10..f10e4ba 100644 --- a/com/Acrobot/ChestShop/Signs/ChestShopSign.java +++ b/com/Acrobot/ChestShop/Signs/ChestShopSign.java @@ -23,7 +23,7 @@ public class ChestShopSign { public static final Pattern[] SHOP_SIGN_PATTERN = { Pattern.compile("^$|^\\w.+$"), Pattern.compile("[0-9]+"), - Pattern.compile(".+"), + Pattern.compile("(?i)(((b *[0-9]+)|([0-9]+ *b))|((s *[0-9]+)|([0-9]+ *s)))|((((b *[0-9]+)|([0-9]+ *b))[ ]*:[ ]*((s *[0-9]+)|([0-9]+ *s))))"), Pattern.compile("[\\w : -]+") }; @@ -40,7 +40,7 @@ public class ChestShopSign { } public static boolean isValid(String[] line) { - return isValidPreparedSign(line) && (line[2].contains("B") || line[2].contains("S")) && !line[0].isEmpty(); + return isValidPreparedSign(line) && !line[0].isEmpty(); } public static boolean isValid(Block sign) { @@ -60,6 +60,5 @@ public class ChestShopSign { return false; } } - return lines[2].indexOf(':') == lines[2].lastIndexOf(':'); } }