package eu.univento.woolget.listeners; import eu.univento.core.api.player.CustomPlayer; import eu.univento.woolget.WoolGet; import eu.univento.woolget.game.GameStage; import eu.univento.woolget.utils.Shop; import eu.univento.woolget.utils.TeamChooser; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryMoveItemEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import java.util.Random; /** * @author joethei * @version 0.1 */ public class Inventorys implements Listener{ @EventHandler public void onInteract(PlayerInteractEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer()); if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) { if(e.getItem() != null) { if (e.getItem().getType() == Material.PAPER && WoolGet.getGameStage() == GameStage.Lobby) { p.openInventory(WoolGet.getVoting().getInventory(p)); } if (e.getItem().getType() == Material.NETHER_STAR && WoolGet.getGameStage() == GameStage.Lobby) { p.connectToServer("Lobby01"); } if (e.getItem().getType() == Material.WOOL && WoolGet.getGameStage() == GameStage.Lobby) { p.openInventory(TeamChooser.getInventory(p)); } if (e.getItem().getType() == Material.GOLD_INGOT && WoolGet.getGameStage() == GameStage.Game) { if (Shop.mobileShop().contains(p)) p.openInventory(Shop.getInventory(p)); } } if(e.getClickedBlock() != null) { if(e.getClickedBlock().getType() == Material.ENCHANTMENT_TABLE && (WoolGet.getGameStage() == GameStage.Game || WoolGet.getGameStage() == GameStage.Warmup)) { e.setCancelled(true); Random random = new Random(); int r = random.nextInt(8); ItemStack mine = new ItemStack(Material.STONE_PLATE); ItemStack ender = new ItemStack(Material.ENDER_PEARL); ItemStack switcher = new ItemStack(Material.SNOW_BALL); ItemStack grenade = new ItemStack(Material.FIREBALL); ItemStack tracker = new ItemStack(Material.COMPASS); ItemStack spawn = new ItemStack(Material.EYE_OF_ENDER); ItemStack c4 = new ItemStack(Material.TNT); ItemStack spreader = new ItemStack(Material.BEACON); ItemStack item = null; if (r == 0) item = mine; if (r == 1) item = ender; if (r == 2) item = switcher; if (r == 3) item = grenade; if (r == 4) item = tracker; if (r == 5) item = spawn; if (r == 6) item = c4; if (r == 7) item = spreader; p.getInventory().addItem(item); Block block = e.getClickedBlock(); block.setType(Material.ENDER_PORTAL_FRAME); Bukkit.getScheduler().scheduleSyncDelayedTask(WoolGet.getInstance(), () -> block.setType(Material.ENCHANTMENT_TABLE), 100L); } } } } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if(e.getWhoClicked() instanceof Player) { CustomPlayer p = CustomPlayer.getPlayer(e.getWhoClicked().getName()); if(e.getInventory().getName().equals(TeamChooser.getInventory(p).getName())) { if (e.getCurrentItem().getType() == Material.WOOL && WoolGet.getGameStage() == GameStage.Lobby) { if (e.getCurrentItem().getItemMeta().getDisplayName().equals("§9blue")) { p.getInventory().getItem(1).setDurability((short) 11); TeamChooser.addToTeam("blue", p); p.closeInventory(); } if (e.getCurrentItem().getItemMeta().getDisplayName().equals("§eyellow")) { p.getInventory().getItem(1).setDurability((short) 4); TeamChooser.addToTeam("yellow", p); p.closeInventory(); } } } } } @EventHandler public void onInventoryMove(InventoryMoveItemEvent e) { if(WoolGet.getGameStage() == GameStage.Lobby) e.setCancelled(true); } }