diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java index c33335dc4..61a89a1e5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java @@ -62,28 +62,34 @@ import nautilus.game.arcade.stats.BlockShreadStatTracker; import nautilus.game.arcade.stats.TheComebackStatTracker; import net.minecraft.server.v1_8_R3.EntityArrow; -public class TurfForts extends TeamGame { - public static class ShredBlockEvent extends BlockEvent { +public class TurfForts extends TeamGame +{ + public static class ShredBlockEvent extends BlockEvent + { private static final HandlerList handlers = new HandlerList(); - public static HandlerList getHandlerList() { + public static HandlerList getHandlerList() + { return handlers; } @Override - public HandlerList getHandlers() { + public HandlerList getHandlers() + { return getHandlerList(); } private final Arrow _arrow; - public ShredBlockEvent(Block theBlock, Arrow arrow) { + public ShredBlockEvent(Block theBlock, Arrow arrow) + { super(theBlock); _arrow = arrow; } - public Arrow getArrow() { + public Arrow getArrow() + { return _arrow; } } @@ -104,18 +110,29 @@ public class TurfForts extends TeamGame { private long _fightTime = 90000; private boolean _fight = false; private int _lines = 0; - + private HashMap _enemyTurf = new HashMap(); - + private Set playersThatNeedBlocks = new HashSet(); - - public TurfForts(ArcadeManager manager) { + + public TurfForts(ArcadeManager manager) + { super(manager, GameType.TurfWars, - new Kit[] { new KitMarksman(manager), new KitInfiltrator(manager), new KitShredder(manager), }, + new Kit[] + { + new KitMarksman(manager), + new KitInfiltrator(manager), + new KitShredder(manager), + }, - new String[] { "You have 30 seconds to build your Fort!", "", "Each kill advances your turf forwards.", - "Take over all the turf to win!" }); + new String[] + { + "You have 30 seconds to build your Fort!", + "", + "Each kill advances your turf forwards.", + "Take over all the turf to win!" + }); this.StrictAntiHack = true; this.HungerSet = 20; @@ -127,12 +144,16 @@ public class TurfForts extends TeamGame { this.DamageSelf = false; this.DeathSpectateSecs = 4; - registerStatTrackers(new BlockShreadStatTracker(this), new BehindEnemyLinesStatTracker(this), - new TheComebackStatTracker(this)); + registerStatTrackers( + new BlockShreadStatTracker(this), + new BehindEnemyLinesStatTracker(this), + new TheComebackStatTracker(this) + ); } @Override - public void ParseData() { + public void ParseData() + { _turf = WorldData.GetDataLocs("YELLOW"); _red = WorldData.GetDataLocs("RED").get(0); @@ -141,18 +162,15 @@ public class TurfForts extends TeamGame { _blue = WorldData.GetDataLocs("BLUE").get(0); _blueBase = WorldData.GetDataLocs("LIGHT_BLUE").get(0); - if (_red.getBlockX() > _blue.getBlockX()) - xRed = 1; - else if (_red.getBlockX() < _blue.getBlockX()) - xRed = -1; + if (_red.getBlockX() > _blue.getBlockX()) xRed = 1; + else if (_red.getBlockX() < _blue.getBlockX()) xRed = -1; - if (_red.getBlockZ() > _blue.getBlockZ()) - zRed = 1; - else if (_red.getBlockZ() < _blue.getBlockZ()) - zRed = -1; + if (_red.getBlockZ() > _blue.getBlockZ()) zRed = 1; + else if (_red.getBlockZ() < _blue.getBlockZ()) zRed = -1; - // Color Turf - for (Location loc : _turf) { + //Color Turf + for (Location loc : _turf) + { if (UtilMath.offset(loc, _red) < UtilMath.offset(loc, _blue)) MapUtil.QuickChangeBlockAt(loc, 159, (byte) 14); else @@ -161,7 +179,8 @@ public class TurfForts extends TeamGame { } @EventHandler - public void PlayerKillAward(CombatDeathEvent event) { + public void PlayerKillAward(CombatDeathEvent event) + { if (!(event.GetEvent().getEntity() instanceof Player)) return; @@ -183,19 +202,26 @@ public class TurfForts extends TeamGame { if (GetTeam(killer).equals(GetTeam(killed))) return; - if (GetTeam(killer).GetColor() == ChatColor.RED) { + if (GetTeam(killer).GetColor() == ChatColor.RED) + { TurfMove(true); - } else { + } + else + { TurfMove(false); } } - private void TurfMove(boolean red) { - for (int line = 0; line < GetLinesPerKill(); line++) { - if (red) { + private void TurfMove(boolean red) + { + for (int line = 0; line < GetLinesPerKill(); line++) + { + if (red) + { if (xRed != 0) for (Location loc : _turf) - if (loc.getBlockX() == _blue.getBlockX()) { + if (loc.getBlockX() == _blue.getBlockX()) + { MapUtil.QuickChangeBlockAt(loc, 159, (byte) 14); for (int i = 1; i < 6; i++) @@ -203,9 +229,11 @@ public class TurfForts extends TeamGame { MapUtil.QuickChangeBlockAt(loc.clone().add(0, i, 0), 0, (byte) 0); } + if (zRed != 0) for (Location loc : _turf) - if (loc.getBlockZ() == _blue.getBlockZ()) { + if (loc.getBlockZ() == _blue.getBlockZ()) + { MapUtil.QuickChangeBlockAt(loc, 159, (byte) 14); for (int i = 1; i < 6; i++) @@ -215,10 +243,13 @@ public class TurfForts extends TeamGame { _red.subtract(xRed, 0, zRed); _blue.subtract(xRed, 0, zRed); - } else { + } + else + { if (xRed != 0) for (Location loc : _turf) - if (loc.getBlockX() == _red.getBlockX()) { + if (loc.getBlockX() == _red.getBlockX()) + { MapUtil.QuickChangeBlockAt(loc, 159, (byte) 3); for (int i = 1; i < 6; i++) @@ -228,7 +259,8 @@ public class TurfForts extends TeamGame { if (zRed != 0) for (Location loc : _turf) - if (loc.getBlockZ() == _red.getBlockZ()) { + if (loc.getBlockZ() == _red.getBlockZ()) + { MapUtil.QuickChangeBlockAt(loc, 159, (byte) 3); for (int i = 1; i < 6; i++) @@ -243,84 +275,94 @@ public class TurfForts extends TeamGame { EndCheck(); } } - + @EventHandler - public void BowCancel(EntityShootBowEvent event) { - if (!_fight) { + public void BowCancel(EntityShootBowEvent event) + { + if (!_fight) + { UtilPlayer.message(event.getEntity(), F.main("Game", "You cannot attack during Build Time!")); event.setCancelled(true); - + ((Player) event.getEntity()).updateInventory(); } } @EventHandler - public void BlockBreak(BlockBreakEvent event) { - if (event.isCancelled()) // this statement might save just a small - // amount of time + public void BlockBreak(BlockBreakEvent event) + { + if (event.isCancelled()) // this statement might save just a small amount of time return; - - if (!IsAlive(event.getPlayer())) { + + + + if (!IsAlive(event.getPlayer())) + { event.setCancelled(true); return; } - if (UtilPlayer.isSpectator(event.getPlayer())) { + if (UtilPlayer.isSpectator(event.getPlayer())) + { event.setCancelled(true); return; } - + Block block = event.getBlock(); - + GameTeam team = GetTeam(event.getPlayer()); GameTeam otherTeam = GetOtherTeam(team); - if (block.getType().equals(Material.WOOL) && (block.getData() == 14 && team.GetColor() != ChatColor.RED) - || (block.getData() == 3 && team.GetColor() != ChatColor.AQUA)) { - UtilPlayer.message(event.getPlayer(), F.main("Game", - "You cannot break the " + F.elem(otherTeam.GetColor() + otherTeam.GetName()) + " team's blocks!")); + if (block.getType().equals(Material.WOOL) && (block.getData() == 14 && team.GetColor() != ChatColor.RED) || (block.getData() == 3 && team.GetColor() != ChatColor.AQUA)) + { + UtilPlayer.message(event.getPlayer(), F.main("Game", "You cannot break the " + F.elem(otherTeam.GetColor() + otherTeam.GetName()) + " team's blocks!")); event.setCancelled(true); return; } } @EventHandler(ignoreCancelled = true) - public void BlockPlace(BlockPlaceEvent event) { - // Remoeved and replaced by ignoreCancelled = true - // if (event.isCancelled()) - // return; + public void BlockPlace(BlockPlaceEvent event) + { + //Remoeved and replaced by ignoreCancelled = true + //if (event.isCancelled()) + // return; GameTeam team = GetTeam(event.getPlayer()); - if (team == null) { + if (team == null) + { event.setCancelled(true); return; } - if (!IsAlive(event.getPlayer())) { + if (!IsAlive(event.getPlayer())) + { event.setCancelled(true); return; } - if (UtilPlayer.isSpectator(event.getPlayer())) { + if (UtilPlayer.isSpectator(event.getPlayer())) + { event.setCancelled(true); return; } - - // On Own + + //On Own Block block = event.getBlock().getRelative(BlockFace.DOWN); while (block.getTypeId() == 0) block = block.getRelative(BlockFace.DOWN); - if (block.getData() != team.GetColorData()) { - UtilPlayer.message(event.getPlayer(), - F.main("Game", "You can only build above " + F.elem(team.GetColor() + team.GetName()) + ".")); + if (block.getData() != team.GetColorData()) + { + UtilPlayer.message(event.getPlayer(), F.main("Game", "You can only build above " + F.elem(team.GetColor() + team.GetName()) + ".")); event.setCancelled(true); return; } - // Height + //Height boolean aboveTurf = false; - for (int i = 1; i <= 5; i++) { + for (int i = 1; i <= 5; i++) + { if (event.getBlock().getRelative(BlockFace.DOWN, i).getTypeId() != 159) continue; @@ -328,7 +370,8 @@ public class TurfForts extends TeamGame { break; } - if (!aboveTurf) { + if (!aboveTurf) + { UtilPlayer.message(event.getPlayer(), F.main("Game", "You cannot build this high above Turf.")); event.setCancelled(true); return; @@ -336,7 +379,8 @@ public class TurfForts extends TeamGame { } @EventHandler - public void BlockDamage(ProjectileHitEvent event) { + public void BlockDamage(ProjectileHitEvent event) + { if (event.getEntity().getShooter() == null) return; @@ -353,9 +397,12 @@ public class TurfForts extends TeamGame { final Arrow arrow = (Arrow) event.getEntity(); - Manager.getPlugin().getServer().getScheduler().scheduleSyncDelayedTask(Manager.getPlugin(), new Runnable() { - public void run() { - try { + Manager.getPlugin().getServer().getScheduler().scheduleSyncDelayedTask(Manager.getPlugin(), new Runnable() + { + public void run() + { + try + { EntityArrow entityArrow = ((CraftArrow) arrow).getHandle(); Field fieldX = EntityArrow.class.getDeclaredField("d"); @@ -371,29 +418,28 @@ public class TurfForts extends TeamGame { int z = fieldZ.getInt(entityArrow); Block block = arrow.getWorld().getBlockAt(x, y, z); - - if (block.getTypeId() == 35) { - if (block.getData() == 14 /* - * && team.GetColor() != - * ChatColor.RED - */) { - block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, - Material.REDSTONE_BLOCK.getId()); - } else if (block.getData() == 3 /* - * && team.GetColor() != - * ChatColor.AQUA - */) { - block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, - Material.LAPIS_BLOCK.getId()); + + if (block.getTypeId() == 35) + { + if (block.getData() == 14 /* && team.GetColor() != ChatColor.RED */) + { + block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.REDSTONE_BLOCK.getId()); } - + else if (block.getData() == 3 /* && team.GetColor() != ChatColor.AQUA */) + { + block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.LAPIS_BLOCK.getId()); + } + Bukkit.getPluginManager().callEvent(new ShredBlockEvent(block, arrow)); - + + block.setType(Material.AIR); } arrow.remove(); - } catch (Exception e) { + } + catch (Exception e) + { e.printStackTrace(); } } @@ -401,51 +447,64 @@ public class TurfForts extends TeamGame { } @EventHandler - public void Damage(CustomDamageEvent event) { - if (event.GetCause() == DamageCause.FALL) { + public void Damage(CustomDamageEvent event) + { + if (event.GetCause() == DamageCause.FALL) + { event.SetCancelled("No Fall"); return; } - if (!_fight && (event.GetCause() == DamageCause.PROJECTILE || event.GetCause() == DamageCause.ENTITY_ATTACK)) { + if (!_fight && (event.GetCause() == DamageCause.PROJECTILE || event.GetCause() == DamageCause.ENTITY_ATTACK)) + { event.SetCancelled("Build Time"); return; } Player damager = event.GetDamagerPlayer(true); - if (damager == null) - return; + if (damager == null) return; - if (event.GetCause() == DamageCause.PROJECTILE) { + if (event.GetCause() == DamageCause.PROJECTILE) + { event.AddMod("Turf Forts", "Nullify", -event.GetDamageInitial(), false); - if (GetKit(damager).GetName().contains("Shredder")) { + if (GetKit(damager).GetName().contains("Shredder")) + { event.SetCancelled("Shredder"); - Manager.GetDamage().NewDamageEvent(event.GetDamageeEntity(), damager, null, DamageCause.CUSTOM, 9, true, - true, false, damager.getName(), "Barrage"); + Manager.GetDamage().NewDamageEvent(event.GetDamageeEntity(), damager, null, + DamageCause.CUSTOM, 9, true, true, false, + damager.getName(), "Barrage"); return; - } else { + } + else + { event.AddMod("Turf Forts", "One Hit Kill", 30, false); } - } else if (event.GetCause() == DamageCause.ENTITY_ATTACK) { + } + else if (event.GetCause() == DamageCause.ENTITY_ATTACK) + { event.AddMod("Turf Forts", "Nullify", -event.GetDamageInitial(), false); - if (UtilGear.isMat(damager.getItemInHand(), Material.IRON_SWORD)) { + if (UtilGear.isMat(damager.getItemInHand(), Material.IRON_SWORD)) + { event.AddMod("Turf Forts", "One Hit Kill", 12, false); - } else { + } + else + { event.AddMod("Turf Forts", "One Hit Kill", 6, false); } } } @EventHandler - public void ScoreboardTitle(UpdateEvent event) { + public void ScoreboardTitle(UpdateEvent event) + { if (GetState() != GameState.Live) return; - // 2x Initial Build + //2x Initial Build if (_phaseTime == 0) _phaseTime = System.currentTimeMillis() + _buildTime; @@ -453,42 +512,48 @@ public class TurfForts extends TeamGame { return; long time; - if (!_fight) { + if (!_fight) + { time = _buildTime - (System.currentTimeMillis() - _phaseTime); - if (time <= 0) { + if (time <= 0) + { _fight = true; _lines++; Announce(" "); - Announce(C.cWhite + C.Bold + "1 Kill" + C.cWhite + C.Bold + " = " + C.cWhite + C.Bold - + GetLinesPerKill() + " Turf Lines"); - Announce(C.cWhite + C.Bold + "90 Seconds of " + C.cYellow + C.Bold + "Combat Time" + C.cWhite + C.Bold - + " has begun!"); + Announce(C.cWhite + C.Bold + "1 Kill" + C.cWhite + C.Bold + " = " + C.cWhite + C.Bold + GetLinesPerKill() + " Turf Lines"); + Announce(C.cWhite + C.Bold + "90 Seconds of " + C.cYellow + C.Bold + "Combat Time" + C.cWhite + C.Bold + " has begun!"); Announce(" "); _phaseTime = System.currentTimeMillis(); } } - else { + else + { time = _fightTime - (System.currentTimeMillis() - _phaseTime); - if (time <= 0) { + if (time <= 0) + { _fight = false; Announce(" "); - Announce(C.cWhite + C.Bold + "20 Seconds of " + C.cGreen + C.Bold + "Build Time" + C.cWhite + C.Bold - + " has begun!"); + Announce(C.cWhite + C.Bold + "20 Seconds of " + C.cGreen + C.Bold + "Build Time" + C.cWhite + C.Bold + " has begun!"); Announce(" "); _phaseTime = System.currentTimeMillis(); - for (GameTeam team : GetTeamList()) { - for (Player player : team.GetPlayers(true)) { - if (UtilPlayer.isSpectator(player)) { + for (GameTeam team : GetTeamList()) + { + for (Player player : team.GetPlayers(true)) + { + if (UtilPlayer.isSpectator(player)) + { this.playersThatNeedBlocks.add(player.getUniqueId()); - } else { + } + else + { addBlocks(team, player); } } @@ -496,45 +561,52 @@ public class TurfForts extends TeamGame { } } } - - public void addBlocks(GameTeam team, Player player) { + + public void addBlocks(GameTeam team, Player player) + { player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.WOOL, team.GetColorData(), 24)); } - + @EventHandler(ignoreCancelled = true) - public void onQuit(PlayerQuitEvent event) { + public void onQuit(PlayerQuitEvent event) + { this.playersThatNeedBlocks.remove(event.getPlayer().getUniqueId()); } - + @EventHandler(ignoreCancelled = true) - public void onSpawn(PlayerKitGiveEvent event) { + public void onSpawn(PlayerKitGiveEvent event) + { Player player = event.getPlayer(); - if (this.playersThatNeedBlocks.contains(player.getUniqueId())) { + if (this.playersThatNeedBlocks.contains(player.getUniqueId())) + { this.playersThatNeedBlocks.remove(player.getUniqueId()); this.addBlocks(GetTeam(player), player); } } - + + + @Override @EventHandler - public void ScoreboardUpdate(UpdateEvent event) { + public void ScoreboardUpdate(UpdateEvent event) + { if (event.getType() != UpdateType.FAST) return; Scoreboard.Reset(); - for (GameTeam team : this.GetTeamList()) { + for (GameTeam team : this.GetTeamList()) + { int lines = 0; - if (team.GetColor() == ChatColor.RED) - lines = GetRedLines(); - else - lines = GetBlueLines(); + if (team.GetColor() == ChatColor.RED) lines = GetRedLines(); + else lines = GetBlueLines(); Scoreboard.WriteBlank(); Scoreboard.Write(lines + " " + team.GetColor() + team.GetName()); } - if (!_fight) { + if (!_fight) + { long time = _buildTime - (System.currentTimeMillis() - _phaseTime); Scoreboard.WriteBlank(); @@ -543,7 +615,8 @@ public class TurfForts extends TeamGame { } - else { + else + { long time = _fightTime - (System.currentTimeMillis() - _phaseTime); Scoreboard.WriteBlank(); @@ -554,78 +627,95 @@ public class TurfForts extends TeamGame { Scoreboard.Draw(); } - public int GetRedLines() { + public int GetRedLines() + { if (!InProgress()) return 0; - if (xRed != 0) { + if (xRed != 0) + { return Math.abs(_redBase.getBlockX() - _red.getBlockX()); } return Math.abs(_redBase.getBlockZ() - _red.getBlockZ()); } - public int GetBlueLines() { + public int GetBlueLines() + { if (!InProgress()) return 0; - if (xRed != 0) { + if (xRed != 0) + { return Math.abs(_blueBase.getBlockX() - _blue.getBlockX()); } return Math.abs(_blueBase.getBlockZ() - _blue.getBlockZ()); } - public int getLines(GameTeam team) { + public int getLines(GameTeam team) + { if (team.GetColor() == ChatColor.RED) return GetRedLines(); else return GetBlueLines(); } - public int GetLinesPerKill() { + public int GetLinesPerKill() + { return _lines; - // return Math.min(5, 1 + (int)((System.currentTimeMillis() - - // GetStateTime() - 30000) / 60000)); + //return Math.min(5, 1 + (int)((System.currentTimeMillis() - GetStateTime() - 30000) / 60000)); } @EventHandler - public void PlayerDeath(PlayerDeathEvent event) { + public void PlayerDeath(PlayerDeathEvent event) + { _enemyTurf.remove(event.getEntity()); } @EventHandler - public void Territory(UpdateEvent event) { + public void Territory(UpdateEvent event) + { if (!IsLive()) return; if (event.getType() != UpdateType.FASTER) return; - for (GameTeam team : this.GetTeamList()) { - for (Player player : team.GetPlayers(true)) { - if (((CraftPlayer) player).getHandle().spectating) - continue; - + for (GameTeam team : this.GetTeamList()) + { + for (Player player : team.GetPlayers(true)) + { + if (((CraftPlayer) player).getHandle().spectating) + continue; + Block block = player.getLocation().getBlock().getRelative(BlockFace.DOWN); + + // Apply velocity even if the player is sneaking near turf edges. + + if (block.isEmpty() && player.isOnGround()) + { + Block[] nearby = { + block.getRelative(BlockFace.NORTH), + block.getRelative(BlockFace.SOUTH), + block.getRelative(BlockFace.WEST), + block.getRelative(BlockFace.EAST), + block.getRelative(BlockFace.NORTH_EAST), + block.getRelative(BlockFace.NORTH_WEST), + block.getRelative(BlockFace.SOUTH_EAST), + block.getRelative(BlockFace.SOUTH_WEST) + }; - // Apply velocity even if the player is sneaking near turf - // edges. - - if (block.isEmpty() && player.isOnGround()) { - Block[] nearby = { block.getRelative(BlockFace.NORTH), block.getRelative(BlockFace.SOUTH), - block.getRelative(BlockFace.WEST), block.getRelative(BlockFace.EAST), - block.getRelative(BlockFace.NORTH_EAST), block.getRelative(BlockFace.NORTH_WEST), - block.getRelative(BlockFace.SOUTH_EAST), block.getRelative(BlockFace.SOUTH_WEST) }; - - for (Block near : nearby) { - if (near.getType() == Material.STAINED_CLAY || near.getType() == Material.WOOL) { + for (Block near : nearby) + { + if (near.getType() == Material.STAINED_CLAY || near.getType() == Material.WOOL) + { block = near; break; } } } - + while (block.getTypeId() != 159 && block.getY() > 0) block = block.getRelative(BlockFace.DOWN); @@ -634,21 +724,22 @@ public class TurfForts extends TeamGame { byte data = block.getData(); - // Slow - if (_enemyTurf.containsKey(player)) { + //Slow + if (_enemyTurf.containsKey(player)) + { int time = (int) ((System.currentTimeMillis() - _enemyTurf.get(player)) / 2500); if (time > 0) - Manager.GetCondition().Factory().Slow("Infiltrator Slow", player, player, 0.9, time - 1, false, - false, false, false); + Manager.GetCondition().Factory().Slow("Infiltrator Slow", player, player, 0.9, time - 1, false, false, false, false); } - // On Enemy Turf - if ((team.GetColor() == ChatColor.RED && data == 3) - || (team.GetColor() == ChatColor.AQUA && data == 14)) { + //On Enemy Turf + if ((team.GetColor() == ChatColor.RED && data == 3) || (team.GetColor() == ChatColor.AQUA && data == 14)) + { - // Infiltrate - if (_fight && GetKit(player) != null && GetKit(player).GetName().contains("Infil")) { + //Infiltrate + if (_fight && GetKit(player) != null && GetKit(player).GetName().contains("Infil")) + { if (!_enemyTurf.containsKey(player)) _enemyTurf.put(player, System.currentTimeMillis()); @@ -656,65 +747,79 @@ public class TurfForts extends TeamGame { continue; } - if (Recharge.Instance.use(player, "Territory Knockback", 2000, false, false)) { - UtilAction.velocity(player, UtilAlg.getTrajectory2d(player.getLocation(), team.GetSpawn()), 2, - false, 0, 0.8, 1, true); + if (Recharge.Instance.use(player, "Territory Knockback", 2000, false, false)) + { + UtilAction.velocity(player, UtilAlg.getTrajectory2d(player.getLocation(), team.GetSpawn()), 2, false, 0, 0.8, 1, true); player.playSound(player.getLocation(), Sound.NOTE_BASS, 2f, 1f); UtilPlayer.message(player, F.main("Game", "You cannot walk on the enemies turf!")); } - // Looks like that with 'return' if there are only two - // players, one of them will not get knockback. - // return; } - // On Own Turf - else if ((team.GetColor() == ChatColor.RED && data == 14) - || (team.GetColor() == ChatColor.AQUA && data == 3)) { + //On Own Turf + else if ((team.GetColor() == ChatColor.RED && data == 14) || (team.GetColor() == ChatColor.AQUA && data == 3)) + { _enemyTurf.remove(player); } } } } - + /* - * @EventHandler public void ItemRemoval(UpdateEvent event) { if (!IsLive()) - * return; - * - * if (event.getType() != UpdateType.FAST) return; - * - * for (Entity ent : _red.getWorld().getEntities()) { if (!(ent instanceof - * Item)) continue; - * - * if (ent.getTicksLived() > 40) ent.remove(); } } - */ + @EventHandler + public void ItemRemoval(UpdateEvent event) + { + if (!IsLive()) + return; + if (event.getType() != UpdateType.FAST) + return; + + for (Entity ent : _red.getWorld().getEntities()) + { + if (!(ent instanceof Item)) + continue; + + if (ent.getTicksLived() > 40) + ent.remove(); + } + } + */ + + public GameTeam GetOtherTeam(GameTeam team) { return team.GetColor() == ChatColor.RED ? GetTeam(ChatColor.AQUA) : GetTeam(ChatColor.RED); } - + @EventHandler public void onItem(ItemSpawnEvent e) { if (e.getEntityType().equals(EntityType.DROPPED_ITEM)) { e.setCancelled(true); } } - + @Override - public void EndCheck() { + public void EndCheck() + { if (!IsLive()) return; - if (GetRedLines() == 0 || GetTeam(ChatColor.RED).GetPlayers(true).size() == 0) { + if (GetRedLines() == 0 || GetTeam(ChatColor.RED).GetPlayers(true).size() == 0) + { AnnounceEnd(GetTeam(ChatColor.AQUA)); - } else if (GetBlueLines() == 0 || GetTeam(ChatColor.AQUA).GetPlayers(true).size() == 0) { + } + else if (GetBlueLines() == 0 || GetTeam(ChatColor.AQUA).GetPlayers(true).size() == 0) + { AnnounceEnd(GetTeam(ChatColor.RED)); - } else + } + else return; - for (GameTeam team : GetTeamList()) { - if (WinnerTeam != null && team.equals(WinnerTeam)) { + for (GameTeam team : GetTeamList()) + { + if (WinnerTeam != null && team.equals(WinnerTeam)) + { for (Player player : team.GetPlayers(false)) AddGems(player, 10, "Winning Team", false, false); } @@ -723,26 +828,29 @@ public class TurfForts extends TeamGame { if (player.isOnline()) AddGems(player, 10, "Participation", false, false); } - - // End + + //End SetState(GameState.End); } - public Long getEnemyTurfEntranceTime(Player player) { + public Long getEnemyTurfEntranceTime(Player player) + { return _enemyTurf.get(player); } - + // Keep ladders placed on ice when block updates occur. - + @EventHandler - public void onBlockPhysics(BlockPhysicsEvent event) { + public void onBlockPhysics(BlockPhysicsEvent event) + { if (!IsLive()) return; - + Block block = event.getBlock(); - - if (block.getType() == Material.LADDER) { + + if (block.getType() == Material.LADDER) + { event.setCancelled(true); } } -} +} \ No newline at end of file