package com.ac.dc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryOpenEvent;
import org.*********ventory.Inventory;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.ItemMeta;
public class CaseListener implements Listener
{
int task;
static HashMap<Player, Integer> tasks = new HashMap<>();
static List<String> materials = new ArrayList<String>();
static List<String> cmds = new ArrayList<String>();
private CaseCommand plugin;
static List<String> names = new ArrayList<>();
public CaseListener(CaseCommand pl) {
this.plugin = pl;
}
@EventHandler
public void onClick1(InventoryClickEvent e)
{
Inventory inv = e.getInventory();
if(inv.getName().equalsIgnoreCase(ChatColor.GREEN+"Открыть кейс с донатом"))
{
Player p = (Player) e.getWhoClicked();
ItemStack item = e.getCurrentItem();
if(item.getType() == Material.AIR) return;
e.setCancelled(true);
if(item.getType() != Material.CHEST) return;
if(!item.getItemMeta().hasDisplayName()) return;
if(!item.getItemMeta().getDisplayName().equals(ChatColor.DARK_AQUA+"Открыть кейс"));
AdderRemover.remove(p);
Menus.spin(p);
}
}
@EventHandler
public void onClick2(InventoryClickEvent e)
{
Inventory inv = e.getInventory();
if(inv.getName().equalsIgnoreCase(ChatColor.GOLD+"Открытие кейса..."))
{
ItemStack item = e.getCurrentItem();
if(item.getType() == Material.AIR) return;
e.setCancelled(true);
}
}
@EventHandler
public void onOpen1(InventoryOpenEvent e)
{
Player p =(Player) e.getPlayer();
Inventory inv = e.getInventory();
if(inv.getName().equalsIgnoreCase(ChatColor.GOLD+"Открытие кейса..."))
{
Random r = new Random();
List<ItemStack> items = new ArrayList<>();
for(String s : materials)
{
ItemStack item = new ItemStack(Material.getMaterial(s.toUpperCase()));
items.add(item);
}
task = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, () -> {
int index = r.nextInt(materials.size());
ItemStack item = items.get(index);
ItemMeta meta = item.getItemMeta();
String name = names.get(index).replace("&", "\u00a7");
meta.setDisplayName(ChatColor.BLUE+name);
item.setItemMeta(meta);
inv.setItem(13, items.get(index));
}, 0, 3);
tasks.put(p, Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, ()-> {
Bukkit.getScheduler().cancelTask(task);
tasks.remove(p);
int index = r.nextInt(materials.size());
ItemStack item = items.get(index);
Menus.get(p, item);
}, 80L));
}
}
}