RandomizedMinigames/src/main/java/de/ventority/randomizedminigames/GUI/GUIClickEvent.java
2025-04-08 11:24:50 +02:00

41 lines
1.5 KiB
Java

package de.ventority.randomizedminigames.GUI;
import de.ventority.randomizedminigames.MinigameHandler;
import de.ventority.randomizedminigames.RandomizedMinigames;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;
public class GUIClickEvent implements Listener {
@EventHandler
public void onClickEvent(InventoryClickEvent event) {
Inventory inventory = event.getInventory();
if (inventory.getItem(0) == null) return;
if (hasNBTData(inventory.getItem(0))) {
if (event.getCurrentItem() == null) return;
if (event.getCurrentItem().getType() == Material.DIAMOND_SWORD) {
MinigameHandler.createMinigame(0);
}
}
}
private boolean hasNBTData(ItemStack item) {
if (item == null || !item.hasItemMeta()) return false;
ItemMeta meta = item.getItemMeta();
NamespacedKey key = new NamespacedKey(RandomizedMinigames.serverSettingsHandler.getPlugin(), "IsMinigamePlugin");
if (meta == null) return false;
PersistentDataContainer data = meta.getPersistentDataContainer();
return "1".equals(data.get(key, PersistentDataType.STRING));
}
}