mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-28 19:39:14 +00:00
Added support for item adder
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<GuiItem> {
|
||||
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();
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user