106 lines
4.8 KiB
Java
106 lines
4.8 KiB
Java
|
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);
|
||
|
}
|
||
|
}
|