BluePvP

Untitled

Apr 11th, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 65.34 KB | None | 0 0
  1. /*     */ package ro.Fr33styler.CounterStrike.Handler;
  2. /*     */
  3. /*     */ import java.io.ByteArrayOutputStream;
  4. /*     */ import java.io.DataOutputStream;
  5. /*     */ import java.util.HashMap;
  6. /*     */ import java.util.Iterator;
  7. /*     */ import java.util.List;
  8. /*     */ import java.util.Set;
  9. /*     */ import org.bukkit.Bukkit;
  10. /*     */ import org.bukkit.Location;
  11. /*     */ import org.bukkit.Material;
  12. /*     */ import org.bukkit.Server;
  13. /*     */ import org.bukkit.World;
  14. /*     */ import org.bukkit.block.Block;
  15. /*     */ import org.bukkit.block.Sign;
  16. /*     */ import org.bukkit.configuration.file.YamlConfiguration;
  17. /*     */ import org.bukkit.entity.Entity;
  18. /*     */ import org.bukkit.entity.EntityType;
  19. /*     */ import org.bukkit.entity.Player;
  20. /*     */ import org.bukkit.event.EventHandler;
  21. /*     */ import org.bukkit.event.EventPriority;
  22. /*     */ import org.bukkit.event.block.Action;
  23. /*     */ import org.bukkit.event.block.BlockBreakEvent;
  24. /*     */ import org.bukkit.event.block.BlockPhysicsEvent;
  25. /*     */ import org.bukkit.event.block.BlockPlaceEvent;
  26. /*     */ import org.bukkit.event.block.SignChangeEvent;
  27. /*     */ import org.bukkit.event.entity.EntityDamageByEntityEvent;
  28. /*     */ import org.bukkit.event.entity.EntityDamageEvent;
  29. /*     */ import org.bukkit.event.entity.EntityRegainHealthEvent;
  30. /*     */ import org.bukkit.event.entity.FoodLevelChangeEvent;
  31. /*     */ import org.bukkit.event.hanging.HangingBreakByEntityEvent;
  32. /*     */ import org.bukkit.event.hanging.HangingBreakEvent;
  33. /*     */ import org.bukkit.event.inventory.InventoryClickEvent;
  34. /*     */ import org.bukkit.event.player.AsyncPlayerChatEvent;
  35. /*     */ import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  36. /*     */ import org.bukkit.event.player.PlayerDropItemEvent;
  37. /*     */ import org.bukkit.event.player.PlayerInteractAtEntityEvent;
  38. /*     */ import org.bukkit.event.player.PlayerInteractEvent;
  39. /*     */ import org.bukkit.event.player.PlayerItemConsumeEvent;
  40. /*     */ import org.bukkit.event.player.PlayerItemHeldEvent;
  41. /*     */ import org.bukkit.event.player.PlayerJoinEvent;
  42. /*     */ import org.bukkit.event.player.PlayerKickEvent;
  43. /*     */ import org.bukkit.event.player.PlayerLoginEvent;
  44. /*     */ import org.bukkit.event.player.PlayerMoveEvent;
  45. /*     */ import org.bukkit.event.player.PlayerPickupItemEvent;
  46. /*     */ import org.bukkit.event.player.PlayerQuitEvent;
  47. /*     */ import org.bukkit.event.player.PlayerResourcePackStatusEvent;
  48. /*     */ import org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
  49. /*     */ import org.bukkit.event.player.PlayerToggleSneakEvent;
  50. /*     */ import org.bukkit.event.server.PluginEnableEvent;
  51. /*     */ import org.bukkit.event.server.ServerListPingEvent;
  52. /*     */ import org.bukkit.inventory.Inventory;
  53. /*     */ import org.bukkit.inventory.ItemStack;
  54. /*     */ import org.bukkit.inventory.PlayerInventory;
  55. /*     */ import org.bukkit.inventory.meta.ItemMeta;
  56. /*     */ import org.bukkit.plugin.PluginManager;
  57. /*     */ import org.bukkit.potion.PotionEffect;
  58. /*     */ import org.bukkit.potion.PotionEffectType;
  59. /*     */ import org.bukkit.util.Vector;
  60. /*     */ import ro.Fr33styler.CounterStrike.Api.GameLeaveEvent;
  61. /*     */ import ro.Fr33styler.CounterStrike.Cache.PlayerShop;
  62. /*     */ import ro.Fr33styler.CounterStrike.Cache.ShopType;
  63. /*     */ import ro.Fr33styler.CounterStrike.Grenades.Grenade;
  64. /*     */ import ro.Fr33styler.CounterStrike.Grenades.GrenadeType;
  65. /*     */ import ro.Fr33styler.CounterStrike.Guns.Gun;
  66. /*     */ import ro.Fr33styler.CounterStrike.Guns.GunType;
  67. /*     */ import ro.Fr33styler.CounterStrike.Main;
  68. /*     */ import ro.Fr33styler.CounterStrike.Messages;
  69. /*     */ import ro.Fr33styler.CounterStrike.Utils.ItemBuilder;
  70. /*     */ import ro.Fr33styler.CounterStrike.Version.SpigotSound;
  71. /*     */ import ro.Fr33styler.CounterStrike.Version.VersionInterface;
  72. /*     */
  73. /*     */ public class GameListener implements org.bukkit.event.Listener
  74. /*     */ {
  75. /*     */   private Main main;
  76. /*  76 */   private Inventory selector = Bukkit.createInventory(null, 27, Messages.SELECTOR_NAME.toString());
  77. /*     */  
  78. /*     */   public GameListener(Main paramMain) {
  79. /*  79 */     this.main = paramMain;
  80. /*  80 */     this.selector.setItem(11, ItemBuilder.create(Material.INK_SACK, 1, (short)14, "&a" + Messages.TEAM_NAME + " " + Messages.TEAM_FIRST, Messages.SELECTOR_TEAM_A.toString()));
  81. /*  81 */     this.selector.setItem(13, ItemBuilder.create(Material.INK_SACK, 1, (short)8, "&a" + Messages.TEAM_RANDOM, Messages.SELECTOR_TEAM_RANDOM.toString()));
  82. /*  82 */     this.selector.setItem(15, ItemBuilder.create(Material.INK_SACK, 1, (short)10, "&a" + Messages.TEAM_NAME + " " + Messages.TEAM_SECOND, Messages.SELECTOR_TEAM_B.toString()));
  83. /*     */   }
  84. /*     */  
  85. /*     */   @EventHandler
  86. /*     */   public void onInteract(PlayerInteractEvent paramPlayerInteractEvent) {
  87. /*  87 */     Player localPlayer = paramPlayerInteractEvent.getPlayer();
  88. /*  88 */     Game localGame = this.main.getManager().getGame(localPlayer);
  89. /*  89 */     Object localObject1; Object localObject2; Object localObject3; if (localGame != null) {
  90. /*  90 */       if ((paramPlayerInteractEvent.getAction() == Action.RIGHT_CLICK_AIR) || (paramPlayerInteractEvent.getAction() == Action.RIGHT_CLICK_BLOCK)) {
  91. /*  91 */         if (localGame.getState() == GameState.WAITING) {
  92. /*  92 */           if (localPlayer.getInventory().getItemInHand() != null) {
  93. /*  93 */             if (localPlayer.getInventory().getItemInHand().getType() == Material.LEATHER) {
  94. /*  94 */               localPlayer.openInventory(this.selector);
  95. /*  95 */             } else if (localPlayer.getInventory().getItemInHand().getType() == Material.BED) {
  96. /*  96 */               paramPlayerInteractEvent.setCancelled(true);
  97. /*  97 */               this.main.getManager().removePlayer(localGame, localPlayer, false, false);
  98. /*  98 */               localPlayer.sendMessage(Messages.PREFIX + Messages.GAME_LEFT.toString());
  99. /*     */             }
  100. /*     */           }
  101. /* 101 */         } else if ((localGame.getState() == GameState.IN_GAME) || (localGame.getState() == GameState.ROUND)) {
  102. /* 102 */           localObject1 = localPlayer.getInventory().getItemInHand();
  103. /* 103 */           if ((localObject1 != null) && (((ItemStack)localObject1).getType() != Material.AIR) && (((ItemStack)localObject1).getType() == Material.GHAST_TEAR)) {
  104. /* 104 */             if (this.main.getManager().isAtSpawn(localGame, localPlayer)) {
  105. /* 105 */               if ((localGame.getTimer() > 90) || (localGame.getState() == GameState.ROUND)) {
  106. /* 106 */                 localPlayer.openInventory((Inventory)localGame.getShops().get(localPlayer.getUniqueId()));
  107. /*     */               } else {
  108. /* 108 */                 localPlayer.sendMessage(Messages.SHOP_AFTER_30_SECONDS.toString());
  109. /*     */               }
  110. /*     */             } else {
  111. /* 111 */               localPlayer.sendMessage(Messages.OPEN_SHOP_SPAWN.toString());
  112. /*     */             }
  113. /* 113 */             return;
  114. /*     */           }
  115. /* 115 */           if ((localObject1 != null) && (((ItemStack)localObject1).getType() != Material.AIR) && (localGame.getState() == GameState.IN_GAME)) {
  116. /* 116 */             if (((((ItemStack)localObject1).getType() == Material.SHEARS) || (((ItemStack)localObject1).getType() == Material.GOLD_NUGGET)) && (paramPlayerInteractEvent.getClickedBlock() != null) && (paramPlayerInteractEvent.getClickedBlock().getType() == Material.DAYLIGHT_DETECTOR)) {
  117. /* 117 */               paramPlayerInteractEvent.setCancelled(true);
  118. /* 118 */               if ((this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().contains(localPlayer)) &&
  119. /* 119 */                 (!localGame.isDefusing(localPlayer)) && (localPlayer.getLocation().distance(localGame.getBomb().getLocation()) <= 2.0D)) {
  120. /* 120 */                 localGame.addDefuser(localPlayer, ((ItemStack)localObject1).getType() == Material.SHEARS ? 5 : 10);
  121. /* 121 */                 localPlayer.playSound(localPlayer.getLocation(), SpigotSound.LEVEL_UP.getSound(), 1.0F, 1.0F);
  122. /*     */               }
  123. /*     */             }
  124. /*     */            
  125. /* 125 */             if (((((ItemStack)localObject1).getType() == Material.SHEARS) || (((ItemStack)localObject1).getType() == Material.GOLD_NUGGET)) && (paramPlayerInteractEvent.getClickedBlock() != null) && (paramPlayerInteractEvent.getClickedBlock().getType() == Material.CROPS)) {
  126. /* 126 */               paramPlayerInteractEvent.setCancelled(true);
  127. /* 127 */               if ((this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().contains(localPlayer)) &&
  128. /* 128 */                 (!localGame.isDefusing(localPlayer)) && (localPlayer.getLocation().distance(localGame.getBomb().getLocation()) <= 2.0D)) {
  129. /* 129 */                 localGame.addDefuser(localPlayer, ((ItemStack)localObject1).getType() == Material.SHEARS ? 5 : 10);
  130. /* 130 */                 localPlayer.playSound(localPlayer.getLocation(), SpigotSound.LEVEL_UP.getSound(), 1.0F, 1.0F);
  131. /*     */               }
  132. /*     */             }
  133. /*     */            
  134. /* 134 */             localObject2 = this.main.getGun((ItemStack)localObject1);
  135. /* 135 */             if ((localObject2 != null) && (!localGame.isDefusing(localPlayer))) {
  136. /* 136 */               ((Gun)localObject2).shot(localGame, localPlayer);
  137. /*     */             }
  138. /* 138 */             localObject3 = this.main.getGrenade((ItemStack)localObject1);
  139. /* 139 */             if ((localObject3 != null) && (localGame.getState() == GameState.IN_GAME) && (!localGame.isRoundEnding()) && (!localGame.isDefusing(localPlayer))) {
  140. /* 140 */               paramPlayerInteractEvent.setCancelled(true);
  141. /* 141 */               ((Grenade)localObject3).throwGrenade(this.main, localGame, localPlayer);
  142. /*     */             }
  143. /*     */           }
  144. /*     */         }
  145. /* 145 */       } else if ((paramPlayerInteractEvent.getAction() == Action.LEFT_CLICK_AIR) || (paramPlayerInteractEvent.getAction() == Action.LEFT_CLICK_BLOCK)) {
  146. /* 146 */         paramPlayerInteractEvent.setCancelled(true);
  147. /* 147 */         localObject1 = localPlayer.getInventory().getItemInHand();
  148. /* 148 */         if ((localObject1 != null) && (((ItemStack)localObject1).getType() != Material.AIR)) {
  149. /* 149 */           localObject2 = this.main.getGun((ItemStack)localObject1);
  150. /* 150 */           if (localObject2 != null) {
  151. /* 151 */             ((Gun)localObject2).reload(localPlayer, localPlayer.getInventory().getHeldItemSlot());
  152. /*     */           }
  153. /*     */         }
  154. /*     */       }
  155. /*     */     }
  156. /* 156 */     else if ((paramPlayerInteractEvent.getAction() == Action.RIGHT_CLICK_BLOCK) && ((paramPlayerInteractEvent.getClickedBlock().getState() instanceof Sign))) {
  157. /* 157 */       localObject1 = paramPlayerInteractEvent.getClickedBlock().getLocation();
  158. /* 158 */       Iterator localIterator; Object localObject4; for (localObject3 = this.main.getManager().getGames().iterator(); ((Iterator)localObject3).hasNext();
  159. /* 159 */           localIterator.hasNext())
  160. /*     */       {
  161. /* 158 */         localObject2 = (Game)((Iterator)localObject3).next();
  162. /* 159 */         localIterator = ((Game)localObject2).getSigns().iterator(); continue;localObject4 = (Location)localIterator.next();
  163. /* 160 */         if ((((Location)localObject1).getWorld() == ((Location)localObject4).getWorld()) && (((Location)localObject1).distance((Location)localObject4) == 0.0D)) {
  164. /* 161 */           paramPlayerInteractEvent.setCancelled(true);
  165. /* 162 */           this.main.getManager().addPlayer(localPlayer, (Game)localObject2);
  166. /* 163 */           return;
  167. /*     */         }
  168. /*     */       }
  169. /*     */      
  170. /* 167 */       localObject2 = this.main.getManager().getQuickJoinSigns().iterator();
  171. /* 168 */       while (((Iterator)localObject2).hasNext()) {
  172. /* 169 */         localObject3 = (Location)((Iterator)localObject2).next();
  173. /* 170 */         if (((Location)localObject1).equals(localObject3)) {
  174. /* 171 */           localObject4 = this.main.getManager().findGame(localPlayer);
  175. /* 172 */           if (localObject4 == null) break;
  176. /* 173 */           if (((Game)localObject4).getState() == GameState.WAITING) {
  177. /* 174 */             this.main.getManager().addPlayer(localPlayer, (Game)localObject4);
  178. /* 175 */             break; } if ((((Game)localObject4).getState() != GameState.IN_GAME) && (((Game)localObject4).getState() != GameState.ROUND)) break;
  179. /* 176 */           this.main.getManager().addQuickPlayer((Game)localObject4, localPlayer);
  180. /*     */          
  181. /*     */
  182. /* 179 */           break;
  183. /*     */         }
  184. /*     */       }
  185. /*     */     }
  186. /*     */   }
  187. /*     */  
  188. /*     */   @EventHandler
  189. /*     */   public void onDamageWithKnife(EntityDamageByEntityEvent paramEntityDamageByEntityEvent) {
  190. /*     */     Object localObject;
  191. /* 188 */     if ((paramEntityDamageByEntityEvent.getEntity().getType() == EntityType.PLAYER) && (paramEntityDamageByEntityEvent.getDamager().getType() == EntityType.PLAYER)) {
  192. /* 189 */       localObject = (Player)paramEntityDamageByEntityEvent.getEntity();
  193. /* 190 */       Player localPlayer = (Player)paramEntityDamageByEntityEvent.getDamager();
  194. /* 191 */       Game localGame = this.main.getManager().getGame((Player)localObject);
  195. /* 192 */       if (localGame != null) {
  196. /* 193 */         paramEntityDamageByEntityEvent.setCancelled(true);
  197. /* 194 */         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))) {
  198. /* 195 */           if (this.main.enableBlood()) {
  199. /* 196 */             ((Player)localObject).getWorld().playEffect(((Player)localObject).getLocation(), org.bukkit.Effect.STEP_SOUND, Material.REDSTONE_WIRE);
  200. /*     */           }
  201. /* 198 */           Vector localVector1 = localPlayer.getEyeLocation().toVector().subtract(((Player)localObject).getEyeLocation().toVector());
  202. /* 199 */           Vector localVector2 = ((Player)localObject).getEyeLocation().getDirection().normalize();
  203. /* 200 */           float f = localVector1.angle(localVector2);
  204. /* 201 */           if ((localPlayer.getLocation().distance(((Player)localObject).getLocation()) <= 1.7D) || (f <= 1.5D)) {
  205. /* 202 */             this.main.getManager().damage(localGame, localPlayer, (Player)localObject, 3.0D, "銌");
  206. /*     */           } else {
  207. /* 204 */             this.main.getManager().damage(localGame, localPlayer, (Player)localObject, 20.0D, "銌");
  208. /*     */           }
  209. /* 206 */           this.main.getUpdateTask().getDelay().put(((Player)localObject).getUniqueId(), Integer.valueOf(35));
  210. /*     */         }
  211. /*     */       }
  212. /* 209 */     } else if ((paramEntityDamageByEntityEvent.getDamager().getType() == EntityType.PLAYER) && (paramEntityDamageByEntityEvent.getEntity().getType() == EntityType.ITEM_FRAME)) {
  213. /* 210 */       localObject = this.main.getManager().getGame((Player)paramEntityDamageByEntityEvent.getDamager());
  214. /* 211 */       if (localObject != null) {
  215. /* 212 */         paramEntityDamageByEntityEvent.setCancelled(true);
  216. /*     */       }
  217. /*     */     }
  218. /*     */   }
  219. /*     */  
  220. /*     */   @EventHandler
  221. /*     */   public void onBombPlant(PlayerItemConsumeEvent paramPlayerItemConsumeEvent) {
  222. /* 219 */     Player localPlayer1 = paramPlayerItemConsumeEvent.getPlayer();
  223. /* 220 */     Game localGame = this.main.getManager().getGame(localPlayer1);
  224. /* 221 */     if (localGame != null) {
  225. /* 222 */       paramPlayerItemConsumeEvent.setCancelled(true);
  226. /* 223 */       if ((localPlayer1.getInventory().getItemInHand().getType() == Material.GOLDEN_APPLE) &&
  227. /* 224 */         (localGame.getState() == GameState.IN_GAME) && (!localGame.isRoundEnding()) && (localPlayer1.getLocation().getBlock().getRelative(org.bukkit.block.BlockFace.DOWN).getType().isSolid())) {
  228. /* 225 */         Block localBlock = localPlayer1.getLocation().getBlock();
  229. /* 226 */         if (localBlock.getType() == Material.AIR) {
  230. /* 227 */           localPlayer1.getInventory().setItem(5, new ItemStack(Material.AIR));
  231. /* 228 */           localBlock.setType(Material.DAYLIGHT_DETECTOR);
  232. /* 229 */           localGame.getBomb().setLocation(localBlock.getLocation());
  233. /* 230 */           localGame.getBomb().setTimer(this.main.getBombTime());
  234. /* 231 */           localGame.setGameTimer(this.main.getBombTime());
  235. /* 232 */           localGame.getBomb().isPlanted(true);
  236. /* 233 */           localGame.setMoney(localPlayer1, localGame.getMoney(localPlayer1) + this.main.getBombPlantMoney());
  237. /* 234 */           ((ro.Fr33styler.CounterStrike.Cache.PlayerStatus)localGame.getStats().get(localPlayer1.getUniqueId())).addBombPlanted();
  238. /* 235 */           Player localPlayer2; for (Iterator localIterator = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST).getPlayers().iterator(); localIterator.hasNext();) { localPlayer2 = (Player)localIterator.next();
  239. /* 236 */             localPlayer2.setCompassTarget(localPlayer1.getLocation().getBlock().getLocation());
  240. /* 237 */             localPlayer2.playSound(localPlayer2.getLocation(), "cs.gamesounds.bombplanted", 1.0F, 1.0F);
  241. /* 238 */             this.main.getVersionInterface().sendTitle(localPlayer2, 0, 23, 0, "", Messages.BOMB_PLANTED.toString());
  242. /*     */           }
  243. /* 240 */           for (localIterator = this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().iterator(); localIterator.hasNext();) { localPlayer2 = (Player)localIterator.next();
  244. /* 241 */             localPlayer2.playSound(localPlayer2.getLocation(), "cs.gamesounds.bombplanted", 1.0F, 1.0F);
  245. /* 242 */             this.main.getVersionInterface().sendTitle(localPlayer2, 0, 23, 0, "", Messages.BOMB_PLANTED.toString());
  246. /*     */           }
  247. /*     */         }
  248. /*     */       }
  249. /*     */     }
  250. /*     */   }
  251. /*     */  
  252. /*     */   @EventHandler
  253. /*     */   public void onChat(AsyncPlayerChatEvent paramAsyncPlayerChatEvent)
  254. /*     */   {
  255. /* 252 */     Player localPlayer = paramAsyncPlayerChatEvent.getPlayer();
  256. /* 253 */     Game localGame = this.main.getManager().getGame(localPlayer);
  257. /* 254 */     Object localObject; if (localGame == null) {
  258. /* 255 */       for (Iterator localIterator = this.main.getManager().getGames().iterator(); localIterator.hasNext();) { localObject = (Game)localIterator.next();
  259. /* 256 */         paramAsyncPlayerChatEvent.getRecipients().removeAll(((Game)localObject).getTeamA().getPlayers());
  260. /* 257 */         paramAsyncPlayerChatEvent.getRecipients().removeAll(((Game)localObject).getTeamB().getPlayers());
  261. /*     */       }
  262. /*     */     } else {
  263. /* 260 */       paramAsyncPlayerChatEvent.getRecipients().clear();
  264. /* 261 */       if ((localGame.getState() == GameState.WAITING) || (localGame.getState() == GameState.END)) {
  265. /* 262 */         paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamA().getPlayers());
  266. /* 263 */         paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamB().getPlayers());
  267. /* 264 */         paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_WAITING_FORMAT.toString().replace("%player%", localPlayer.getName()).replace("%message%", "%2$s"));
  268. /*     */       }
  269. /* 266 */       else if ((paramAsyncPlayerChatEvent.getMessage().startsWith("!")) && (paramAsyncPlayerChatEvent.getMessage().length() > 1)) {
  270. /* 267 */         paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamA().getPlayers());
  271. /* 268 */         paramAsyncPlayerChatEvent.getRecipients().addAll(localGame.getTeamB().getPlayers());
  272. /* 269 */         paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_GLOBAL_FORMAT.toString().replace("%player%", localPlayer.getName()).replace("%message%", paramAsyncPlayerChatEvent.getMessage().substring(1)));
  273. /*     */       }
  274. /* 271 */       else if (this.main.getManager().getTeam(localGame, localPlayer) == GameTeam.Role.COUNTERTERRORIST) {
  275. /* 272 */         localObject = this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST);
  276. /* 273 */         paramAsyncPlayerChatEvent.getRecipients().addAll(((GameTeam)localObject).getPlayers());
  277. /* 274 */         paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_PLAYING_FORMAT.toString().replace("%team%", "§3銐").replace("%player%", localPlayer.getName()).replace("%message%", "%2$s"));
  278. /*     */       } else {
  279. /* 276 */         localObject = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST);
  280. /* 277 */         paramAsyncPlayerChatEvent.getRecipients().addAll(((GameTeam)localObject).getPlayers());
  281. /* 278 */         paramAsyncPlayerChatEvent.setFormat(Messages.CHAT_PLAYING_FORMAT.toString().replace("%team%", "§4銑").replace("%player%", localPlayer.getName()).replace("%message%", "%2$s"));
  282. /*     */       }
  283. /*     */     }
  284. /*     */   }
  285. /*     */  
  286. /*     */
  287. /*     */   @EventHandler
  288. /*     */   public void onSlotChange(PlayerItemHeldEvent paramPlayerItemHeldEvent)
  289. /*     */   {
  290. /* 287 */     Player localPlayer = paramPlayerItemHeldEvent.getPlayer();
  291. /* 288 */     Game localGame = this.main.getManager().getGame(localPlayer);
  292. /* 289 */     if ((localGame != null) && (localGame.getState() != GameState.WAITING)) {
  293. /* 290 */       Gun localGun1 = this.main.getGun(localPlayer.getInventory().getItem(paramPlayerItemHeldEvent.getPreviousSlot()));
  294. /* 291 */       if (localGun1 != null) {
  295. /* 292 */         localGun1.resetPlayer(localPlayer);
  296. /* 293 */         if (localGun1.getModule() == 2) {
  297. /* 294 */           localPlayer.setExp(0.0F);
  298. /*     */         } else {
  299. /* 296 */           localPlayer.getInventory().getItem(paramPlayerItemHeldEvent.getPreviousSlot()).setDurability((short)0);
  300. /*     */         }
  301. /*     */       }
  302. /* 299 */       Gun localGun2 = this.main.getGun(localPlayer.getInventory().getItemInHand());
  303. /* 300 */       if ((localGun2 != null) &&
  304. /* 301 */         (localGun2.hasSnipe()) && (localPlayer.isSneaking())) {
  305. /* 302 */         paramPlayerItemHeldEvent.setCancelled(true);
  306. /*     */       }
  307. /*     */      
  308. /* 305 */       if (!paramPlayerItemHeldEvent.isCancelled()) {
  309. /* 306 */         if (paramPlayerItemHeldEvent.getNewSlot() == 2) {
  310. /* 307 */           localPlayer.setWalkSpeed(0.25F);
  311. /*     */         } else {
  312. /* 309 */           localPlayer.setWalkSpeed(0.2F);
  313. /*     */         }
  314. /*     */       }
  315. /*     */     }
  316. /*     */   }
  317. /*     */  
  318. /*     */   @EventHandler
  319. /*     */   public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent paramPlayerInteractAtEntityEvent) {
  320. /* 317 */     Player localPlayer = paramPlayerInteractAtEntityEvent.getPlayer();
  321. /* 318 */     if (this.main.getManager().getGame(localPlayer) == null) {
  322. /* 319 */       return;
  323. /*     */     }
  324. /* 321 */     if (paramPlayerInteractAtEntityEvent.getRightClicked().getType() == EntityType.ARMOR_STAND) {
  325. /* 322 */       paramPlayerInteractAtEntityEvent.setCancelled(true);
  326. /*     */     }
  327. /*     */   }
  328. /*     */  
  329. /*     */   @EventHandler
  330. /*     */   public void onClick(InventoryClickEvent paramInventoryClickEvent) {
  331. /* 328 */     Player localPlayer = (Player)paramInventoryClickEvent.getWhoClicked();
  332. /* 329 */     Game localGame = this.main.getManager().getGame(localPlayer);
  333. /* 330 */     if (localGame != null) {
  334. /* 331 */       paramInventoryClickEvent.setCancelled(true);
  335. /* 332 */       if (paramInventoryClickEvent.getSlotType() != org.bukkit.event.inventory.InventoryType.SlotType.OUTSIDE) {
  336. /* 333 */         if (paramInventoryClickEvent.getClickedInventory().equals(this.selector)) {
  337. /* 334 */           if (paramInventoryClickEvent.getSlot() == 11) {
  338. /* 335 */             localGame.addTeamA(localPlayer);
  339. /* 336 */             localPlayer.playSound(localPlayer.getLocation(), SpigotSound.NOTE_STICKS.getSound(), 1.0F, 1.0F);
  340. /* 337 */             localPlayer.sendMessage(Messages.SELECTOR_CHOOSE_TEAM_A.toString());
  341. /* 338 */             localPlayer.closeInventory();
  342. /* 339 */           } else if (paramInventoryClickEvent.getSlot() == 13) {
  343. /* 340 */             localGame.addRandomTeam(localPlayer);
  344. /* 341 */             localPlayer.playSound(localPlayer.getLocation(), SpigotSound.NOTE_STICKS.getSound(), 1.0F, 1.0F);
  345. /* 342 */             localPlayer.sendMessage(Messages.SELECTOR_CHOOSE_TEAM_RANDOM.toString());
  346. /* 343 */             localPlayer.closeInventory();
  347. /* 344 */           } else if (paramInventoryClickEvent.getSlot() == 15) {
  348. /* 345 */             localGame.addTeamB(localPlayer);
  349. /* 346 */             localPlayer.playSound(localPlayer.getLocation(), SpigotSound.NOTE_STICKS.getSound(), 1.0F, 1.0F);
  350. /* 347 */             localPlayer.sendMessage(Messages.SELECTOR_CHOOSE_TEAM_B.toString());
  351. /* 348 */             localPlayer.closeInventory();
  352. /*     */           }
  353. /*     */         }
  354. /* 351 */         if (paramInventoryClickEvent.getClickedInventory().getName().equals(Messages.ITEM_SHOP_NAME.toString())) {
  355. /* 352 */           for (PlayerShop localPlayerShop : this.main.getShops()) {
  356. /* 353 */             if ((paramInventoryClickEvent.getSlot() == localPlayerShop.getSlot()) && ((localPlayerShop.getRole() == null) || (this.main.getManager().getTeam(localGame, localPlayer) == localPlayerShop.getRole()))) {
  357. /* 354 */               if ((localPlayerShop.hasPermission()) && (!localPlayer.hasPermission("cs.weapon." + localPlayerShop.getWeaponName()))) {
  358. /* 355 */                 localPlayer.closeInventory();
  359. /* 356 */                 localPlayer.sendMessage(Messages.SHOP_NO_PERMISSION.toString());
  360. /* 357 */                 localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
  361. /* 358 */                 break; } if (localPlayerShop.getPrice() <= localGame.getMoney(localPlayer)) { Object localObject;
  362. /* 359 */                 if (localPlayerShop.getType() == ShopType.GRENADE) {
  363. /* 360 */                   localObject = this.main.getGrenade(localPlayerShop.getWeaponName());
  364. /* 361 */                   if (localPlayer.getInventory().getItem(((Grenade)localObject).getGrenadeType().getSlot()) == null) {
  365. /* 362 */                     localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
  366. /* 363 */                     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()));
  367. /* 364 */                     localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
  368. /* 365 */                     break; }
  369. /* 366 */                   localPlayer.closeInventory();
  370. /* 367 */                   localPlayer.sendMessage(Messages.SHOP_GRENADE_ALREADY_IN_SLOT.toString());
  371. /* 368 */                   localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
  372. /*     */                  
  373. /* 370 */                   break; } if (localPlayerShop.getType() == ShopType.GUN) {
  374. /* 371 */                   localObject = this.main.getGun(localPlayerShop.getWeaponName());
  375. /* 372 */                   if ((localPlayer.getInventory().getItem(((Gun)localObject).getGunType().getID().intValue()) == null) || (this.main.replaceOldGuns())) {
  376. /* 373 */                     localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
  377. /* 374 */                     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()));
  378. /* 375 */                     localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
  379. /* 376 */                     break; }
  380. /* 377 */                   localPlayer.closeInventory();
  381. /* 378 */                   localPlayer.sendMessage(Messages.SHOP_GUN_ALREADY_IN_SLOT.toString());
  382. /* 379 */                   localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
  383. /*     */                  
  384. /* 381 */                   break; } if ((localPlayerShop.getRole() != null) && (this.main.getManager().getTeam(localGame, localPlayer) != localPlayerShop.getRole())) break;
  385. /* 382 */                 if (localPlayerShop.getMaterial() != Material.SHEARS) {
  386. /* 383 */                   localObject = localPlayer.getInventory().getItem(localPlayerShop.getSlotPlace());
  387. /* 384 */                   if ((localPlayerShop.getSlotPlace() == 2) || (localObject == null) || (((ItemStack)localObject).getType() == Material.LEATHER_HELMET) || (((ItemStack)localObject).getType() == Material.LEATHER_CHESTPLATE)) {
  388. /* 385 */                     localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
  389. /* 386 */                     localPlayer.getInventory().setItem(localPlayerShop.getSlotPlace(), ItemBuilder.create(localPlayerShop.getMaterial(), 1, localPlayerShop.getName(), false));
  390. /* 387 */                     localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
  391. /* 388 */                     break; }
  392. /* 389 */                   localPlayer.closeInventory();
  393. /* 390 */                   localPlayer.sendMessage(Messages.SHOP_ALREADY_BROUGHT.toString());
  394. /* 391 */                   localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
  395. /*     */                  
  396. /* 393 */                   break; } if (localPlayer.getInventory().getItem(localPlayerShop.getSlotPlace()).getType() != Material.SHEARS) {
  397. /* 394 */                   localGame.setMoney(localPlayer, localGame.getMoney(localPlayer) - localPlayerShop.getPrice());
  398. /* 395 */                   localPlayer.getInventory().setItem(localPlayerShop.getSlotPlace(), ItemBuilder.create(localPlayerShop.getMaterial(), 1, localPlayerShop.getName(), false));
  399. /* 396 */                   localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopbuyitem", 1.0F, 1.0F);
  400. /* 397 */                   break; }
  401. /* 398 */                 localPlayer.closeInventory();
  402. /* 399 */                 localPlayer.sendMessage(Messages.SHOP_ALREADY_BROUGHT.toString());
  403. /* 400 */                 localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
  404. /*     */                
  405. /*     */
  406. /* 403 */                 break; }
  407. /* 404 */               localPlayer.closeInventory();
  408. /* 405 */               localPlayer.sendMessage(Messages.SHOP_NOT_ENOUGH_MONEY.toString());
  409. /* 406 */               localPlayer.playSound(localPlayer.getLocation(), "cs.shop.shopcantbuy", 1.0F, 1.0F);
  410. /*     */              
  411. /* 408 */               break;
  412. /*     */             }
  413. /*     */           }
  414. /*     */         }
  415. /*     */       }
  416. /*     */     }
  417. /*     */   }
  418. /*     */  
  419. /*     */   @EventHandler
  420. /*     */   public void onPlayerCommand(PlayerCommandPreprocessEvent paramPlayerCommandPreprocessEvent) {
  421. /* 418 */     Player localPlayer = paramPlayerCommandPreprocessEvent.getPlayer();
  422. /* 419 */     Game localGame = this.main.getManager().getGame(localPlayer);
  423. /* 420 */     if (localGame != null) {
  424. /* 421 */       String[] arrayOfString = paramPlayerCommandPreprocessEvent.getMessage().split(" ");
  425. /* 422 */       String str = arrayOfString[0];
  426. /* 423 */       if ((str.equalsIgnoreCase("/leave")) || (str.equalsIgnoreCase("/quit"))) {
  427. /* 424 */         paramPlayerCommandPreprocessEvent.setCancelled(true);
  428. /* 425 */         localPlayer.sendMessage(Messages.PREFIX + Messages.GAME_LEFT.toString());
  429. /* 426 */         this.main.getManager().removePlayer(localGame, localPlayer, false, false);
  430. /* 427 */       } else if ((!str.equalsIgnoreCase("/cs")) && (!str.equalsIgnoreCase("/counterstrike")) && (!ro.Fr33styler.CounterStrike.Utils.GameUtils.containsIgnoreCase(this.main.getWhitelistCommands(), str))) {
  431. /* 428 */         paramPlayerCommandPreprocessEvent.setCancelled(true);
  432. /* 429 */         localPlayer.sendMessage(Messages.PREFIX + " " + Messages.RESTRICTED_COMMAND.toString());
  433. /*     */       }
  434. /*     */     }
  435. /*     */   }
  436. /*     */  
  437. /*     */   @EventHandler
  438. /*     */   public void onPlace(BlockPlaceEvent paramBlockPlaceEvent) {
  439. /* 436 */     Player localPlayer = paramBlockPlaceEvent.getPlayer();
  440. /* 437 */     Game localGame = this.main.getManager().getGame(localPlayer);
  441. /* 438 */     if (localGame != null) {
  442. /* 439 */       paramBlockPlaceEvent.setCancelled(true);
  443. /*     */     }
  444. /*     */   }
  445. /*     */  
  446. /*     */   @EventHandler
  447. /*     */   public void onBreak(BlockBreakEvent paramBlockBreakEvent) {
  448. /* 445 */     Player localPlayer = paramBlockBreakEvent.getPlayer();
  449. /* 446 */     Game localGame = this.main.getManager().getGame(localPlayer);
  450. /* 447 */     if (localGame != null) {
  451. /* 448 */       paramBlockBreakEvent.setCancelled(true);
  452. /*     */     }
  453. /* 450 */     else if (((paramBlockBreakEvent.getBlock().getState() instanceof Sign)) && (localPlayer.hasPermission("cs.sign"))) {
  454. /* 451 */       Location localLocation = paramBlockBreakEvent.getBlock().getLocation();
  455. /* 452 */       Object localObject3; Object localObject4; for (Object localObject2 = this.main.getManager().getGames().iterator(); ((Iterator)localObject2).hasNext();
  456. /*     */          
  457. /* 454 */           ((Iterator)localObject3).hasNext())
  458. /*     */       {
  459. /* 452 */         localObject1 = (Game)((Iterator)localObject2).next();
  460. /* 453 */         localObject3 = ((Game)localObject1).getSigns().iterator();
  461. /* 454 */         continue;
  462. /* 455 */         localObject4 = (Location)((Iterator)localObject3).next();
  463. /* 456 */         if ((localLocation.getWorld() == ((Location)localObject4).getWorld()) && (localLocation.distance((Location)localObject4) == 0.0D)) {
  464. /* 457 */           localPlayer.sendMessage(Messages.PREFIX + " §cSign removed succefully!");
  465. /* 458 */           String str = ((Game)localObject1).getID() + "," + localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," +
  466. /* 459 */             localLocation.getBlockY() + "," + localLocation.getBlockZ();
  467. /* 460 */           List localList = this.main.getGameDatabase().getStringList("Signs");
  468. /* 461 */           localList.remove(str);
  469. /* 462 */           this.main.getGameDatabase().set("Signs", localList);
  470. /* 463 */           this.main.saveGameDatabase();
  471. /* 464 */           ((Iterator)localObject3).remove();
  472. /* 465 */           return;
  473. /*     */         }
  474. /*     */       }
  475. /*     */      
  476. /* 469 */       Object localObject1 = this.main.getManager().getQuickJoinSigns().iterator();
  477. /* 470 */       while (((Iterator)localObject1).hasNext()) {
  478. /* 471 */         localObject2 = (Location)((Iterator)localObject1).next();
  479. /* 472 */         if (localLocation.equals(localObject2)) {
  480. /* 473 */           localPlayer.sendMessage(Messages.PREFIX + " §cQuick-Sign removed succefully!");
  481. /* 474 */           localObject3 = localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," + localLocation.getBlockY() + "," +
  482. /* 475 */             localLocation.getBlockZ();
  483. /* 476 */           localObject4 = this.main.getGameDatabase().getStringList("QuickJoinSigns");
  484. /* 477 */           ((List)localObject4).remove(localObject3);
  485. /* 478 */           this.main.getGameDatabase().set("QuickJoinSigns", localObject4);
  486. /* 479 */           this.main.saveGameDatabase();
  487. /* 480 */           ((Iterator)localObject1).remove();
  488. /*     */         }
  489. /*     */       }
  490. /*     */     }
  491. /*     */   }
  492. /*     */  
  493. /*     */   @EventHandler
  494. /*     */   public void onPing(ServerListPingEvent paramServerListPingEvent)
  495. /*     */   {
  496. /* 489 */     if (this.main.getManager().isBungeeMode()) {
  497. /* 490 */       Game localGame = (Game)this.main.getManager().getGames().get(this.main.getManager().getMap());
  498. /* 491 */       paramServerListPingEvent.setMotd(localGame.getState().getState());
  499. /* 492 */       paramServerListPingEvent.setMaxPlayers(localGame.getMaxPlayers());
  500. /*     */     }
  501. /*     */   }
  502. /*     */  
  503. /*     */   @EventHandler
  504. /*     */   public void onLogin(PlayerLoginEvent paramPlayerLoginEvent) {
  505. /* 498 */     if (this.main.getManager().isBungeeMode()) {
  506. /* 499 */       Game localGame = (Game)this.main.getManager().getGames().get(this.main.getManager().getMap());
  507. /* 500 */       if (localGame.getTeamA().size() + localGame.getTeamB().size() == localGame.getMaxPlayers()) {
  508. /* 501 */         paramPlayerLoginEvent.disallow(org.bukkit.event.player.PlayerLoginEvent.Result.KICK_FULL, Messages.ARENA_IS_FULL.toString());
  509. /* 502 */       } else if ((localGame.getState() != GameState.WAITING) && (!this.main.canJoinStartedGame())) {
  510. /* 503 */         paramPlayerLoginEvent.disallow(org.bukkit.event.player.PlayerLoginEvent.Result.KICK_OTHER, Messages.ARENA_HAS_STARTED.toString());
  511. /*     */       }
  512. /*     */     }
  513. /*     */   }
  514. /*     */  
  515. /*     */   @EventHandler
  516. /*     */   public void onLeave(GameLeaveEvent paramGameLeaveEvent) {
  517. /* 510 */     if (this.main.getManager().isBungeeMode()) {
  518. /* 511 */       ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
  519. /* 512 */       DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
  520. /*     */       try {
  521. /* 514 */         localDataOutputStream.writeUTF("Connect");
  522. /* 515 */         localDataOutputStream.writeUTF(this.main.getHub());
  523. /* 516 */         paramGameLeaveEvent.getPlayer().sendPluginMessage(this.main, "BungeeCord", localByteArrayOutputStream.toByteArray());
  524. /* 517 */         localDataOutputStream.close();
  525. /* 518 */         localByteArrayOutputStream.close();
  526. /*     */       } catch (Exception localException) {
  527. /* 520 */         localException.printStackTrace();
  528. /*     */       }
  529. /*     */     }
  530. /*     */   }
  531. /*     */  
  532. /*     */   @EventHandler
  533. /*     */   public void onJoin(PlayerJoinEvent paramPlayerJoinEvent) {
  534. /* 527 */     GameManager localGameManager = this.main.getManager();
  535. /* 528 */     Object localObject1; Object localObject2; if (localGameManager.isBungeeMode()) {
  536. /* 529 */       paramPlayerJoinEvent.setJoinMessage(null);
  537. /* 530 */       localObject1 = paramPlayerJoinEvent.getPlayer();
  538. /* 531 */       localObject2 = (Game)localGameManager.getGames().get(localGameManager.getMap());
  539. /* 532 */       if (((Game)localObject2).getState() != GameState.WAITING) {
  540. /* 533 */         localGameManager.addQuickPlayer((Game)localObject2, (Player)localObject1);
  541. /*     */       } else
  542. /* 535 */         localGameManager.addPlayer(paramPlayerJoinEvent.getPlayer(), (Game)localObject2);
  543. /*     */     } else {
  544. /*     */       Iterator localIterator;
  545. /* 538 */       for (localObject2 = localGameManager.getGames().iterator(); ((Iterator)localObject2).hasNext();
  546. /*     */          
  547. /*     */
  548. /*     */
  549. /* 542 */           localIterator.hasNext())
  550. /*     */       {
  551. /* 538 */         localObject1 = (Game)((Iterator)localObject2).next();
  552. /* 539 */         for (localIterator = ((Game)localObject1).getTeamA().getPlayers().iterator(); localIterator.hasNext();) { localPlayer = (Player)localIterator.next();
  553. /* 540 */           localPlayer.hidePlayer(paramPlayerJoinEvent.getPlayer());
  554. /*     */         }
  555. /* 542 */         localIterator = ((Game)localObject1).getTeamB().getPlayers().iterator(); continue;Player localPlayer = (Player)localIterator.next();
  556. /* 543 */         localPlayer.hidePlayer(paramPlayerJoinEvent.getPlayer());
  557. /*     */       }
  558. /*     */     }
  559. /*     */   }
  560. /*     */  
  561. /*     */   @EventHandler(priority=EventPriority.HIGHEST)
  562. /*     */   public void onLeave(PlayerQuitEvent paramPlayerQuitEvent)
  563. /*     */   {
  564. /* 551 */     Player localPlayer = paramPlayerQuitEvent.getPlayer();
  565. /* 552 */     Game localGame = this.main.getManager().getGame(localPlayer);
  566. /* 553 */     if (localGame != null) {
  567. /* 554 */       this.main.getManager().removePlayer(localGame, localPlayer, false, true);
  568. /*     */     }
  569. /* 556 */     if (this.main.getManager().isBungeeMode()) {
  570. /* 557 */       paramPlayerQuitEvent.setQuitMessage(null);
  571. /*     */     }
  572. /* 559 */     this.main.getTextureUsers().remove(localPlayer.getUniqueId());
  573. /*     */   }
  574. /*     */  
  575. /*     */   @EventHandler(priority=EventPriority.HIGHEST)
  576. /*     */   public void onPluginEnable(PluginEnableEvent paramPluginEnableEvent) {
  577. /* 564 */     if (paramPluginEnableEvent.getPlugin().equals(this.main)) {
  578. /* 565 */       for (Player localPlayer : Bukkit.getOnlinePlayers()) {
  579. /* 566 */         this.main.getTextureUsers().add(localPlayer.getUniqueId());
  580. /*     */       }
  581. /*     */     }
  582. /*     */   }
  583. /*     */  
  584. /*     */   @EventHandler(priority=EventPriority.HIGHEST)
  585. /*     */   public void onKick(PlayerKickEvent paramPlayerKickEvent) {
  586. /* 573 */     Player localPlayer = paramPlayerKickEvent.getPlayer();
  587. /* 574 */     paramPlayerKickEvent.setLeaveMessage(null);
  588. /* 575 */     Game localGame = this.main.getManager().getGame(localPlayer);
  589. /* 576 */     if (localGame != null) {
  590. /* 577 */       this.main.getManager().removePlayer(localGame, localPlayer, false, true);
  591. /*     */     }
  592. /* 579 */     if (this.main.getManager().isBungeeMode()) {
  593. /* 580 */       paramPlayerKickEvent.setLeaveMessage(null);
  594. /*     */     }
  595. /* 582 */     this.main.getTextureUsers().remove(localPlayer.getUniqueId());
  596. /*     */   }
  597. /*     */  
  598. /*     */   @EventHandler
  599. /*     */   public void onMove(PlayerMoveEvent paramPlayerMoveEvent) {
  600. /* 587 */     Player localPlayer = paramPlayerMoveEvent.getPlayer();
  601. /* 588 */     Game localGame = this.main.getManager().getGame(localPlayer);
  602. /* 589 */     if (localGame != null) {
  603. /* 590 */       if (localGame.getState() == GameState.IN_GAME) {
  604. /* 591 */         if ((localPlayer.getFallDistance() >= 6.0F) && (!localGame.getSpectators().contains(localPlayer)) && (localPlayer.getLocation().getBlock().getRelative(org.bukkit.block.BlockFace.DOWN).getType().isSolid())) {
  605. /* 592 */           this.main.getManager().damage(localGame, null, localPlayer, localPlayer.getFallDistance(), "鉱鉲");
  606. /*     */         }
  607. /* 594 */         if ((paramPlayerMoveEvent.getFrom().getBlockX() != paramPlayerMoveEvent.getTo().getBlockX()) || (paramPlayerMoveEvent.getFrom().getBlockZ() != paramPlayerMoveEvent.getTo().getBlockZ())) {
  608. /* 595 */           if ((localGame.getSpectators().contains(localPlayer)) &&
  609. /* 596 */             (paramPlayerMoveEvent.getTo().getWorld() == localGame.getMid().getWorld()) && (paramPlayerMoveEvent.getTo().distance(localGame.getMid()) > this.main.getRadius())) {
  610. /* 597 */             paramPlayerMoveEvent.setTo(paramPlayerMoveEvent.getFrom());
  611. /*     */           }
  612. /*     */          
  613. /* 600 */           if (localGame.getBomb().getCarrier() == localPlayer) {
  614. /* 601 */             ItemStack localItemStack = localPlayer.getInventory().getItem(5);
  615. /* 602 */             if (localItemStack != null) { ItemMeta localItemMeta;
  616. /* 603 */               if (this.main.getManager().isInBombArea(localGame, paramPlayerMoveEvent.getTo())) {
  617. /* 604 */                 if (localItemStack.getType() == Material.QUARTZ) {
  618. /* 605 */                   localItemMeta = localItemStack.getItemMeta();
  619. /* 606 */                   localItemMeta.setDisplayName("§e鉶§a " + Messages.ITEM_BOMB_NAME + " §8(§c" + Messages.ITEM_RIGHT_CLICK + "§8)");
  620. /* 607 */                   localItemStack.setItemMeta(localItemMeta);
  621. /* 608 */                   localItemStack.setType(Material.GOLDEN_APPLE);
  622. /* 609 */                   localPlayer.playSound(localPlayer.getLocation(), SpigotSound.CLICK.getSound(), 1.0F, 1.0F);
  623. /*     */                 }
  624. /*     */               }
  625. /* 612 */               else if (localItemStack.getType() == Material.GOLDEN_APPLE) {
  626. /* 613 */                 localItemMeta = localItemStack.getItemMeta();
  627. /* 614 */                 localItemMeta.setDisplayName("§e鉶§a " + Messages.ITEM_BOMB_NAME);
  628. /* 615 */                 localItemStack.setItemMeta(localItemMeta);
  629. /* 616 */                 localItemStack.setType(Material.QUARTZ);
  630. /* 617 */                 localPlayer.playSound(localPlayer.getLocation(), SpigotSound.CLICK.getSound(), 1.0F, 1.0F);
  631. /*     */               }
  632. /*     */             }
  633. /*     */           }
  634. /*     */         }
  635. /*     */       }
  636. /* 623 */       else if ((localGame.getState() == GameState.ROUND) && (!localGame.getSpectators().contains(localPlayer)) && ((paramPlayerMoveEvent.getFrom().getX() != paramPlayerMoveEvent.getTo().getX()) || (paramPlayerMoveEvent.getFrom().getZ() != paramPlayerMoveEvent.getTo().getZ()))) {
  637. /* 624 */         paramPlayerMoveEvent.setTo(paramPlayerMoveEvent.getFrom());
  638. /*     */       }
  639. /*     */     }
  640. /*     */   }
  641. /*     */  
  642. /*     */   @EventHandler
  643. /*     */   public void onDamage(EntityDamageEvent paramEntityDamageEvent) {
  644. /* 631 */     if (((paramEntityDamageEvent.getEntity() instanceof Player)) &&
  645. /* 632 */       (this.main.getManager().getGame((Player)paramEntityDamageEvent.getEntity()) != null) && (paramEntityDamageEvent.getCause() != org.bukkit.event.entity.EntityDamageEvent.DamageCause.CUSTOM)) {
  646. /* 633 */       paramEntityDamageEvent.setCancelled(true);
  647. /*     */     }
  648. /*     */   }
  649. /*     */  
  650. /*     */   @EventHandler
  651. /*     */   public void onFoodChange(FoodLevelChangeEvent paramFoodLevelChangeEvent)
  652. /*     */   {
  653. /* 640 */     if (((paramFoodLevelChangeEvent.getEntity() instanceof Player)) &&
  654. /* 641 */       (this.main.getManager().getGame((Player)paramFoodLevelChangeEvent.getEntity()) != null)) {
  655. /* 642 */       paramFoodLevelChangeEvent.setFoodLevel(20);
  656. /*     */     }
  657. /*     */   }
  658. /*     */  
  659. /*     */   @EventHandler
  660. /*     */   public void onHealthRegain(EntityRegainHealthEvent paramEntityRegainHealthEvent)
  661. /*     */   {
  662. /* 649 */     if (((paramEntityRegainHealthEvent.getEntity() instanceof Player)) &&
  663. /* 650 */       (this.main.getManager().getGame((Player)paramEntityRegainHealthEvent.getEntity()) != null)) {
  664. /* 651 */       paramEntityRegainHealthEvent.setCancelled(true);
  665. /*     */     }
  666. /*     */   }
  667. /*     */  
  668. /*     */   @EventHandler
  669. /*     */   public void onEntityBreak(HangingBreakByEntityEvent paramHangingBreakByEntityEvent)
  670. /*     */   {
  671. /* 658 */     if (paramHangingBreakByEntityEvent.getRemover().getType() == EntityType.PLAYER) {
  672. /* 659 */       Player localPlayer = (Player)paramHangingBreakByEntityEvent.getRemover();
  673. /* 660 */       Game localGame = this.main.getManager().getGame(localPlayer);
  674. /* 661 */       if (localGame != null) {
  675. /* 662 */         paramHangingBreakByEntityEvent.setCancelled(true);
  676. /*     */       }
  677. /*     */     }
  678. /*     */   }
  679. /*     */  
  680. /*     */   @EventHandler
  681. /*     */   public void onEntityBreak(HangingBreakEvent paramHangingBreakEvent) {
  682. /* 669 */     if (paramHangingBreakEvent.getCause() != org.bukkit.event.hanging.HangingBreakEvent.RemoveCause.ENTITY) {
  683. /* 670 */       paramHangingBreakEvent.setCancelled(true);
  684. /*     */     }
  685. /*     */   }
  686. /*     */  
  687. /*     */   @EventHandler
  688. /*     */   public void onPick(PlayerPickupItemEvent paramPlayerPickupItemEvent) {
  689. /* 676 */     Player localPlayer = paramPlayerPickupItemEvent.getPlayer();
  690. /* 677 */     Game localGame = this.main.getManager().getGame(localPlayer);
  691. /* 678 */     if (localGame != null) {
  692. /* 679 */       paramPlayerPickupItemEvent.setCancelled(true);
  693. /* 680 */       if ((!localGame.getSpectators().contains(localPlayer)) && (
  694. /* 681 */         (localGame.getState() == GameState.IN_GAME) || (localGame.getState() == GameState.ROUND))) {
  695. /* 682 */         org.bukkit.entity.Item localItem = paramPlayerPickupItemEvent.getItem();
  696. /* 683 */         ItemStack localItemStack = paramPlayerPickupItemEvent.getItem().getItemStack();
  697. /* 684 */         if ((localItemStack.getType() == Material.SHEARS) && (this.main.getManager().getTeam(localGame, localPlayer) == GameTeam.Role.COUNTERTERRORIST)) {
  698. /* 685 */           localItem.remove();
  699. /* 686 */           localGame.getDrops().remove(localItem);
  700. /* 687 */           localPlayer.getInventory().setItem(5, localItemStack);
  701. /* 688 */           localPlayer.playSound(localPlayer.getLocation(), SpigotSound.ITEM_PICKUP.getSound(), 5.0F, 1.0F);
  702. /* 689 */         } else { if (((localItemStack.getType() == Material.QUARTZ) || (localItemStack.getType() == Material.GOLDEN_APPLE)) && (this.main.getManager().getTeam(localGame, localPlayer) == GameTeam.Role.TERRORIST)) {
  703. /* 690 */             localItem.remove();
  704. /* 691 */             localGame.getDrops().remove(localItem);
  705. /* 692 */             if ((localItemStack.getType() == Material.QUARTZ) && (this.main.getManager().isInBombArea(localGame, localItem.getLocation()))) {
  706. /* 693 */               localObject = localItemStack.getItemMeta();
  707. /* 694 */               ((ItemMeta)localObject).setDisplayName("§e鉶§a " + Messages.ITEM_BOMB_NAME + " §8(§c" + Messages.ITEM_RIGHT_CLICK + "§8)");
  708. /* 695 */               localItemStack.setItemMeta((ItemMeta)localObject);
  709. /* 696 */               localItemStack.setType(Material.GOLDEN_APPLE);
  710. /*     */             }
  711. /* 698 */             if ((localItemStack.getType() == Material.GOLDEN_APPLE) && (!this.main.getManager().isInBombArea(localGame, localItem.getLocation()))) {
  712. /* 699 */               localObject = localItemStack.getItemMeta();
  713. /* 700 */               ((ItemMeta)localObject).setDisplayName("§e鉶§a " + Messages.ITEM_BOMB_NAME);
  714. /* 701 */               localItemStack.setItemMeta((ItemMeta)localObject);
  715. /* 702 */               localItemStack.setType(Material.QUARTZ);
  716. /*     */             }
  717. /* 704 */             for (Iterator localIterator = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST).getPlayers().iterator(); localIterator.hasNext();) { localObject = (Player)localIterator.next();
  718. /* 705 */               ((Player)localObject).playSound(((Player)localObject).getLocation(), "cs.gamesounds.pickedupthebomb", 1.0F, 1.0F);
  719. /*     */             }
  720. /* 707 */             localGame.getBomb().setCarrier(localPlayer);
  721. /* 708 */             localPlayer.getInventory().setItem(5, localItemStack);
  722. /* 709 */             return;
  723. /*     */           }
  724. /* 711 */           Object localObject = this.main.getGrenade(localItemStack);
  725. /* 712 */           if ((localObject != null) && (localGame.getDrops().get(localItem) != null)) {
  726. /* 713 */             int i = ((Grenade)localObject).getGrenadeType().getSlot();
  727. /* 714 */             if (localPlayer.getInventory().getItem(i) == null) {
  728. /* 715 */               paramPlayerPickupItemEvent.setCancelled(true);
  729. /* 716 */               localPlayer.getInventory().setItem(i, localItemStack);
  730. /* 717 */               localGame.getDrops().remove(localItem);
  731. /* 718 */               localItem.remove();
  732. /* 719 */               localPlayer.playSound(localPlayer.getLocation(), SpigotSound.ITEM_PICKUP.getSound(), 5.0F, 1.0F);
  733. /*     */             }
  734. /*     */           }
  735. /* 722 */           Gun localGun = this.main.getGun(localItemStack);
  736. /* 723 */           Integer localInteger = (Integer)localGame.getDrops().get(localItem);
  737. /* 724 */           if ((localGun != null) && (localInteger != null)) {
  738. /* 725 */             int j = localGun.getGunType().getID().intValue();
  739. /* 726 */             if (localPlayer.getInventory().getItem(j) == null) {
  740. /* 727 */               paramPlayerPickupItemEvent.setCancelled(true);
  741. /* 728 */               localItemStack.setAmount(localInteger.intValue() + 1);
  742. /* 729 */               localPlayer.getInventory().setItem(j, localItemStack);
  743. /* 730 */               localGame.getDrops().remove(localItem);
  744. /* 731 */               localItem.remove();
  745. /* 732 */               localPlayer.playSound(localPlayer.getLocation(), SpigotSound.ITEM_PICKUP.getSound(), 5.0F, 1.0F);
  746. /*     */             }
  747. /*     */           }
  748. /*     */         }
  749. /*     */       }
  750. /*     */     }
  751. /*     */   }
  752. /*     */  
  753. /*     */   @EventHandler
  754. /*     */   public void onDrop(PlayerDropItemEvent paramPlayerDropItemEvent)
  755. /*     */   {
  756. /* 743 */     Player localPlayer = paramPlayerDropItemEvent.getPlayer();
  757. /* 744 */     Game localGame = this.main.getManager().getGame(localPlayer);
  758. /* 745 */     if (localGame != null) {
  759. /* 746 */       int i = localPlayer.getInventory().getHeldItemSlot();
  760. /* 747 */       ItemStack localItemStack = paramPlayerDropItemEvent.getItemDrop().getItemStack();
  761. /* 748 */       int j = localPlayer.getInventory().getItemInHand().getAmount();
  762. /* 749 */       if ((localGame.getState() == GameState.IN_GAME) || (localGame.getState() == GameState.ROUND)) {
  763. /* 750 */         if (localItemStack.getType() == Material.SHEARS) {
  764. /* 751 */           localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(1));
  765. /* 752 */           localPlayer.getInventory().setItem(5, ItemBuilder.create(Material.GOLD_NUGGET, 1, "&a" + Messages.ITEM_SHEAR_NAME + " &7鉻", false));
  766. /* 753 */           return; }
  767. /* 754 */         if ((localItemStack.getType() == Material.QUARTZ) || (localItemStack.getType() == Material.GOLDEN_APPLE)) {
  768. /* 755 */           if (localItemStack.getType() == Material.GOLDEN_APPLE) {
  769. /* 756 */             localObject1 = localItemStack.getItemMeta();
  770. /* 757 */             ((ItemMeta)localObject1).setDisplayName("§e鉶§a " + Messages.ITEM_BOMB_NAME);
  771. /* 758 */             localItemStack.setItemMeta((ItemMeta)localObject1);
  772. /* 759 */             localItemStack.setType(Material.QUARTZ);
  773. /*     */           }
  774. /* 761 */           localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(1));
  775. /* 762 */           localGame.getBomb().setDrop(paramPlayerDropItemEvent.getItemDrop());
  776. /* 763 */           for (localObject2 = this.main.getManager().getTeam(localGame, GameTeam.Role.TERRORIST).getPlayers().iterator(); ((Iterator)localObject2).hasNext();) { localObject1 = (Player)((Iterator)localObject2).next();
  777. /* 764 */             ((Player)localObject1).playSound(((Player)localObject1).getLocation(), "cs.gamesounds.bombdroppedyourteam", 1.0F, 1.0F);
  778. /*     */           }
  779. /* 766 */           for (localObject2 = this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().iterator(); ((Iterator)localObject2).hasNext();) { localObject1 = (Player)((Iterator)localObject2).next();
  780. /* 767 */             ((Player)localObject1).playSound(((Player)localObject1).getLocation(), "cs.gamesounds.bombdroppedenemyteam", 1.0F, 1.0F);
  781. /*     */           }
  782. /* 769 */           return;
  783. /*     */         }
  784. /* 771 */         localObject1 = this.main.getGun(localItemStack);
  785. /* 772 */         if (localObject1 != null) {
  786. /* 773 */           localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(j));
  787. /* 774 */           localItemStack.setAmount(1);
  788. /* 775 */           localPlayer.setExp(0.0F);
  789. /* 776 */           ((Gun)localObject1).resetDelay(localPlayer);
  790. /* 777 */           paramPlayerDropItemEvent.getItemDrop().setItemStack(ItemBuilder.create(localItemStack.getType(), 1, ((Gun)localObject1).getItem().getData(), localItemStack.getItemMeta().getDisplayName()));
  791. /* 778 */           localPlayer.getInventory().setItem(i, null);
  792. /* 779 */           localPlayer.playSound(localPlayer.getLocation(), "cs.gamesounds.droppedagun", 1.0F, 1.0F);
  793. /* 780 */           if (((Gun)localObject1).hasSnipe()) this.main.getVersionInterface().sendFakeItem(localPlayer, 5, localPlayer.getInventory().getHelmet());
  794. /* 781 */           return;
  795. /*     */         }
  796. /* 783 */         Object localObject2 = this.main.getGrenade(localItemStack);
  797. /* 784 */         if (localObject2 != null) {
  798. /* 785 */           localGame.getDrops().put(paramPlayerDropItemEvent.getItemDrop(), Integer.valueOf(1));
  799. /* 786 */           localItemStack.setAmount(1);
  800. /* 787 */           paramPlayerDropItemEvent.getItemDrop().setItemStack(ItemBuilder.create(localItemStack.getType(), 1, ((Grenade)localObject2).getItem().getData(), localItemStack.getItemMeta().getDisplayName()));
  801. /* 788 */           localPlayer.getInventory().setItem(i, null);
  802. /* 789 */           localPlayer.playSound(localPlayer.getLocation(), "cs.gamesounds.droppedagun", 1.0F, 1.0F);
  803. /* 790 */           return;
  804. /*     */         }
  805. /*     */       }
  806. /*     */      
  807. /* 794 */       Object localObject1 = localItemStack.clone();
  808. /* 795 */       paramPlayerDropItemEvent.getItemDrop().remove();
  809. /* 796 */       localPlayer.getInventory().setItem(localPlayer.getInventory().getHeldItemSlot(), (ItemStack)localObject1);
  810. /*     */     }
  811. /*     */   }
  812. /*     */  
  813. /*     */   @EventHandler
  814. /*     */   public void onSneak(PlayerToggleSneakEvent paramPlayerToggleSneakEvent) {
  815. /* 802 */     Player localPlayer = paramPlayerToggleSneakEvent.getPlayer();
  816. /* 803 */     Game localGame = this.main.getManager().getGame(localPlayer);
  817. /* 804 */     if (localGame != null) {
  818. /* 805 */       ItemStack localItemStack = localPlayer.getInventory().getItemInHand();
  819. /* 806 */       Gun localGun = this.main.getGun(localItemStack);
  820. /* 807 */       if ((localGun != null) &&
  821. /* 808 */         (localGun.hasSnipe())) {
  822. /* 809 */         if (paramPlayerToggleSneakEvent.isSneaking()) {
  823. /* 810 */           localPlayer.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 20, 1));
  824. /* 811 */           localPlayer.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, Integer.MAX_VALUE, 2));
  825. /* 812 */           this.main.getVersionInterface().sendFakeItem(localPlayer, 5, new ItemStack(Material.PUMPKIN));
  826. /*     */         } else {
  827. /* 814 */           localPlayer.removePotionEffect(PotionEffectType.SLOW);
  828. /* 815 */           localPlayer.removePotionEffect(PotionEffectType.BLINDNESS);
  829. /* 816 */           this.main.getVersionInterface().sendFakeItem(localPlayer, 5, localPlayer.getInventory().getHelmet());
  830. /*     */         }
  831. /*     */       }
  832. /*     */     }
  833. /*     */   }
  834. /*     */  
  835. /*     */   @EventHandler(priority=EventPriority.MONITOR)
  836. /*     */   public void onInteract(PlayerInteractAtEntityEvent paramPlayerInteractAtEntityEvent)
  837. /*     */   {
  838. /* 825 */     Player localPlayer = paramPlayerInteractAtEntityEvent.getPlayer();
  839. /* 826 */     ItemStack localItemStack = localPlayer.getInventory().getItemInHand();
  840. /* 827 */     Game localGame = this.main.getManager().getGame(localPlayer);
  841. /* 828 */     if ((localGame != null) && (localItemStack != null) && (localItemStack.getType() != Material.AIR)) {
  842. /* 829 */       paramPlayerInteractAtEntityEvent.setCancelled(true);
  843. /* 830 */       if (((localItemStack.getType() == Material.SHEARS) || (localItemStack.getType() == Material.GOLD_NUGGET)) && (paramPlayerInteractAtEntityEvent.getRightClicked().getType() == EntityType.valueOf("ARMOR_STAND")) &&
  844. /* 831 */         (this.main.getManager().getTeam(localGame, GameTeam.Role.COUNTERTERRORIST).getPlayers().contains(localPlayer)) &&
  845. /* 832 */         (!localGame.isDefusing(localPlayer)) && (localPlayer.getLocation().distance(localGame.getBomb().getLocation()) <= 2.0D)) {
  846. /* 833 */         localGame.addDefuser(localPlayer, localItemStack.getType() == Material.SHEARS ? 5 : 10);
  847. /* 834 */         localPlayer.playSound(localPlayer.getLocation(), SpigotSound.LEVEL_UP.getSound(), 1.0F, 1.0F);
  848. /*     */       }
  849. /*     */      
  850. /*     */
  851. /* 838 */       Gun localGun = this.main.getGun(localItemStack);
  852. /* 839 */       if ((localGun != null) && (!localGame.isDefusing(localPlayer)) && (localGame.getState() == GameState.IN_GAME)) {
  853. /* 840 */         localGun.shot(localGame, localPlayer);
  854. /*     */       }
  855. /*     */     }
  856. /*     */   }
  857. /*     */  
  858. /*     */   @EventHandler
  859. /*     */   public void onPsyhics(BlockPhysicsEvent paramBlockPhysicsEvent) {
  860. /* 847 */     if (paramBlockPhysicsEvent.getBlock().getType() == Material.CROPS) {
  861. /* 848 */       paramBlockPhysicsEvent.setCancelled(true);
  862. /*     */     }
  863. /*     */   }
  864. /*     */  
  865. /*     */   @EventHandler
  866. /*     */   public void onResourcePack(PlayerResourcePackStatusEvent paramPlayerResourcePackStatusEvent) {
  867. /* 854 */     if (this.main.canForceTexture()) {
  868. /* 855 */       Player localPlayer = paramPlayerResourcePackStatusEvent.getPlayer();
  869. /* 856 */       if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.DECLINED) {
  870. /* 857 */         localPlayer.sendMessage(Messages.TEXTURE_DECLINED.toString());
  871. /* 858 */         if (this.main.getManager().isBungeeMode()) {
  872. /* 859 */           this.main.getServer().getPluginManager().callEvent(new GameLeaveEvent(localPlayer));
  873. /*     */         }
  874. /*     */       }
  875. /* 862 */       if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.ACCEPTED) {
  876. /* 863 */         localPlayer.sendMessage(Messages.TEXTURE_ACCEPTED.toString());
  877. /*     */       }
  878. /* 865 */       if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.FAILED_DOWNLOAD) {
  879. /* 866 */         localPlayer.sendMessage(Messages.TEXTURE_FAILED.toString());
  880. /* 867 */         if (this.main.getManager().isBungeeMode()) {
  881. /* 868 */           this.main.getServer().getPluginManager().callEvent(new GameLeaveEvent(localPlayer));
  882. /*     */         }
  883. /*     */       }
  884. /* 871 */       if (paramPlayerResourcePackStatusEvent.getStatus() == PlayerResourcePackStatusEvent.Status.SUCCESSFULLY_LOADED) {
  885. /* 872 */         localPlayer.sendMessage(Messages.TEXTURE_LOADED.toString());
  886. /* 873 */         this.main.getTextureUsers().add(localPlayer.getUniqueId());
  887. /*     */       }
  888. /*     */     }
  889. /*     */   }
  890. /*     */  
  891. /*     */   @EventHandler
  892. /*     */   public void onSignPlace(SignChangeEvent paramSignChangeEvent) {
  893. /* 880 */     Player localPlayer = paramSignChangeEvent.getPlayer();
  894. /* 881 */     if ((paramSignChangeEvent.getLine(0).equals("[CounterStrike]")) && (localPlayer.hasPermission("cs.sign"))) {
  895. /*     */       try {
  896. /* 883 */         int i = Integer.valueOf(paramSignChangeEvent.getLine(1)).intValue();
  897. /* 884 */         localObject1 = this.main.getManager().getGame(i);
  898. /* 885 */         if (localObject1 != null) {
  899. /* 886 */           localLocation = paramSignChangeEvent.getBlock().getLocation();
  900. /* 887 */           ((Game)localObject1).getSigns().add(localLocation);
  901. /* 888 */           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()));
  902. /* 889 */           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()));
  903. /* 890 */           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()));
  904. /* 891 */           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()));
  905. /* 892 */           localObject2 = this.main.getGameDatabase().getStringList("Signs");
  906. /* 893 */           ((List)localObject2).add(i + "," + localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," + localLocation.getBlockY() + "," + localLocation.getBlockZ());
  907. /* 894 */           this.main.getGameDatabase().set("Signs", localObject2);
  908. /* 895 */           this.main.saveGameDatabase();
  909. /* 896 */           localPlayer.sendMessage(Messages.PREFIX + " §aSign created succefully!");
  910. /*     */         } else {
  911. /* 898 */           paramSignChangeEvent.setCancelled(true);
  912. /* 899 */           localPlayer.sendMessage(Messages.PREFIX + " §cThe game dosen't exist!");
  913. /*     */         } } catch (Exception localException) { Location localLocation;
  914. /*     */         Object localObject2;
  915. /* 902 */         Object localObject1 = paramSignChangeEvent.getLine(1);
  916. /* 903 */         if ((localObject1 != null) && (((String)localObject1).equalsIgnoreCase("QuickJoin"))) {
  917. /* 904 */           localLocation = paramSignChangeEvent.getBlock().getLocation();
  918. /* 905 */           paramSignChangeEvent.setLine(0, Messages.PREFIX.toString());
  919. /* 906 */           paramSignChangeEvent.setLine(1, "§5• §0" + Messages.SIGN_QUICKJOIN.toString() + " §5•");
  920. /* 907 */           localObject2 = localLocation.getWorld().getName() + "," + localLocation.getBlockX() + "," + localLocation.getBlockY() + "," + localLocation.getBlockZ();
  921. /* 908 */           List localList = this.main.getGameDatabase().getStringList("QuickJoinSigns");
  922. /* 909 */           localList.add(localObject2);
  923. /* 910 */           this.main.getGameDatabase().set("QuickJoinSigns", localList);
  924. /* 911 */           this.main.saveGameDatabase();
  925. /* 912 */           this.main.getManager().getQuickJoinSigns().add(localLocation);
  926. /* 913 */           localPlayer.sendMessage(Messages.PREFIX + " §aQuick-Sign created succefully!");
  927. /*     */         } else {
  928. /* 915 */           localPlayer.sendMessage(Messages.PREFIX + " §cGame ID invalid!");
  929. /*     */         }
  930. /* 917 */         return;
  931. /*     */       }
  932. /*     */     }
  933. /*     */   }
  934. /*     */ }
  935.  
  936.  
  937. /* Location:              D:\Games\Minecraft\CounterStrike-1.19.jar!\ro\Fr33styler\CounterStrike\Handler\GameListener.class
  938.  * Java compiler version: 8 (52.0)
  939.  * JD-Core Version:       0.7.1
  940.  */
Advertisement
Add Comment
Please, Sign In to add comment