summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/leonardobishop/quests/Quests.java11
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java22
2 files changed, 21 insertions, 12 deletions
diff --git a/src/main/java/com/leonardobishop/quests/Quests.java b/src/main/java/com/leonardobishop/quests/Quests.java
index 933d6cfc..325eb065 100644
--- a/src/main/java/com/leonardobishop/quests/Quests.java
+++ b/src/main/java/com/leonardobishop/quests/Quests.java
@@ -24,6 +24,7 @@ import com.leonardobishop.quests.updater.Updater;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
+import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@@ -257,9 +258,13 @@ public class Quests extends JavaPlugin {
}
public ItemStack getItemStack(String path, FileConfiguration config) {
- String cName = config.getString(path + ".name", path + ".name");
- String cType = config.getString(path + ".type", path + ".type");
- List<String> cLore = config.getStringList(path + ".lore");
+ return getItemStack(config.getConfigurationSection(path));
+ }
+
+ public ItemStack getItemStack(ConfigurationSection config) {
+ String cName = config.getString("name", "name");
+ String cType = config.getString("type", "type");
+ List<String> cLore = config.getStringList("lore");
String name;
Material type = null;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java
index 6c0635fe..8510c30b 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java
@@ -10,9 +10,9 @@ import com.leonardobishop.quests.quests.Task;
import com.leonardobishop.quests.quests.tasktypes.ConfigValue;
import com.leonardobishop.quests.quests.tasktypes.TaskType;
import net.citizensnpcs.api.event.NPCRightClickEvent;
-import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.Material;
+import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -79,16 +79,20 @@ public final class CitizensDeliverTaskType extends TaskType {
Object configData = task.getConfigValue("data");
Object remove = task.getConfigValue("remove-items-when-complete");
- material = Material.matchMaterial(String.valueOf(configBlock));
-
- if (material == null) {
- continue;
- }
ItemStack is;
- if (configData != null) {
- is = new ItemStack(material, 1, ((Integer) configData).shortValue());
+ if (configBlock instanceof ConfigurationSection) {
+ is = Quests.get().getItemStack((org.bukkit.configuration.ConfigurationSection) configBlock);
} else {
- is = new ItemStack(material, 1);
+ material = Material.matchMaterial(String.valueOf(configBlock));
+
+ if (material == null) {
+ continue;
+ }
+ if (configData != null) {
+ is = new ItemStack(material, 1, ((Integer) configData).shortValue());
+ } else {
+ is = new ItemStack(material, 1);
+ }
}
if (player.getInventory().containsAtLeast(is, amount)) {