From cfc0e55c1a0c81087eb7af0d8929829941d9e7c3 Mon Sep 17 00:00:00 2001 From: LMBishop <13875753+LMBishop@users.noreply.github.com> Date: Fri, 25 Jun 2021 13:05:07 +0100 Subject: Add data to fishingcertain - Closes #191 --- build.gradle | 2 +- .../bukkit/tasktype/type/FishingCertainTaskType.java | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index b947a598..3b75a854 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ allprojects { apply plugin: 'java' group = 'com.leonardobishop' - version = '3.1.1' + version = '3.1.2' sourceCompatibility = 1.8 targetCompatibility = 1.8 diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingCertainTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingCertainTaskType.java index 35651809..547290e4 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingCertainTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingCertainTaskType.java @@ -19,6 +19,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.player.PlayerFishEvent; +import org.bukkit.inventory.ItemStack; import java.util.ArrayList; import java.util.HashMap; @@ -44,6 +45,7 @@ public final class FishingCertainTaskType extends BukkitTaskType { } if (TaskUtils.configValidateExists(root + ".amount", config.get("amount"), problems, "amount", super.getType())) TaskUtils.configValidateInt(root + ".amount", config.get("amount"), problems, false, true, "amount"); + TaskUtils.configValidateInt(root + ".data", config.get("data"), problems, true, false, "data"); return problems; } @@ -80,7 +82,21 @@ public final class FishingCertainTaskType extends BukkitTaskType { int catchesNeeded = (int) task.getConfigValue("amount"); String configItem = (String) task.getConfigValue("item"); - if (caught.getItemStack().getType() != Material.getMaterial(String.valueOf(configItem))) { + Object configData = task.getConfigValue("data"); + + ItemStack is; + Material material = Material.getMaterial(String.valueOf(configItem)); + + if (material == null) { + continue; + } + if (configData != null) { + is = new ItemStack(material, 1, ((Integer) configData).shortValue()); + } else { + is = new ItemStack(material, 1); + } + + if (caught.getItemStack().isSimilar(is)) { return; } -- cgit v1.2.3-70-g09d2