From 5ea0f9178bb0b8b011d89e004525b15f8e2b74df Mon Sep 17 00:00:00 2001 From: PikaMug <unconfigured@null.spigotmc.org> Date: Mon, 1 Jul 2019 11:31:06 -0400 Subject: [PATCH] Only accept solid blocks for Block objectives. Bump version number --- main/pom.xml | 2 +- .../quests/prompts/BlocksPrompt.java | 55 ++++++++++--------- main/src/main/resources/strings.yml | 1 + 3 files changed, 32 insertions(+), 26 deletions(-) diff --git a/main/pom.xml b/main/pom.xml index 09b99cd32..a59bbcdbe 100644 --- a/main/pom.xml +++ b/main/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>me.blackvein.quests</groupId> <artifactId>quests-parent</artifactId> - <version>3.7.3</version> + <version>3.7.4</version> </parent> <artifactId>quests-main</artifactId> diff --git a/main/src/main/java/me/blackvein/quests/prompts/BlocksPrompt.java b/main/src/main/java/me/blackvein/quests/prompts/BlocksPrompt.java index df188d8a8..6c251d954 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/BlocksPrompt.java +++ b/main/src/main/java/me/blackvein/quests/prompts/BlocksPrompt.java @@ -255,13 +255,14 @@ public class BlocksPrompt extends FixedSetPrompt { LinkedList<String> names = new LinkedList<String>(); for (String s : args) { try { - if (Material.matchMaterial(s) != null) { - //if (names.contains(s) == false) { + Material m = Material.matchMaterial(s); + if (m != null) { + if (m.isBlock()) { names.add(s); - /*} else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listDuplicate")); + } else { + context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorNotSolid")); return new BreakBlockNamesPrompt(); - }*/ + } } else { context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorInvalidBlockName")); return new BreakBlockNamesPrompt(); @@ -472,13 +473,14 @@ public class BlocksPrompt extends FixedSetPrompt { LinkedList<String> names = new LinkedList<String>(); for (String s : args) { try { - if (Material.matchMaterial(s) != null) { - //if (names.contains(s) == false) { + Material m = Material.matchMaterial(s); + if (m != null) { + if (m.isBlock()) { names.add(s); - /*} else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listDuplicate")); + } else { + context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorNotSolid")); return new DamageBlockNamesPrompt(); - }*/ + } } else { context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorInvalidBlockName")); return new DamageBlockNamesPrompt(); @@ -689,13 +691,14 @@ public class BlocksPrompt extends FixedSetPrompt { LinkedList<String> names = new LinkedList<String>(); for (String s : args) { try { - if (Material.matchMaterial(s) != null) { - //if (names.contains(s) == false) { + Material m = Material.matchMaterial(s); + if (m != null) { + if (m.isBlock()) { names.add(s); - /*} else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listDuplicate")); + } else { + context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorNotSolid")); return new PlaceBlockNamesPrompt(); - }*/ + } } else { context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + Lang.get("stageEditorInvalidBlockName")); return new PlaceBlockNamesPrompt(); @@ -906,13 +909,14 @@ public class BlocksPrompt extends FixedSetPrompt { LinkedList<String> names = new LinkedList<String>(); for (String s : args) { try { - if (Material.matchMaterial(s) != null) { - //if (names.contains(s) == false) { + Material m = Material.matchMaterial(s); + if (m != null) { + if (m.isBlock()) { names.add(s); - /*} else { - context.getForWhom().sendRawMessage(ChatColor.RED + " " + Lang.get("listDuplicate")); + } else { + context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorNotSolid")); return new UseBlockNamesPrompt(); - }*/ + } } else { context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorInvalidBlockName")); return new UseBlockNamesPrompt(); @@ -1123,13 +1127,14 @@ public class BlocksPrompt extends FixedSetPrompt { LinkedList<String> names = new LinkedList<String>(); for (String s : args) { try { - if (Material.matchMaterial(s) != null) { - //if (names.contains(s) == false) { + Material m = Material.matchMaterial(s); + if (m != null) { + if (m.isBlock()) { names.add(s); - /*} else { - context.getForWhom().sendRawMessage(ChatColor.RED + " " + Lang.get("listDuplicate")); + } else { + context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorNotSolid")); return new CutBlockNamesPrompt(); - }*/ + } } else { context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorInvalidBlockName")); return new CutBlockNamesPrompt(); diff --git a/main/src/main/resources/strings.yml b/main/src/main/resources/strings.yml index 64f7a872f..9e340ff34 100644 --- a/main/src/main/resources/strings.yml +++ b/main/src/main/resources/strings.yml @@ -249,6 +249,7 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared." stageEditorDeliveryAddItem: "Add item" stageEditorDeliveryNPCs: "Set NPC IDs" stageEditorDeliveryMessages: "Set delivery messages" +stageEditorNotSolid: "is not a solid block!" stageEditorInvalidBlockName: "is not a valid block name!" stageEditorInvalidEnchantment: "is not a valid enchantment name!" stageEditorInvalidNPC: "is not a valid NPC ID!"