summaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit/src/main/java')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ExecutableItemsQuestItem.java35
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/MMOItemsQuestItem.java10
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ParsedQuestItem.java4
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/QuestItem.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java14
5 files changed, 24 insertions, 41 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ExecutableItemsQuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ExecutableItemsQuestItem.java
index 3aa31b6a..6da437be 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ExecutableItemsQuestItem.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ExecutableItemsQuestItem.java
@@ -21,38 +21,27 @@ public class ExecutableItemsQuestItem extends QuestItem {
@Override
public ItemStack getItemStack() {
ExecutableItemInterface item = getExecutableItem();
-
- if (item == null) {
- return null;
- }
-
- return item.buildItem(1, Optional.empty());
+ return item != null ? item.buildItem(1, Optional.empty()) : null;
}
@Override
- public boolean compareItemStack(ItemStack other) {
+ public boolean compareItemStack(ItemStack other, boolean exactMatch) {
ExecutableItemInterface item = getExecutableItem();
-
- Optional<ExecutableItemInterface> otherItemOptional = executableItemsManager.getExecutableItem(other);
- if (item == null|| otherItemOptional.isEmpty()) {
+ if (item == null) {
return false;
}
- ExecutableItemInterface otherItem = otherItemOptional.get();
-
- return otherItem.getId().equals(item.getId());
+ return executableItemsManager.getExecutableItem(other)
+ .map(executableItemInterface -> {
+ final String itemId = item.getId();
+ return executableItemInterface.getId().equals(itemId);
+ })
+ .orElse(false);
}
private ExecutableItemInterface getExecutableItem() {
- if (!executableItemsManager.isValidID(executableItemsId)) {
- return null;
- }
-
- Optional<ExecutableItemInterface> itemOptional = executableItemsManager.getExecutableItem(executableItemsId);
- if (itemOptional.isEmpty()) {
- return null;
- }
- return itemOptional.get();
+ return executableItemsManager.isValidID(executableItemsId)
+ ? executableItemsManager.getExecutableItem(executableItemsId).orElse(null)
+ : null;
}
-
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/MMOItemsQuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/MMOItemsQuestItem.java
index 7d5af7f0..1792b1c9 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/MMOItemsQuestItem.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/MMOItemsQuestItem.java
@@ -18,17 +18,19 @@ public class MMOItemsQuestItem extends QuestItem {
@Override
public ItemStack getItemStack() {
- return MMOItems.plugin.getItem(Type.get(mmoItemType), mmoItemId);
+ final Type type = Type.get(mmoItemType);
+ return MMOItems.plugin.getItem(type, mmoItemId);
}
@Override
- public boolean compareItemStack(ItemStack other) {
+ public boolean compareItemStack(ItemStack other, boolean exactMatch) {
NBTItem item = NBTItem.get(other);
- if (!item.hasType()) return false;
+ if (!item.hasType()) {
+ return false;
+ }
String type = item.getType();
String id = item.getString("MMOITEMS_ITEM_ID");
return mmoItemType.equals(type) && mmoItemId.equals(id);
}
-
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ParsedQuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ParsedQuestItem.java
index a6253666..3f6a3f82 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ParsedQuestItem.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/ParsedQuestItem.java
@@ -17,7 +17,7 @@ public class ParsedQuestItem extends QuestItem {
}
@Override
- public boolean compareItemStack(ItemStack other) {
- return other.isSimilar(itemStack);
+ public boolean compareItemStack(ItemStack other, boolean exactMatch) {
+ return exactMatch ? other.isSimilar(itemStack) : other.getType() == itemStack.getType();
}
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/QuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/QuestItem.java
index e4fa40b5..cde6e577 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/QuestItem.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/QuestItem.java
@@ -29,5 +29,5 @@ public abstract class QuestItem {
public abstract ItemStack getItemStack();
- public abstract boolean compareItemStack(ItemStack other);
+ public abstract boolean compareItemStack(ItemStack other, boolean exactMatch);
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java
index c8dbeea9..682a5420 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java
@@ -15,20 +15,12 @@ public class SlimefunQuestItem extends QuestItem {
@Override
public ItemStack getItemStack() {
SlimefunItem item = SlimefunItem.getById(slimefunId);
- if (item == null) {
- return null;
- }
- return item.getItem();
+ return item != null ? item.getItem() : null;
}
@Override
- public boolean compareItemStack(ItemStack other) {
+ public boolean compareItemStack(ItemStack other, boolean exactMatch) {
SlimefunItem item = SlimefunItem.getByItem(other);
-
- if (item == null) return false;
-
- String id = item.getId();
- return slimefunId.equals(id);
+ return item != null && slimefunId.equals(item.getId());
}
-
}