/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.arkhamnetwork.arcade.minigame.skywars.listener;
import org.arkhamnetwork.arcade.commons.kit.Kit;
import org.arkhamnetwork.arcade.minigame.skywars.SkyWars;
import org.arkhamnetwork.arcade.minigame.skywars.manager.SkywarsPlayerManager;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
/**
*
* @author devan_000
*/
public class SkywarsInventoryListener implements Listener {
private SkyWars plugin = SkyWars.getSkywars();
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onKitInventoryClick(InventoryClickEvent event) {
if (!(event.getWhoClicked() instanceof Player)) {
return;
}
//If the game has started.
if (plugin.getCurrentStage() == null || plugin.getCurrentStage().getId() != 0) {
return;
}
event.setCancelled(true);
Inventory clickedInventory = event.getClickedInventory();
if (clickedInventory == null || clickedInventory.getTitle() == null) {
return;
}
String title = ChatColor.stripColor(clickedInventory.getTitle());
//Validate if it is a kit shop or not.
if (!title.contains("Shop>")) {
return;
}
Player player = ((Player) event.getWhoClicked());
if (player.getOpenInventory() != null) {
player.getOpenInventory().close();
}
ItemStack clicked = event.getCurrentItem();
//He didnt want to confirm.
if (clicked != null && clicked.getType() != Material.EMERALD_BLOCK) {
return;
}
Kit clickedKit = plugin.getKits().get(title.replace("Shop> ", ""));
if (clickedKit != null) {
SkywarsPlayerManager.attemptSelectKit(clickedKit, plugin.getPlayers().get(player.getUniqueId()), true);
}
}
}