Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ro.Fr33styler.CounterStrike.Handler;
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Set;
- import org.bukkit.Bukkit;
- import org.bukkit.Effect;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.Server;
- import org.bukkit.World;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockFace;
- import org.bukkit.block.Sign;
- import org.bukkit.configuration.file.YamlConfiguration;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.EntityType;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.block.BlockBreakEvent;
- import org.bukkit.event.block.BlockPhysicsEvent;
- import org.bukkit.event.block.BlockPlaceEvent;
- import org.bukkit.event.block.SignChangeEvent;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.entity.EntityDamageEvent;
- import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
- import org.bukkit.event.entity.EntityRegainHealthEvent;
- import org.bukkit.event.entity.FoodLevelChangeEvent;
- import org.bukkit.event.hanging.HangingBreakByEntityEvent;
- import org.bukkit.event.hanging.HangingBreakEvent;
- import org.bukkit.event.hanging.HangingBreakEvent.RemoveCause;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryType.SlotType;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerDropItemEvent;
- import org.bukkit.event.player.PlayerInteractAtEntityEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerItemConsumeEvent;
- import org.bukkit.event.player.PlayerItemHeldEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerKickEvent;
- import org.bukkit.event.player.PlayerLoginEvent;
- import org.bukkit.event.player.PlayerLoginEvent.Result;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.event.player.PlayerPickupItemEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.event.player.PlayerResourcePackStatusEvent;
- import org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
- import org.bukkit.event.player.PlayerToggleSneakEvent;
- import org.bukkit.event.server.PluginEnableEvent;
- import org.bukkit.event.server.ServerListPingEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.PlayerInventory;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import org.bukkit.util.Vector;
- import ro.Fr33styler.CounterStrike.Api.GameLeaveEvent;
- import ro.Fr33styler.CounterStrike.Cache.PlayerShop;
- import ro.Fr33styler.CounterStrike.Cache.PlayerStatus;
- import ro.Fr33styler.CounterStrike.Cache.ShopType;
- import ro.Fr33styler.CounterStrike.Grenades.Grenade;
- import ro.Fr33styler.CounterStrike.Grenades.GrenadeType;
- import ro.Fr33styler.CounterStrike.Guns.Gun;
- import ro.Fr33styler.CounterStrike.Guns.GunType;
- import ro.Fr33styler.CounterStrike.Main;
- import ro.Fr33styler.CounterStrike.Messages;
- import ro.Fr33styler.CounterStrike.UpdateTask;
- import ro.Fr33styler.CounterStrike.Utils.GameUtils;
- import ro.Fr33styler.CounterStrike.Utils.ItemBuilder;
- import ro.Fr33styler.CounterStrike.Version.SpigotSound;
- import ro.Fr33styler.CounterStrike.Version.VersionInterface;
- public class GameListener
- implements Listener
- {
- private Main main;
- private Inventory selector = Bukkit.createInventory(null, 27, Messages.SELECTOR_NAME.toString());
- public GameListener(Main paramMain)
- {
- this.main = paramMain;
- this.selector.setItem(11, ItemBuilder.create(Material.INK_SACK, 1, (short)14, "&a" + Messages.TEAM_NAME + " " + Messages.TEAM_FIRST, Messages.SELECTOR_TEAM_A.toString()));
- this.selector.setItem(13, ItemBuilder.create(Material.INK_SACK, 1, (short)8, "&a" + Messages.TEAM_RANDOM, Messages.SELECTOR_TEAM_RANDOM.toString()));
- this.selector.setItem(15, ItemBuilder.create(Material.INK_SACK, 1, (short)10, "&a" + Messages.TEAM_NAME + " " + Messages.TEAM_SECOND, Messages.SELECTOR_TEAM_B.toString()));
- }
- @EventHandler
- public void onInteract(PlayerInteractEvent paramPlayerInteractEvent)
- {
- Player localPlayer = paramPlayerInteractEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- Object localObject1;
- Object localObject2;
- Object localObject3;
- if (localGame != null)
- {
- if ((paramPlayerInteractEvent.getAction() == Action.RIGHT_CLICK_AIR) || (paramPlayerInteractEvent.getAction() == Action.RIGHT_CLICK_BLOCK))
- {
- if (localGame.getState() == GameState.WAITING)
- {
- if (localPlayer.getInventory().getItemInHand() != null) {
- if (localPlayer.getInventory().getItemInHand().getType() == Material.LEATHER)
- {
- localPlayer.openInventory(this.selector);
- }
- else if (localPlayer.getInventory().getItemInHand().getType() == Material.BED)
- {
- paramPlayerInteractEvent.setCancelled(true);
- this.main.getManager().removePlayer(localGame, localPlayer, false, false);
- localPlayer.sendMessage(Messages.PREFIX + Messages.GAME_LEFT.toString());
- }
- }
- }
- else if ((localGame.getState() == GameState.IN_GAME) || (localGame.getState() == GameState.ROUND))
- {
- localObject1 = localPlayer.getInventory().getItemInHand();
- if ((localObject1 != null) && (((ItemStack)localObject1).getType() != Material.AIR) && (((ItemStack)localObject1).getType() == Material.GHAST_TEAR))
- {
- if (this.main.getManager().isAtSpawn(localGame, localPlayer))
- {
- if ((localGame.getTimer() > 90) || (localGame.getState() == GameState.ROUND)) {
- localPlayer.openInventory((Inventory)localGame.getShops().get(localPlayer.getUniqueId()));
- } else {
- localPlayer.sendMessage(Messages.SHOP_AFTER_30_SECONDS.toString());
- }
- }
- else {
- localPlayer.sendMessage(Messages.OPEN_SHOP_SPAWN.toString());
- }
- return;
- }
- if ((localObject1 != null) && (((ItemStack)localObject1).getType() != Material.AIR) && (localGame.getState() == GameState.IN_GAME))
- {
- if (((((ItemStack)localObject1).getType() == Material.SHEARS) || (((ItemStack)localObject1).getType() == Material.GOLD_NUGGET)) && (paramPlayerInteractEvent.getClickedBlock() != null) && (paramPlayerInteractEvent.getClickedBlock().getType() == Material.DAYLIGHT_DETECTOR))
- {
- paramPlayerInteractEvent.setCancelled(true);
- if ((this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().contains(localPlayer)) &&
- (!localGame.isDefusing(localPlayer)) && (localPlayer.getLocation().distance(localGame.getBomb().getLocation()) <= 2.0D))
- {
- localGame.addDefuser(localPlayer, ((ItemStack)localObject1).getType() == Material.SHEARS ? 5 : 10);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.LEVEL_UP.getSound(), 1.0F, 1.0F);
- }
- }
- if (((((ItemStack)localObject1).getType() == Material.SHEARS) || (((ItemStack)localObject1).getType() == Material.GOLD_NUGGET)) && (paramPlayerInteractEvent.getClickedBlock() != null) && (paramPlayerInteractEvent.getClickedBlock().getType() == Material.CROPS))
- {
- paramPlayerInteractEvent.setCancelled(true);
- if ((this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().contains(localPlayer)) &&
- (!localGame.isDefusing(localPlayer)) && (localPlayer.getLocation().distance(localGame.getBomb().getLocation()) <= 2.0D))
- {
- localGame.addDefuser(localPlayer, ((ItemStack)localObject1).getType() == Material.SHEARS ? 5 : 10);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.LEVEL_UP.getSound(), 1.0F, 1.0F);
- }
- }
- localObject2 = this.main.getGun((ItemStack)localObject1);
- if ((localObject2 != null) && (!localGame.isDefusing(localPlayer))) {
- ((Gun)localObject2).shot(localGame, localPlayer);
- }
- localObject3 = this.main.getGrenade((ItemStack)localObject1);
- if ((localObject3 != null) && (localGame.getState() == GameState.IN_GAME) && (!localGame.isRoundEnding()) && (!localGame.isDefusing(localPlayer)))
- {
- paramPlayerInteractEvent.setCancelled(true);
- ((Grenade)localObject3).throwGrenade(this.main, localGame, localPlayer);
- }
- }
- }
- }
- else if ((paramPlayerInteractEvent.getAction() == Action.LEFT_CLICK_AIR) || (paramPlayerInteractEvent.getAction() == Action.LEFT_CLICK_BLOCK))
- {
- paramPlayerInteractEvent.setCancelled(true);
- localObject1 = localPlayer.getInventory().getItemInHand();
- if ((localObject1 != null) && (((ItemStack)localObject1).getType() != Material.AIR))
- {
- localObject2 = this.main.getGun((ItemStack)localObject1);
- if (localObject2 != null) {
- ((Gun)localObject2).reload(localPlayer, localPlayer.getInventory().getHeldItemSlot());
- }
- }
- }
- }
- else if ((paramPlayerInteractEvent.getAction() == Action.RIGHT_CLICK_BLOCK) && ((paramPlayerInteractEvent.getClickedBlock().getState() instanceof Sign)))
- {
- localObject1 = paramPlayerInteractEvent.getClickedBlock().getLocation();
- Iterator localIterator;
- Object localObject4;
- for (localObject3 = this.main.getManager().getGames().iterator(); ((Iterator)localObject3).hasNext(); localIterator.hasNext())
- {
- localObject2 = (Game)((Iterator)localObject3).next();
- localIterator = ((Game)localObject2).getSigns().iterator(); continue;localObject4 = (Location)localIterator.next();
- if ((((Location)localObject1).getWorld() == ((Location)localObject4).getWorld()) && (((Location)localObject1).distance((Location)localObject4) == 0.0D))
- {
- paramPlayerInteractEvent.setCancelled(true);
- this.main.getManager().addPlayer(localPlayer, (Game)localObject2);
- return;
- }
- }
- localObject2 = this.main.getManager().getQuickJoinSigns().iterator();
- while (((Iterator)localObject2).hasNext())
- {
- localObject3 = (Location)((Iterator)localObject2).next();
- if (((Location)localObject1).equals(localObject3))
- {
- localObject4 = this.main.getManager().findGame(localPlayer);
- if (localObject4 == null) {
- break;
- }
- if (((Game)localObject4).getState() == GameState.WAITING)
- {
- this.main.getManager().addPlayer(localPlayer, (Game)localObject4);
- break;
- }
- if ((((Game)localObject4).getState() != GameState.IN_GAME) && (((Game)localObject4).getState() != GameState.ROUND)) {
- break;
- }
- this.main.getManager().addQuickPlayer((Game)localObject4, localPlayer);
- break;
- }
- }
- }
- }
- @EventHandler
- public void onDamageWithKnife(EntityDamageByEntityEvent paramEntityDamageByEntityEvent)
- {
- Object localObject;
- if ((paramEntityDamageByEntityEvent.getEntity().getType() == EntityType.PLAYER) && (paramEntityDamageByEntityEvent.getDamager().getType() == EntityType.PLAYER))
- {
- localObject = (Player)paramEntityDamageByEntityEvent.getEntity();
- Player localPlayer = (Player)paramEntityDamageByEntityEvent.getDamager();
- Game localGame = this.main.getManager().getGame((Player)localObject);
- if (localGame != null)
- {
- paramEntityDamageByEntityEvent.setCancelled(true);
- if ((localGame.getState() == GameState.IN_GAME) && (!this.main.getManager().sameTeam(localGame, (Player)localObject, localPlayer)) && (localPlayer.getInventory().getHeldItemSlot() == 2) && (localPlayer.getItemInHand() != null) && (this.main.getUpdateTask().getDelay().get(((Player)localObject).getUniqueId()) == null) && (!localGame.getSpectators().contains(localObject)))
- {
- if (this.main.enableBlood()) {
- ((Player)localObject).getWorld().playEffect(((Player)localObject).getLocation(), Effect.STEP_SOUND, Material.REDSTONE_WIRE);
- }
- Vector localVector1 = localPlayer.getEyeLocation().toVector().subtract(((Player)localObject).getEyeLocation().toVector());
- Vector localVector2 = ((Player)localObject).getEyeLocation().getDirection().normalize();
- float f = localVector1.angle(localVector2);
- if ((localPlayer.getLocation().distance(((Player)localObject).getLocation()) <= 1.7D) || (f <= 1.5D)) {
- this.main.getManager().damage(localGame, localPlayer, (Player)localObject, 3.0D, "?");
- } else {
- this.main.getManager().damage(localGame, localPlayer, (Player)localObject, 20.0D, "?");
- }
- this.main.getUpdateTask().getDelay().put(((Player)localObject).getUniqueId(), Integer.valueOf(35));
- }
- }
- }
- else if ((paramEntityDamageByEntityEvent.getDamager().getType() == EntityType.PLAYER) && (paramEntityDamageByEntityEvent.getEntity().getType() == EntityType.ITEM_FRAME))
- {
- localObject = this.main.getManager().getGame((Player)paramEntityDamageByEntityEvent.getDamager());
- if (localObject != null) {
- paramEntityDamageByEntityEvent.setCancelled(true);
- }
- }
- }
- @EventHandler
- public void onBombPlant(PlayerItemConsumeEvent paramPlayerItemConsumeEvent)
- {
- Player localPlayer1 = paramPlayerItemConsumeEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer1);
- if (localGame != null)
- {
- paramPlayerItemConsumeEvent.setCancelled(true);
- if ((localPlayer1.getInventory().getItemInHand().getType() == Material.GOLDEN_APPLE) &&
- (localGame.getState() == GameState.IN_GAME) && (!localGame.isRoundEnding()) && (localPlayer1.getLocation().getBlock().getRelative(BlockFace.DOWN).getType().isSolid()))
- {
- Block localBlock = localPlayer1.getLocation().getBlock();
- if (localBlock.getType() == Material.AIR)
- {
- localPlayer1.getInventory().setItem(5, new ItemStack(Material.AIR));
- localBlock.setType(Material.DAYLIGHT_DETECTOR);
- localGame.getBomb().setLocation(localBlock.getLocation());
- localGame.getBomb().setTimer(this.main.getBombTime());
- localGame.setGameTimer(this.main.getBombTime());
- localGame.getBomb().isPlanted(true);
- localGame.setMoney(localPlayer1, localGame.getMoney(localPlayer1) + this.main.getBombPlantMoney());
- ((PlayerStatus)localGame.getStats().get(localPlayer1.getUniqueId())).addBombPlanted();
- Player localPlayer2;
- for (Iterator localIterator = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST).getPlayers().iterator(); localIterator.hasNext();)
- {
- localPlayer2 = (Player)localIterator.next();
- localPlayer2.setCompassTarget(localPlayer1.getLocation().getBlock().getLocation());
- localPlayer2.playSound(localPlayer2.getLocation(), "cs.gamesounds.bombplanted", 1.0F, 1.0F);
- this.main.getVersionInterface().sendTitle(localPlayer2, 0, 23, 0, "", Messages.BOMB_PLANTED.toString());
- }
- for (localIterator = this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().iterator(); localIterator.hasNext();)
- {
- localPlayer2 = (Player)localIterator.next();
- localPlayer2.playSound(localPlayer2.getLocation(), "cs.gamesounds.bombplanted", 1.0F, 1.0F);
- this.main.getVersionInterface().sendTitle(localPlayer2, 0, 23, 0, "", Messages.BOMB_PLANTED.toString());
- }
- }
- }
- }
- }
- @EventHandler
- public void onChat(AsyncPlayerChatEvent paramAsyncPlayerChatEvent)
- {
- Player localPlayer = paramAsyncPlayerChatEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- Object localObject;
- if (localGame == null)
- {
- for (Iterator localIterator = this.main.getManager().getGames().iterator(); localIterator.hasNext();)
- {
- localObject = (Game)localIterator.next();
- paramAsyncPlayerChatEvent.getRecipients().removeAll(((Game)localObject).getTeamA().getPlayers());
- paramAsyncPlayerChatEvent.getRecipients().removeAll(((Game)localObject).getTeamB().getPlayers());
- }
- }
- else
- {
- paramAsyncPlayerChatEvent.getRecipients().clear();
- if ((localGame.getState() == GameState.WAITING) || (localGame.getState() == GameState.END))
- {
- paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamA().getPlayers());
- paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamB().getPlayers());
- paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_WAITING_FORMAT.toString().replace("%player%", localPlayer.getName()).replace("%message%", "%2$s"));
- }
- else if ((paramAsyncPlayerChatEvent.getMessage().startsWith("!")) && (paramAsyncPlayerChatEvent.getMessage().length() > 1))
- {
- paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamA().getPlayers());
- paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamB().getPlayers());
- paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_GLOBAL_FORMAT.toString().replace("%player%", localPlayer.getName()).replace("%message%", paramAsyncPlayerChatEvent.getMessage().substring(1)));
- }
- else if (this.main.getManager().getTeam(localGame, localPlayer) == GameTeam.Role.COUNTERTERRORIST)
- {
- localObject = this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST);
- paramAsyncPlayerChatEvent.getRecipients().addAll(((GameTeam)localObject).getPlayers());
- paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_PLAYING_FORMAT.toString().replace("%team%", "�3?").replace("%player%", localPlayer.getName()).replace("%message%", "%2$s"));
- }
- else
- {
- localObject = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST);
- paramAsyncPlayerChatEvent.getRecipients().addAll(((GameTeam)localObject).getPlayers());
- paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_PLAYING_FORMAT.toString().replace("%team%", "�4?").replace("%player%", localPlayer.getName()).replace("%message%", "%2$s"));
- }
- }
- }
- @EventHandler
- public void onSlotChange(PlayerItemHeldEvent paramPlayerItemHeldEvent)
- {
- Player localPlayer = paramPlayerItemHeldEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if ((localGame != null) && (localGame.getState() != GameState.WAITING))
- {
- Gun localGun1 = this.main.getGun(localPlayer.getInventory().getItem(paramPlayerItemHeldEvent.getPreviousSlot()));
- if (localGun1 != null)
- {
- localGun1.resetPlayer(localPlayer);
- if (localGun1.getModule() == 2) {
- localPlayer.setExp(0.0F);
- } else {
- localPlayer.getInventory().getItem(paramPlayerItemHeldEvent.getPreviousSlot()).setDurability((short)0);
- }
- }
- Gun localGun2 = this.main.getGun(localPlayer.getInventory().getItemInHand());
- if ((localGun2 != null) &&
- (localGun2.hasSnipe()) && (localPlayer.isSneaking())) {
- paramPlayerItemHeldEvent.setCancelled(true);
- }
- if (!paramPlayerItemHeldEvent.isCancelled()) {
- if (paramPlayerItemHeldEvent.getNewSlot() == 2) {
- localPlayer.setWalkSpeed(0.25F);
- } else {
- localPlayer.setWalkSpeed(0.2F);
- }
- }
- }
- }
- @EventHandler
- public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent paramPlayerInteractAtEntityEvent)
- {
- Player localPlayer = paramPlayerInteractAtEntityEvent.getPlayer();
- if (this.main.getManager().getGame(localPlayer) == null) {
- return;
- }
- if (paramPlayerInteractAtEntityEvent.getRightClicked().getType() == EntityType.ARMOR_STAND) {
- paramPlayerInteractAtEntityEvent.setCancelled(true);
- }
- }
- @EventHandler
- public void onClick(InventoryClickEvent paramInventoryClickEvent)
- {
- Player localPlayer = (Player)paramInventoryClickEvent.getWhoClicked();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null)
- {
- paramInventoryClickEvent.setCancelled(true);
- if (paramInventoryClickEvent.getSlotType() != InventoryType.SlotType.OUTSIDE)
- {
- if (paramInventoryClickEvent.getClickedInventory().equals(this.selector)) {
- if (paramInventoryClickEvent.getSlot() == 11)
- {
- localGame.addTeamA(localPlayer);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.NOTE_STICKS.getSound(), 1.0F, 1.0F);
- localPlayer.sendMessage(Messages.SELECTOR_CHOOSE_TEAM_A.toString());
- localPlayer.closeInventory();
- }
- else if (paramInventoryClickEvent.getSlot() == 13)
- {
- localGame.addRandomTeam(localPlayer);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.NOTE_STICKS.getSound(), 1.0F, 1.0F);
- localPlayer.sendMessage(Messages.SELECTOR_CHOOSE_TEAM_RANDOM.toString());
- localPlayer.closeInventory();
- }
- else if (paramInventoryClickEvent.getSlot() == 15)
- {
- localGame.addTeamB(localPlayer);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.NOTE_STICKS.getSound(), 1.0F, 1.0F);
- localPlayer.sendMessage(Messages.SELECTOR_CHOOSE_TEAM_B.toString());
- localPlayer.closeInventory();
- }
- }
- if (paramInventoryClickEvent.getClickedInventory().getName().equals(Messages.ITEM_SHOP_NAME.toString())) {
- for (PlayerShop localPlayerShop : this.main.getShops()) {
- if ((paramInventoryClickEvent.getSlot() == localPlayerShop.getSlot()) && ((localPlayerShop.getRole() == null) || (this.main.getManager().getTeam(localGame, localPlayer) == localPlayerShop.getRole())))
- {
- if ((localPlayerShop.hasPermission()) && (!localPlayer.hasPermission("cs.weapon." + localPlayerShop.getWeaponName())))
- {
- localPlayer.closeInventory();
- localPlayer.sendMessage(Messages.SHOP_NO_PERMISSION.toString());
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
- break;
- }
- if (localPlayerShop.getPrice() <= localGame.getMoney(localPlayer))
- {
- Object localObject;
- if (localPlayerShop.getType() == ShopType.GRENADE)
- {
- localObject = this.main.getGrenade(localPlayerShop.getWeaponName());
- if (localPlayer.getInventory().getItem(((Grenade)localObject).getGrenadeType().getSlot()) == null)
- {
- localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
- localPlayer.getInventory().setItem(((Grenade)localObject).getGrenadeType().getSlot(), ItemBuilder.create(((Grenade)localObject).getItem().getType(), 1, ((Grenade)localObject).getItem().getData(), ((Grenade)localObject).getItem().getName() + " &7" + ((Grenade)localObject).getSymbol()));
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
- break;
- }
- localPlayer.closeInventory();
- localPlayer.sendMessage(Messages.SHOP_GRENADE_ALREADY_IN_SLOT.toString());
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
- break;
- }
- if (localPlayerShop.getType() == ShopType.GUN)
- {
- localObject = this.main.getGun(localPlayerShop.getWeaponName());
- if ((localPlayer.getInventory().getItem(((Gun)localObject).getGunType().getID().intValue()) == null) || (this.main.replaceOldGuns()))
- {
- localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
- localPlayer.getInventory().setItem(((Gun)localObject).getGunType().getID().intValue(), ItemBuilder.create(((Gun)localObject).getItem().getType(), ((Gun)localObject).getAmount(), ((Gun)localObject).getItem().getData(), ((Gun)localObject).getItem().getName() + " &7" + ((Gun)localObject).getSymbol()));
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
- break;
- }
- localPlayer.closeInventory();
- localPlayer.sendMessage(Messages.SHOP_GUN_ALREADY_IN_SLOT.toString());
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
- break;
- }
- if ((localPlayerShop.getRole() != null) && (this.main.getManager().getTeam(localGame, localPlayer) != localPlayerShop.getRole())) {
- break;
- }
- if (localPlayerShop.getMaterial() != Material.SHEARS)
- {
- localObject = localPlayer.getInventory().getItem(localPlayerShop.getSlotPlace());
- if ((localPlayerShop.getSlotPlace() == 2) || (localObject == null) || (((ItemStack)localObject).getType() == Material.LEATHER_HELMET) || (((ItemStack)localObject).getType() == Material.LEATHER_CHESTPLATE))
- {
- localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
- localPlayer.getInventory().setItem(localPlayerShop.getSlotPlace(), ItemBuilder.create(localPlayerShop.getMaterial(), 1, localPlayerShop.getName(), false));
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
- break;
- }
- localPlayer.closeInventory();
- localPlayer.sendMessage(Messages.SHOP_ALREADY_BROUGHT.toString());
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
- break;
- }
- if (localPlayer.getInventory().getItem(localPlayerShop.getSlotPlace()).getType() != Material.SHEARS)
- {
- localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
- localPlayer.getInventory().setItem(localPlayerShop.getSlotPlace(), ItemBuilder.create(localPlayerShop.getMaterial(), 1, localPlayerShop.getName(), false));
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
- break;
- }
- localPlayer.closeInventory();
- localPlayer.sendMessage(Messages.SHOP_ALREADY_BROUGHT.toString());
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
- break;
- }
- localPlayer.closeInventory();
- localPlayer.sendMessage(Messages.SHOP_NOT_ENOUGH_MONEY.toString());
- localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
- break;
- }
- }
- }
- }
- }
- }
- @EventHandler
- public void onPlayerCommand(PlayerCommandPreprocessEvent paramPlayerCommandPreprocessEvent)
- {
- Player localPlayer = paramPlayerCommandPreprocessEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null)
- {
- String[] arrayOfString = paramPlayerCommandPreprocessEvent.getMessage().split(" ");
- String str = arrayOfString[0];
- if ((str.equalsIgnoreCase("/leave")) || (str.equalsIgnoreCase("/quit")))
- {
- paramPlayerCommandPreprocessEvent.setCancelled(true);
- localPlayer.sendMessage(Messages.PREFIX + Messages.GAME_LEFT.toString());
- this.main.getManager().removePlayer(localGame, localPlayer, false, false);
- }
- else if ((!str.equalsIgnoreCase("/cs")) && (!str.equalsIgnoreCase("/counterstrike")) && (!GameUtils.containsIgnoreCase(this.main.getWhitelistCommands(), str)))
- {
- paramPlayerCommandPreprocessEvent.setCancelled(true);
- localPlayer.sendMessage(Messages.PREFIX + " " + Messages.RESTRICTED_COMMAND.toString());
- }
- }
- }
- @EventHandler
- public void onPlace(BlockPlaceEvent paramBlockPlaceEvent)
- {
- Player localPlayer = paramBlockPlaceEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null) {
- paramBlockPlaceEvent.setCancelled(true);
- }
- }
- @EventHandler
- public void onBreak(BlockBreakEvent paramBlockBreakEvent)
- {
- Player localPlayer = paramBlockBreakEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null)
- {
- paramBlockBreakEvent.setCancelled(true);
- }
- else if (((paramBlockBreakEvent.getBlock().getState() instanceof Sign)) && (localPlayer.hasPermission("cs.sign")))
- {
- Location localLocation = paramBlockBreakEvent.getBlock().getLocation();
- Object localObject3;
- Object localObject4;
- for (Object localObject2 = this.main.getManager().getGames().iterator(); ((Iterator)localObject2).hasNext(); ((Iterator)localObject3).hasNext())
- {
- localObject1 = (Game)((Iterator)localObject2).next();
- localObject3 = ((Game)localObject1).getSigns().iterator();
- continue;
- localObject4 = (Location)((Iterator)localObject3).next();
- if ((localLocation.getWorld() == ((Location)localObject4).getWorld()) && (localLocation.distance((Location)localObject4) == 0.0D))
- {
- localPlayer.sendMessage(Messages.PREFIX + " �cSign removed succefully!");
- String str = ((Game)localObject1).getID() + "," + localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," +
- localLocation.getBlockY() + "," + localLocation.getBlockZ();
- List localList = this.main.getGameDatabase().getStringList("Signs");
- localList.remove(str);
- this.main.getGameDatabase().set("Signs", localList);
- this.main.saveGameDatabase();
- ((Iterator)localObject3).remove();
- return;
- }
- }
- Object localObject1 = this.main.getManager().getQuickJoinSigns().iterator();
- while (((Iterator)localObject1).hasNext())
- {
- localObject2 = (Location)((Iterator)localObject1).next();
- if (localLocation.equals(localObject2))
- {
- localPlayer.sendMessage(Messages.PREFIX + " �cQuick-Sign removed succefully!");
- localObject3 = localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," + localLocation.getBlockY() + "," +
- localLocation.getBlockZ();
- localObject4 = this.main.getGameDatabase().getStringList("QuickJoinSigns");
- ((List)localObject4).remove(localObject3);
- this.main.getGameDatabase().set("QuickJoinSigns", localObject4);
- this.main.saveGameDatabase();
- ((Iterator)localObject1).remove();
- }
- }
- }
- }
- @EventHandler
- public void onPing(ServerListPingEvent paramServerListPingEvent)
- {
- if (this.main.getManager().isBungeeMode())
- {
- Game localGame = (Game)this.main.getManager().getGames().get(this.main.getManager().getMap());
- paramServerListPingEvent.setMotd(localGame.getState().getState());
- paramServerListPingEvent.setMaxPlayers(localGame.getMaxPlayers());
- }
- }
- @EventHandler
- public void onLogin(PlayerLoginEvent paramPlayerLoginEvent)
- {
- if (this.main.getManager().isBungeeMode())
- {
- Game localGame = (Game)this.main.getManager().getGames().get(this.main.getManager().getMap());
- if (localGame.getTeamA().size() + localGame.getTeamB().size() == localGame.getMaxPlayers()) {
- paramPlayerLoginEvent.disallow(PlayerLoginEvent.Result.KICK_FULL, Messages.ARENA_IS_FULL.toString());
- } else if ((localGame.getState() != GameState.WAITING) && (!this.main.canJoinStartedGame())) {
- paramPlayerLoginEvent.disallow(PlayerLoginEvent.Result.KICK_OTHER, Messages.ARENA_HAS_STARTED.toString());
- }
- }
- }
- @EventHandler
- public void onLeave(GameLeaveEvent paramGameLeaveEvent)
- {
- if (this.main.getManager().isBungeeMode())
- {
- ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
- DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
- try
- {
- localDataOutputStream.writeUTF("Connect");
- localDataOutputStream.writeUTF(this.main.getHub());
- paramGameLeaveEvent.getPlayer().sendPluginMessage(this.main, "BungeeCord", localByteArrayOutputStream.toByteArray());
- localDataOutputStream.close();
- localByteArrayOutputStream.close();
- }
- catch (Exception localException)
- {
- localException.printStackTrace();
- }
- }
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent paramPlayerJoinEvent)
- {
- GameManager localGameManager = this.main.getManager();
- Object localObject1;
- Object localObject2;
- if (localGameManager.isBungeeMode())
- {
- paramPlayerJoinEvent.setJoinMessage(null);
- localObject1 = paramPlayerJoinEvent.getPlayer();
- localObject2 = (Game)localGameManager.getGames().get(localGameManager.getMap());
- if (((Game)localObject2).getState() != GameState.WAITING) {
- localGameManager.addQuickPlayer((Game)localObject2, (Player)localObject1);
- } else {
- localGameManager.addPlayer(paramPlayerJoinEvent.getPlayer(), (Game)localObject2);
- }
- }
- else
- {
- Iterator localIterator;
- for (localObject2 = localGameManager.getGames().iterator(); ((Iterator)localObject2).hasNext(); localIterator.hasNext())
- {
- localObject1 = (Game)((Iterator)localObject2).next();
- for (localIterator = ((Game)localObject1).getTeamA().getPlayers().iterator(); localIterator.hasNext();)
- {
- localPlayer = (Player)localIterator.next();
- localPlayer.hidePlayer(paramPlayerJoinEvent.getPlayer());
- }
- localIterator = ((Game)localObject1).getTeamB().getPlayers().iterator(); continue;Player localPlayer = (Player)localIterator.next();
- localPlayer.hidePlayer(paramPlayerJoinEvent.getPlayer());
- }
- }
- }
- @EventHandler(priority=EventPriority.HIGHEST)
- public void onLeave(PlayerQuitEvent paramPlayerQuitEvent)
- {
- Player localPlayer = paramPlayerQuitEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null) {
- this.main.getManager().removePlayer(localGame, localPlayer, false, true);
- }
- if (this.main.getManager().isBungeeMode()) {
- paramPlayerQuitEvent.setQuitMessage(null);
- }
- this.main.getTextureUsers().remove(localPlayer.getUniqueId());
- }
- @EventHandler(priority=EventPriority.HIGHEST)
- public void onPluginEnable(PluginEnableEvent paramPluginEnableEvent)
- {
- if (paramPluginEnableEvent.getPlugin().equals(this.main)) {
- for (Player localPlayer : Bukkit.getOnlinePlayers()) {
- this.main.getTextureUsers().add(localPlayer.getUniqueId());
- }
- }
- }
- @EventHandler(priority=EventPriority.HIGHEST)
- public void onKick(PlayerKickEvent paramPlayerKickEvent)
- {
- Player localPlayer = paramPlayerKickEvent.getPlayer();
- paramPlayerKickEvent.setLeaveMessage(null);
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null) {
- this.main.getManager().removePlayer(localGame, localPlayer, false, true);
- }
- if (this.main.getManager().isBungeeMode()) {
- paramPlayerKickEvent.setLeaveMessage(null);
- }
- this.main.getTextureUsers().remove(localPlayer.getUniqueId());
- }
- @EventHandler
- public void onMove(PlayerMoveEvent paramPlayerMoveEvent)
- {
- Player localPlayer = paramPlayerMoveEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null) {
- if (localGame.getState() == GameState.IN_GAME)
- {
- if ((localPlayer.getFallDistance() >= 6.0F) && (!localGame.getSpectators().contains(localPlayer)) && (localPlayer.getLocation().getBlock().getRelative(BlockFace.DOWN).getType().isSolid())) {
- this.main.getManager().damage(localGame, null, localPlayer, localPlayer.getFallDistance(), "??");
- }
- if ((paramPlayerMoveEvent.getFrom().getBlockX() != paramPlayerMoveEvent.getTo().getBlockX()) || (paramPlayerMoveEvent.getFrom().getBlockZ() != paramPlayerMoveEvent.getTo().getBlockZ()))
- {
- if ((localGame.getSpectators().contains(localPlayer)) &&
- (paramPlayerMoveEvent.getTo().getWorld() == localGame.getMid().getWorld()) && (paramPlayerMoveEvent.getTo().distance(localGame.getMid()) > this.main.getRadius())) {
- paramPlayerMoveEvent.setTo(paramPlayerMoveEvent.getFrom());
- }
- if (localGame.getBomb().getCarrier() == localPlayer)
- {
- ItemStack localItemStack = localPlayer.getInventory().getItem(5);
- if (localItemStack != null)
- {
- ItemMeta localItemMeta;
- if (this.main.getManager().isInBombArea(localGame, paramPlayerMoveEvent.getTo()))
- {
- if (localItemStack.getType() == Material.QUARTZ)
- {
- localItemMeta = localItemStack.getItemMeta();
- localItemMeta.setDisplayName("�e?�a " + Messages.ITEM_BOMB_NAME + " �8(�c" + Messages.ITEM_RIGHT_CLICK + "�8)");
- localItemStack.setItemMeta(localItemMeta);
- localItemStack.setType(Material.GOLDEN_APPLE);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.CLICK.getSound(), 1.0F, 1.0F);
- }
- }
- else if (localItemStack.getType() == Material.GOLDEN_APPLE)
- {
- localItemMeta = localItemStack.getItemMeta();
- localItemMeta.setDisplayName("�e?�a " + Messages.ITEM_BOMB_NAME);
- localItemStack.setItemMeta(localItemMeta);
- localItemStack.setType(Material.QUARTZ);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.CLICK.getSound(), 1.0F, 1.0F);
- }
- }
- }
- }
- }
- else if ((localGame.getState() == GameState.ROUND) && (!localGame.getSpectators().contains(localPlayer)) && ((paramPlayerMoveEvent.getFrom().getX() != paramPlayerMoveEvent.getTo().getX()) || (paramPlayerMoveEvent.getFrom().getZ() != paramPlayerMoveEvent.getTo().getZ())))
- {
- paramPlayerMoveEvent.setTo(paramPlayerMoveEvent.getFrom());
- }
- }
- }
- @EventHandler
- public void onDamage(EntityDamageEvent paramEntityDamageEvent)
- {
- if (((paramEntityDamageEvent.getEntity() instanceof Player)) &&
- (this.main.getManager().getGame((Player)paramEntityDamageEvent.getEntity()) != null) && (paramEntityDamageEvent.getCause() != EntityDamageEvent.DamageCause.CUSTOM)) {
- paramEntityDamageEvent.setCancelled(true);
- }
- }
- @EventHandler
- public void onFoodChange(FoodLevelChangeEvent paramFoodLevelChangeEvent)
- {
- if (((paramFoodLevelChangeEvent.getEntity() instanceof Player)) &&
- (this.main.getManager().getGame((Player)paramFoodLevelChangeEvent.getEntity()) != null)) {
- paramFoodLevelChangeEvent.setFoodLevel(20);
- }
- }
- @EventHandler
- public void onHealthRegain(EntityRegainHealthEvent paramEntityRegainHealthEvent)
- {
- if (((paramEntityRegainHealthEvent.getEntity() instanceof Player)) &&
- (this.main.getManager().getGame((Player)paramEntityRegainHealthEvent.getEntity()) != null)) {
- paramEntityRegainHealthEvent.setCancelled(true);
- }
- }
- @EventHandler
- public void onEntityBreak(HangingBreakByEntityEvent paramHangingBreakByEntityEvent)
- {
- if (paramHangingBreakByEntityEvent.getRemover().getType() == EntityType.PLAYER)
- {
- Player localPlayer = (Player)paramHangingBreakByEntityEvent.getRemover();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null) {
- paramHangingBreakByEntityEvent.setCancelled(true);
- }
- }
- }
- @EventHandler
- public void onEntityBreak(HangingBreakEvent paramHangingBreakEvent)
- {
- if (paramHangingBreakEvent.getCause() != HangingBreakEvent.RemoveCause.ENTITY) {
- paramHangingBreakEvent.setCancelled(true);
- }
- }
- @EventHandler
- public void onPick(PlayerPickupItemEvent paramPlayerPickupItemEvent)
- {
- Player localPlayer = paramPlayerPickupItemEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null)
- {
- paramPlayerPickupItemEvent.setCancelled(true);
- if ((!localGame.getSpectators().contains(localPlayer)) && (
- (localGame.getState() == GameState.IN_GAME) || (localGame.getState() == GameState.ROUND)))
- {
- org.bukkit.entity.Item localItem = paramPlayerPickupItemEvent.getItem();
- ItemStack localItemStack = paramPlayerPickupItemEvent.getItem().getItemStack();
- if ((localItemStack.getType() == Material.SHEARS) && (this.main.getManager().getTeam(localGame, localPlayer) == GameTeam.Role.COUNTERTERRORIST))
- {
- localItem.remove();
- localGame.getDrops().remove(localItem);
- localPlayer.getInventory().setItem(5, localItemStack);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.ITEM_PICKUP.getSound(), 5.0F, 1.0F);
- }
- else
- {
- if (((localItemStack.getType() == Material.QUARTZ) || (localItemStack.getType() == Material.GOLDEN_APPLE)) && (this.main.getManager().getTeam(localGame, localPlayer) == GameTeam.Role.TERRORIST))
- {
- localItem.remove();
- localGame.getDrops().remove(localItem);
- if ((localItemStack.getType() == Material.QUARTZ) && (this.main.getManager().isInBombArea(localGame, localItem.getLocation())))
- {
- localObject = localItemStack.getItemMeta();
- ((ItemMeta)localObject).setDisplayName("�e?�a " + Messages.ITEM_BOMB_NAME + " �8(�c" + Messages.ITEM_RIGHT_CLICK + "�8)");
- localItemStack.setItemMeta((ItemMeta)localObject);
- localItemStack.setType(Material.GOLDEN_APPLE);
- }
- if ((localItemStack.getType() == Material.GOLDEN_APPLE) && (!this.main.getManager().isInBombArea(localGame, localItem.getLocation())))
- {
- localObject = localItemStack.getItemMeta();
- ((ItemMeta)localObject).setDisplayName("�e?�a " + Messages.ITEM_BOMB_NAME);
- localItemStack.setItemMeta((ItemMeta)localObject);
- localItemStack.setType(Material.QUARTZ);
- }
- for (Iterator localIterator = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST).getPlayers().iterator(); localIterator.hasNext();)
- {
- localObject = (Player)localIterator.next();
- ((Player)localObject).playSound(((Player)localObject).getLocation(), "cs.gamesounds.pickedupthebomb", 1.0F, 1.0F);
- }
- localGame.getBomb().setCarrier(localPlayer);
- localPlayer.getInventory().setItem(5, localItemStack);
- return;
- }
- Object localObject = this.main.getGrenade(localItemStack);
- if ((localObject != null) && (localGame.getDrops().get(localItem) != null))
- {
- int i = ((Grenade)localObject).getGrenadeType().getSlot();
- if (localPlayer.getInventory().getItem(i) == null)
- {
- paramPlayerPickupItemEvent.setCancelled(true);
- localPlayer.getInventory().setItem(i, localItemStack);
- localGame.getDrops().remove(localItem);
- localItem.remove();
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.ITEM_PICKUP.getSound(), 5.0F, 1.0F);
- }
- }
- Gun localGun = this.main.getGun(localItemStack);
- Integer localInteger = (Integer)localGame.getDrops().get(localItem);
- if ((localGun != null) && (localInteger != null))
- {
- int j = localGun.getGunType().getID().intValue();
- if (localPlayer.getInventory().getItem(j) == null)
- {
- paramPlayerPickupItemEvent.setCancelled(true);
- localItemStack.setAmount(localInteger.intValue() + 1);
- localPlayer.getInventory().setItem(j, localItemStack);
- localGame.getDrops().remove(localItem);
- localItem.remove();
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.ITEM_PICKUP.getSound(), 5.0F, 1.0F);
- }
- }
- }
- }
- }
- }
- @EventHandler
- public void onDrop(PlayerDropItemEvent paramPlayerDropItemEvent)
- {
- Player localPlayer = paramPlayerDropItemEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null)
- {
- int i = localPlayer.getInventory().getHeldItemSlot();
- ItemStack localItemStack = paramPlayerDropItemEvent.getItemDrop().getItemStack();
- int j = localPlayer.getInventory().getItemInHand().getAmount();
- if ((localGame.getState() == GameState.IN_GAME) || (localGame.getState() == GameState.ROUND))
- {
- if (localItemStack.getType() == Material.SHEARS)
- {
- localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(1));
- localPlayer.getInventory().setItem(5, ItemBuilder.create(Material.GOLD_NUGGET, 1, "&a" + Messages.ITEM_SHEAR_NAME + " &7?", false));
- return;
- }
- if ((localItemStack.getType() == Material.QUARTZ) || (localItemStack.getType() == Material.GOLDEN_APPLE))
- {
- if (localItemStack.getType() == Material.GOLDEN_APPLE)
- {
- localObject1 = localItemStack.getItemMeta();
- ((ItemMeta)localObject1).setDisplayName("�e?�a " + Messages.ITEM_BOMB_NAME);
- localItemStack.setItemMeta((ItemMeta)localObject1);
- localItemStack.setType(Material.QUARTZ);
- }
- localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(1));
- localGame.getBomb().setDrop(paramPlayerDropItemEvent.getItemDrop());
- for (localObject2 = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST).getPlayers().iterator(); ((Iterator)localObject2).hasNext();)
- {
- localObject1 = (Player)((Iterator)localObject2).next();
- ((Player)localObject1).playSound(((Player)localObject1).getLocation(), "cs.gamesounds.bombdroppedyourteam", 1.0F, 1.0F);
- }
- for (localObject2 = this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().iterator(); ((Iterator)localObject2).hasNext();)
- {
- localObject1 = (Player)((Iterator)localObject2).next();
- ((Player)localObject1).playSound(((Player)localObject1).getLocation(), "cs.gamesounds.bombdroppedenemyteam", 1.0F, 1.0F);
- }
- return;
- }
- localObject1 = this.main.getGun(localItemStack);
- if (localObject1 != null)
- {
- localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(j));
- localItemStack.setAmount(1);
- localPlayer.setExp(0.0F);
- ((Gun)localObject1).resetDelay(localPlayer);
- paramPlayerDropItemEvent.getItemDrop().setItemStack(ItemBuilder.create(localItemStack.getType(), 1, ((Gun)localObject1).getItem().getData(), localItemStack.getItemMeta().getDisplayName()));
- localPlayer.getInventory().setItem(i, null);
- localPlayer.playSound(localPlayer.getLocation(), "cs.gamesounds.droppedagun", 1.0F, 1.0F);
- if (((Gun)localObject1).hasSnipe()) {
- this.main.getVersionInterface().sendFakeItem(localPlayer, 5, localPlayer.getInventory().getHelmet());
- }
- return;
- }
- Object localObject2 = this.main.getGrenade(localItemStack);
- if (localObject2 != null)
- {
- localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(1));
- localItemStack.setAmount(1);
- paramPlayerDropItemEvent.getItemDrop().setItemStack(ItemBuilder.create(localItemStack.getType(), 1, ((Grenade)localObject2).getItem().getData(), localItemStack.getItemMeta().getDisplayName()));
- localPlayer.getInventory().setItem(i, null);
- localPlayer.playSound(localPlayer.getLocation(), "cs.gamesounds.droppedagun", 1.0F, 1.0F);
- return;
- }
- }
- Object localObject1 = localItemStack.clone();
- paramPlayerDropItemEvent.getItemDrop().remove();
- localPlayer.getInventory().setItem(localPlayer.getInventory().getHeldItemSlot(), (ItemStack)localObject1);
- }
- }
- @EventHandler
- public void onSneak(PlayerToggleSneakEvent paramPlayerToggleSneakEvent)
- {
- Player localPlayer = paramPlayerToggleSneakEvent.getPlayer();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if (localGame != null)
- {
- ItemStack localItemStack = localPlayer.getInventory().getItemInHand();
- Gun localGun = this.main.getGun(localItemStack);
- if ((localGun != null) &&
- (localGun.hasSnipe())) {
- if (paramPlayerToggleSneakEvent.isSneaking())
- {
- localPlayer.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 20, 1));
- localPlayer.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, Integer.MAX_VALUE, 2));
- this.main.getVersionInterface().sendFakeItem(localPlayer, 5, new ItemStack(Material.PUMPKIN));
- }
- else
- {
- localPlayer.removePotionEffect(PotionEffectType.SLOW);
- localPlayer.removePotionEffect(PotionEffectType.BLINDNESS);
- this.main.getVersionInterface().sendFakeItem(localPlayer, 5, localPlayer.getInventory().getHelmet());
- }
- }
- }
- }
- @EventHandler(priority=EventPriority.MONITOR)
- public void onInteract(PlayerInteractAtEntityEvent paramPlayerInteractAtEntityEvent)
- {
- Player localPlayer = paramPlayerInteractAtEntityEvent.getPlayer();
- ItemStack localItemStack = localPlayer.getInventory().getItemInHand();
- Game localGame = this.main.getManager().getGame(localPlayer);
- if ((localGame != null) && (localItemStack != null) && (localItemStack.getType() != Material.AIR))
- {
- paramPlayerInteractAtEntityEvent.setCancelled(true);
- if (((localItemStack.getType() == Material.SHEARS) || (localItemStack.getType() == Material.GOLD_NUGGET)) && (paramPlayerInteractAtEntityEvent.getRightClicked().getType() == EntityType.valueOf("ARMOR_STAND")) &&
- (this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().contains(localPlayer)) &&
- (!localGame.isDefusing(localPlayer)) && (localPlayer.getLocation().distance(localGame.getBomb().getLocation()) <= 2.0D))
- {
- localGame.addDefuser(localPlayer, localItemStack.getType() == Material.SHEARS ? 5 : 10);
- localPlayer.playSound(localPlayer.getLocation(), SpigotSound.LEVEL_UP.getSound(), 1.0F, 1.0F);
- }
- Gun localGun = this.main.getGun(localItemStack);
- if ((localGun != null) && (!localGame.isDefusing(localPlayer)) && (localGame.getState() == GameState.IN_GAME)) {
- localGun.shot(localGame, localPlayer);
- }
- }
- }
- @EventHandler
- public void onPsyhics(BlockPhysicsEvent paramBlockPhysicsEvent)
- {
- if (paramBlockPhysicsEvent.getBlock().getType() == Material.CROPS) {
- paramBlockPhysicsEvent.setCancelled(true);
- }
- }
- @EventHandler
- public void onResourcePack(PlayerResourcePackStatusEvent paramPlayerResourcePackStatusEvent)
- {
- if (this.main.canForceTexture())
- {
- Player localPlayer = paramPlayerResourcePackStatusEvent.getPlayer();
- if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.DECLINED)
- {
- localPlayer.sendMessage(Messages.TEXTURE_DECLINED.toString());
- if (this.main.getManager().isBungeeMode()) {
- this.main.getServer().getPluginManager().callEvent(new GameLeaveEvent(localPlayer));
- }
- }
- if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.ACCEPTED) {
- localPlayer.sendMessage(Messages.TEXTURE_ACCEPTED.toString());
- }
- if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.FAILED_DOWNLOAD)
- {
- localPlayer.sendMessage(Messages.TEXTURE_FAILED.toString());
- if (this.main.getManager().isBungeeMode()) {
- this.main.getServer().getPluginManager().callEvent(new GameLeaveEvent(localPlayer));
- }
- }
- if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.SUCCESSFULLY_LOADED)
- {
- localPlayer.sendMessage(Messages.TEXTURE_LOADED.toString());
- this.main.getTextureUsers().add(localPlayer.getUniqueId());
- }
- }
- }
- @EventHandler
- public void onSignPlace(SignChangeEvent paramSignChangeEvent)
- {
- Player localPlayer = paramSignChangeEvent.getPlayer();
- if ((paramSignChangeEvent.getLine(0).equals("[CounterStrike]")) && (localPlayer.hasPermission("cs.sign"))) {
- try
- {
- int i = Integer.valueOf(paramSignChangeEvent.getLine(1)).intValue();
- localObject1 = this.main.getManager().getGame(i);
- if (localObject1 != null)
- {
- localLocation = paramSignChangeEvent.getBlock().getLocation();
- ((Game)localObject1).getSigns().add(localLocation);
- paramSignChangeEvent.setLine(0, Messages.SIGN_FIRST.toString().replace("%prefix%", Messages.PREFIX.toString()).replace("%name%", ((Game)localObject1).getName()).replace("%state%", ((Game)localObject1).getState().getState()).replace("%min%", ((Game)localObject1).getTeamA().size() + ((Game)localObject1).getTeamB().size()).replace("%max%", ((Game)localObject1).getMaxPlayers()));
- paramSignChangeEvent.setLine(1, Messages.SIGN_SECOND.toString().replace("%prefix%", Messages.PREFIX.toString()).replace("%name%", ((Game)localObject1).getName()).replace("%state%", ((Game)localObject1).getState().getState()).replace("%min%", ((Game)localObject1).getTeamA().size() + ((Game)localObject1).getTeamB().size()).replace("%max%", ((Game)localObject1).getMaxPlayers()));
- paramSignChangeEvent.setLine(2, Messages.SIGN_THIRD.toString().replace("%prefix%", Messages.PREFIX.toString()).replace("%name%", ((Game)localObject1).getName()).replace("%state%", ((Game)localObject1).getState().getState()).replace("%min%", ((Game)localObject1).getTeamA().size() + ((Game)localObject1).getTeamB().size()).replace("%max%", ((Game)localObject1).getMaxPlayers()));
- paramSignChangeEvent.setLine(3, Messages.SIGN_FOURTH.toString().replace("%prefix%", Messages.PREFIX.toString()).replace("%name%", ((Game)localObject1).getName()).replace("%state%", ((Game)localObject1).getState().getState()).replace("%min%", ((Game)localObject1).getTeamA().size() + ((Game)localObject1).getTeamB().size()).replace("%max%", ((Game)localObject1).getMaxPlayers()));
- localObject2 = this.main.getGameDatabase().getStringList("Signs");
- ((List)localObject2).add(i + "," + localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," + localLocation.getBlockY() + "," + localLocation.getBlockZ());
- this.main.getGameDatabase().set("Signs", localObject2);
- this.main.saveGameDatabase();
- localPlayer.sendMessage(Messages.PREFIX + " �aSign created succefully!");
- }
- else
- {
- paramSignChangeEvent.setCancelled(true);
- localPlayer.sendMessage(Messages.PREFIX + " �cThe game dosen't exist!");
- }
- }
- catch (Exception localException)
- {
- Location localLocation;
- Object localObject2;
- Object localObject1 = paramSignChangeEvent.getLine(1);
- if ((localObject1 != null) && (((String)localObject1).equalsIgnoreCase("QuickJoin")))
- {
- localLocation = paramSignChangeEvent.getBlock().getLocation();
- paramSignChangeEvent.setLine(0, Messages.PREFIX.toString());
- paramSignChangeEvent.setLine(1, "�5� �0" + Messages.SIGN_QUICKJOIN.toString() + " �5�");
- localObject2 = localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," + localLocation.getBlockY() + "," + localLocation.getBlockZ();
- List localList = this.main.getGameDatabase().getStringList("QuickJoinSigns");
- localList.add(localObject2);
- this.main.getGameDatabase().set("QuickJoinSigns", localList);
- this.main.saveGameDatabase();
- this.main.getManager().getQuickJoinSigns().add(localLocation);
- localPlayer.sendMessage(Messages.PREFIX + " �aQuick-Sign created succefully!");
- }
- else
- {
- localPlayer.sendMessage(Messages.PREFIX + " �cGame ID invalid!");
- }
- return;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement