From 941b82de084016c8b52f848d01b294e841e56522 Mon Sep 17 00:00:00 2001
From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com>
Date: Wed, 19 Jan 2022 21:16:28 -0500
Subject: [PATCH] Added support for item adder
---
.idea/jarRepositories.xml | 5 +++++
build.gradle | 3 ++-
.../fisher2911/hmccosmetics/HMCCosmetics.java | 2 ++
.../hmccosmetics/config/GuiSerializer.java | 2 ++
.../hmccosmetics/config/ItemSerializer.java | 6 +++++-
.../hmccosmetics/hook/item/ItemHooks.java | 15 +++++++--------
.../hmccosmetics/hook/item/ItemsAdderHook.java | 10 ++++------
7 files changed, 27 insertions(+), 16 deletions(-)
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index b981a7cd..9a797cac 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -61,5 +61,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index fd9b1db6..c4019a49 100644
--- a/build.gradle
+++ b/build.gradle
@@ -16,6 +16,7 @@ repositories {
maven { url = 'https://repo.extendedclip.com/content/repositories/placeholderapi/' }
maven { url = 'https://mvnrepository.com/artifact/com.zaxxer/HikariCP' }
maven { url = 'https://repo.jeff-media.de/maven2/' }
+// maven { url = 'https://maven.pkg.github.com/LoneDev6/API-ItemsAdder' }
}
dependencies {
@@ -27,6 +28,7 @@ dependencies {
compileOnly 'net.kyori:adventure-api:4.9.3'
compileOnly 'me.clip:placeholderapi:2.11.1'
compileOnly 'com.github.oraxen:oraxen:-SNAPSHOT'
+ compileOnly 'com.github.LoneDev6:API-ItemsAdder:2.5.4'
implementation 'net.kyori:adventure-text-minimessage:4.2.0-SNAPSHOT'
implementation 'net.kyori:adventure-platform-bukkit:4.0.0'
implementation 'dev.triumphteam:triumph-gui:3.0.3'
@@ -34,7 +36,6 @@ dependencies {
implementation 'org.spongepowered:configurate-yaml:4.1.2'
implementation 'org.bstats:bstats-bukkit:2.2.1'
implementation 'com.zaxxer:HikariCP:5.0.0'
- implementation 'com.github.LoneDev6:API-ItemsAdder:2.5.4-beta2'
}
test {
diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java
index 204034c8..a3ad8d55 100644
--- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java
+++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java
@@ -17,8 +17,10 @@ import io.github.fisher2911.hmccosmetics.message.Messages;
import io.github.fisher2911.hmccosmetics.user.UserManager;
import me.mattstudios.mf.base.CommandManager;
import org.bstats.bukkit.Metrics;
+import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
+import java.io.BufferedReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/config/GuiSerializer.java b/src/main/java/io/github/fisher2911/hmccosmetics/config/GuiSerializer.java
index a58d7d7d..34236187 100644
--- a/src/main/java/io/github/fisher2911/hmccosmetics/config/GuiSerializer.java
+++ b/src/main/java/io/github/fisher2911/hmccosmetics/config/GuiSerializer.java
@@ -4,6 +4,8 @@ import dev.triumphteam.gui.guis.GuiItem;
import io.github.fisher2911.hmccosmetics.HMCCosmetics;
import io.github.fisher2911.hmccosmetics.gui.CosmeticGui;
import io.github.fisher2911.hmccosmetics.message.Adventure;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.spongepowered.configurate.ConfigurationNode;
import org.spongepowered.configurate.serialize.SerializationException;
diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java b/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java
index fb3a97b1..f8c85d86 100644
--- a/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java
+++ b/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java
@@ -19,6 +19,7 @@ import org.bukkit.NamespacedKey;
import org.bukkit.OfflinePlayer;
import org.bukkit.Registry;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -192,13 +193,16 @@ public class ItemSerializer implements TypeSerializer {
itemBuilder = ItemBuilder.from(itemStack);
}
+ if (itemStack.getItemMeta() != null && !itemStack.getItemMeta().hasCustomModelData()) {
+ itemBuilder.modelData(modelData);
+ }
+
itemStack = itemBuilder.
amount(amount).
name(name).
unbreakable(unbreakable).
glow(glowing).
lore(lore).
- modelData(modelData).
enchants(enchantments, true).
itemFlags(itemFlags).
build();
diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java
index 6980c3b6..f7ed067d 100644
--- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java
+++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java
@@ -1,11 +1,8 @@
package io.github.fisher2911.hmccosmetics.hook.item;
-import io.github.fisher2911.hmccosmetics.HMCCosmetics;
-import io.github.fisher2911.hmccosmetics.hook.HookManager;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.Nullable;
-import java.util.HashMap;
import java.util.Map;
public class ItemHooks {
@@ -23,15 +20,17 @@ public class ItemHooks {
if (parts.length < 2) return null;
final String identifier = parts[0];
- final String itemId = parts[1];
+ final StringBuilder itemId = new StringBuilder();
+
+ for (int i = 1; i < parts.length; i++) {
+ itemId.append(parts[i]);
+ if (i < parts.length - 1) itemId.append(":");
+ }
final ItemHook hook = this.itemHookMap.get(identifier);
-
if (hook == null) return null;
- return hook.getItem(itemId);
+ return hook.getItem(itemId.toString());
}
-
-
}
diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java
index 3cf3fc77..83407ceb 100644
--- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java
+++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java
@@ -3,6 +3,7 @@ package io.github.fisher2911.hmccosmetics.hook.item;
import dev.lone.itemsadder.api.CustomStack;
import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent;
import io.github.fisher2911.hmccosmetics.HMCCosmetics;
+import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
@@ -12,13 +13,10 @@ public class ItemsAdderHook implements ItemHook, Listener {
public static final String ID = "ITEM_ADDER";
private static final String IDENTIFIER = "itemsadder";
- private boolean loaded;
-
@EventHandler
public void onItemsAdderLoad(final ItemsAdderLoadDataEvent event) {
- if (this.loaded) return;
- HMCCosmetics.getPlugin(HMCCosmetics.class).load();
- this.loaded = true;
+ final HMCCosmetics plugin = HMCCosmetics.getPlugin(HMCCosmetics.class);
+ Bukkit.getScheduler().runTaskAsynchronously(plugin, plugin::load);
}
@Override
@@ -35,6 +33,6 @@ public class ItemsAdderHook implements ItemHook, Listener {
public ItemStack getItem(final String id) {
final CustomStack stack = CustomStack.getInstance(id);
if (stack == null) return null;
- return stack.getItemStack();
+ return stack.getItemStack().clone();
}
}