9
0
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:
HeroBrineGoat
2022-01-19 21:16:28 -05:00
parent c4dba6f9a8
commit 941b82de08
7 changed files with 27 additions and 16 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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();

View File

@@ -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());
}
}

View File

@@ -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();
}
}