aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrakenied <krakenied1@gmail.com>2025-05-13 17:24:07 +0200
committerKrakenied <46192742+Krakenied@users.noreply.github.com>2025-05-13 17:27:43 +0200
commitde11df0a59f0dea1a7a23936ec87a4a053414d65 (patch)
treede64526fb71d82a2acec3e6fa288dcc32e25e10f
parent092ef4787c3497dea85afa7eefa6aa44f1cb217d (diff)
Add Nexo quest item support
Closes https://github.com/LMBishop/Quests/issues/783
-rw-r--r--bukkit/build.gradle.kts4
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java5
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/NexoQuestItem.java25
-rw-r--r--bukkit/src/main/resources/plugin.yml1
-rw-r--r--docs/configuration/defining-items.md14
5 files changed, 49 insertions, 0 deletions
diff --git a/bukkit/build.gradle.kts b/bukkit/build.gradle.kts
index 98a3c22f..e7ab248c 100644
--- a/bukkit/build.gradle.kts
+++ b/bukkit/build.gradle.kts
@@ -31,6 +31,8 @@ repositories {
maven("https://nexus.phoenixdevt.fr/repository/maven-public/")
// MythicMobs 4, MythicMobs 5
maven("https://mvn.lumine.io/repository/maven-public/")
+ // Nexo
+ maven("https://repo.nexomc.com/releases")
// NuVotifier
maven("https://repo.leonardobishop.com/releases/")
// Oraxen
@@ -99,6 +101,8 @@ dependencies {
compileOnlyPlugin("io.lumine.xikage:MythicMobs:4.12.0")
// MythicMobs 5
compileOnlyPlugin("io.lumine:Mythic-Dist:5.2.0")
+ // Nexo
+ compileOnlyPlugin("com.nexomc:nexo:1.1.0")
// NuVotifier
compileOnlyPlugin("com.vexsoftware:NuVotifier:2.7.3")
// Oraxen
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
index 660f3eed..aabf8998 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
@@ -5,6 +5,7 @@ import com.leonardobishop.quests.bukkit.hook.itemgetter.ItemGetter;
import com.leonardobishop.quests.bukkit.item.ExecutableItemsQuestItem;
import com.leonardobishop.quests.bukkit.item.ItemsAdderQuestItem;
import com.leonardobishop.quests.bukkit.item.MMOItemsQuestItem;
+import com.leonardobishop.quests.bukkit.item.NexoQuestItem;
import com.leonardobishop.quests.bukkit.item.OraxenQuestItem;
import com.leonardobishop.quests.bukkit.item.ParsedQuestItem;
import com.leonardobishop.quests.bukkit.item.PyroFishingProQuestItem;
@@ -511,6 +512,10 @@ public class BukkitQuestsLoader implements QuestsLoader {
if (!Bukkit.getPluginManager().isPluginEnabled("PyroFishingPro")) return FileVisitResult.CONTINUE;
item = new PyroFishingProQuestItem(id, config.getInt("item.fish-number", -1), config.getString("item.tier"));
break;
+ case "nexo":
+ if (!Bukkit.getPluginManager().isPluginEnabled("Nexo")) return FileVisitResult.CONTINUE;
+ item = new NexoQuestItem(id, config.getString("item.id"));
+ break;
}
questItemRegistry.registerItem(id, item);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/NexoQuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/NexoQuestItem.java
new file mode 100644
index 00000000..e4629367
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/NexoQuestItem.java
@@ -0,0 +1,25 @@
+package com.leonardobishop.quests.bukkit.item;
+
+import com.nexomc.nexo.api.NexoItems;
+import org.bukkit.inventory.ItemStack;
+
+public class NexoQuestItem extends QuestItem {
+
+ private final String nexoId;
+
+ public NexoQuestItem(String id, String nexoId) {
+ super("nexo", id);
+ this.nexoId = nexoId;
+ }
+
+ @Override
+ public ItemStack getItemStack() {
+ return NexoItems.itemFromId(this.nexoId).build();
+ }
+
+ @Override
+ public boolean compareItemStack(ItemStack other, boolean exactMatch) {
+ final String otherId = NexoItems.idFromItem(other);
+ return this.nexoId.equals(otherId);
+ }
+}
diff --git a/bukkit/src/main/resources/plugin.yml b/bukkit/src/main/resources/plugin.yml
index 6e15f2f0..33feddff 100644
--- a/bukkit/src/main/resources/plugin.yml
+++ b/bukkit/src/main/resources/plugin.yml
@@ -20,6 +20,7 @@ softdepend:
- FabledSkyBlock
- IridiumSkyblock
- MythicMobs
+- Nexo
- Oraxen
- PinataParty
- PlaceholderAPI
diff --git a/docs/configuration/defining-items.md b/docs/configuration/defining-items.md
index 1e7aeaf3..c4b3802b 100644
--- a/docs/configuration/defining-items.md
+++ b/docs/configuration/defining-items.md
@@ -231,6 +231,7 @@ The types of quest items are as follows:
- `slimefun` (items from Slimefun)
- `executableitems` (items from ExecutableItems)
- `itemsadder` (items from ItemsAdder)
+- `nexo` (items from Nexo)
- `oraxen` (items from Oraxen)
- `pyrofishingpro` (items from PyroFishingPro)
@@ -321,6 +322,19 @@ item:
id: "itemsadder" #itemsdadder id
```
+#### Nexo
+
+**Nexo quest items** are ItemStacks which belong to the
+Nexo plugin.
+
+ items/testitem.yml
+
+``` yaml
+type: "nexo"
+item:
+ id: "nexo_id" #nexo id
+```
+
#### Oraxen
**Oraxen quest items** are ItemStacks which belong to the