41 lines
1.5 KiB
Java
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));
|
|
}
|
|
}
|