From 82644002c51db7bf5ad252b0fea0c2968087efa8 Mon Sep 17 00:00:00 2001 From: Chiss Date: Thu, 13 Mar 2014 16:32:48 +1100 Subject: [PATCH 1/2] A little bit o dem ol bug fixles. yknow what im sayin? --- .../core/creature/command/MobCommand.java | 2 +- .../core/message/Commands/MessageCommand.java | 2 +- .../nautilus/game/arcade/ArcadeManager.java | 2 ++ .../arcade/game/games/hideseek/HideSeek.java | 3 ++ .../game/games/hungergames/HungerGames.java | 8 ++++- .../game/games/paintball/Paintball.java | 10 ++++++ .../game/games/paintball/PlayerCopy.java | 2 ++ .../game/games/quiver/kits/KitBrawler.java | 14 ++++++++ .../games/quiver/kits/KitElementalist.java | 14 ++++++++ .../game/games/quiver/kits/KitLeaper.java | 14 ++++++++ .../arcade/game/games/sheep/SheepGame.java | 2 +- .../games/turfforts/kits/KitInfiltrator.java | 14 ++++++++ .../games/turfforts/kits/KitMarksman.java | 35 +++++++++++++------ .../games/turfforts/kits/KitShredder.java | 35 +++++++++++++------ .../game/arcade/kit/perks/PerkAxeThrower.java | 2 +- .../game/arcade/kit/perks/PerkBarrage.java | 2 +- .../game/arcade/kit/perks/PerkDisruptor.java | 3 ++ .../game/arcade/kit/perks/PerkPigZombie.java | 5 +++ .../game/arcade/kit/perks/PerkTNTArrow.java | 3 ++ 19 files changed, 144 insertions(+), 28 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/creature/command/MobCommand.java b/Plugins/Mineplex.Core/src/mineplex/core/creature/command/MobCommand.java index f62112bf9..4a1cc4dea 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/creature/command/MobCommand.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/creature/command/MobCommand.java @@ -29,7 +29,7 @@ public class MobCommand extends MultiCommandBase { public MobCommand(Creature plugin) { - super(plugin, Rank.MODERATOR, "mob"); + super(plugin, Rank.ADMIN, "mob"); AddCommand(new KillCommand(Plugin)); } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/message/Commands/MessageCommand.java b/Plugins/Mineplex.Core/src/mineplex/core/message/Commands/MessageCommand.java index 76c199fdd..e268096d7 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/message/Commands/MessageCommand.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/message/Commands/MessageCommand.java @@ -12,7 +12,7 @@ public class MessageCommand extends CommandBase { public MessageCommand(MessageManager plugin) { - super(plugin, Rank.ALL, "m","msg","message","tell","t","w","whisper"); + super(plugin, Rank.ALL, "m","msg","message","tell","t","w","whisper","MSG"); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java index a5da535e9..ec52c54c0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java @@ -485,6 +485,8 @@ public class ArcadeManager extends MiniPlugin implements IRelation ((CraftEntity)player).getHandle().getDataWatcher().watch(0, Byte.valueOf((byte) 0)); + player.setSprinting(false); + player.setFoodLevel(20); player.setSaturation(3f); player.setExhaustion(0f); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java index 694f1ef77..0a6bab9c7 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java @@ -755,6 +755,9 @@ public class HideSeek extends TeamGame if (!UtilGear.isMat(player.getItemInHand(), Material.FIREWORK)) return; + + if (UtilBlock.usable(event.getClickedBlock())) + return; if (!Recharge.Instance.use(player, "Firework", 15000, true)) { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hungergames/HungerGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hungergames/HungerGames.java index 1f1a90623..58d436938 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hungergames/HungerGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hungergames/HungerGames.java @@ -1284,8 +1284,14 @@ public class HungerGames extends SoloGame { if (!event.getMessage().equalsIgnoreCase("/dm")) return; - + event.setCancelled(true); + + if (!IsAlive(event.getPlayer())) + { + UtilPlayer.message(event.getPlayer(), F.main("Game", "You are not in the game.")); + return; + } if (!IsLive()) { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java index 1c8a09586..a1722c3f9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java @@ -25,6 +25,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.entity.EntityRegainHealthEvent; import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; import org.bukkit.event.entity.ProjectileHitEvent; +import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerTeleportEvent; @@ -74,6 +75,8 @@ public class Paintball extends TeamGame "Revive/heal with Water Bombs", "Last team alive wins!" }); + + this.HungerSet = 20; } @EventHandler @@ -430,4 +433,11 @@ public class Paintball extends TeamGame stack.setItemMeta(meta); } } + + @EventHandler + public void InventoryClick(InventoryClickEvent event) + { + event.setCancelled(true); + event.getWhoClicked().closeInventory(); + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/PlayerCopy.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/PlayerCopy.java index 64dad8cbd..213e30650 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/PlayerCopy.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/PlayerCopy.java @@ -27,6 +27,8 @@ public class PlayerCopy _ent = owner.getWorld().spawn(owner.getLocation(), Skeleton.class); Host.CreatureAllowOverride = false; + UtilEnt.ghost(_ent, true, false); + UtilEnt.Vegetate(_ent); //Armor diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitBrawler.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitBrawler.java index cb915c59d..b97e3f0dc 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitBrawler.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitBrawler.java @@ -6,6 +6,8 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import mineplex.core.common.util.F; +import mineplex.core.common.util.UtilInv; +import mineplex.core.common.util.UtilServer; import mineplex.core.itemstack.ItemStackFactory; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.game.Game.GameState; @@ -41,6 +43,18 @@ public class KitBrawler extends Kit player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW)); if (Manager.GetGame().GetState() == GameState.Live) + { player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(262, (byte)1, 1, F.item("Super Arrow"))); + + final Player fPlayer = player; + + UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.GetPlugin(), new Runnable() + { + public void run() + { + UtilInv.Update(fPlayer); + } + }, 10); + } } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitElementalist.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitElementalist.java index 33076b16e..9de11409c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitElementalist.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitElementalist.java @@ -6,6 +6,8 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import mineplex.core.common.util.F; +import mineplex.core.common.util.UtilInv; +import mineplex.core.common.util.UtilServer; import mineplex.core.itemstack.ItemStackFactory; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.game.Game.GameState; @@ -41,6 +43,18 @@ public class KitElementalist extends Kit player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW)); if (Manager.GetGame().GetState() == GameState.Live) + { player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(262, (byte)1, 1, F.item("Super Arrow"))); + + final Player fPlayer = player; + + UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.GetPlugin(), new Runnable() + { + public void run() + { + UtilInv.Update(fPlayer); + } + }, 10); + } } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitLeaper.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitLeaper.java index 9f13552b9..50d3c5a24 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitLeaper.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/kits/KitLeaper.java @@ -6,6 +6,8 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import mineplex.core.common.util.F; +import mineplex.core.common.util.UtilInv; +import mineplex.core.common.util.UtilServer; import mineplex.core.itemstack.ItemStackFactory; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.game.Game.GameState; @@ -41,6 +43,18 @@ public class KitLeaper extends Kit player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW)); if (Manager.GetGame().GetState() == GameState.Live) + { player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(262, (byte)1, 1, F.item("Super Arrow"))); + + final Player fPlayer = player; + + UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.GetPlugin(), new Runnable() + { + public void run() + { + UtilInv.Update(fPlayer); + } + }, 10); + } } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java index 99ba04d28..3976535e9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java @@ -101,7 +101,7 @@ public class SheepGame extends TeamGame "Return Sheep to your Team Pen!", "Most sheep at 5 minutes wins!" }); - + this.DeathOut = false; this.DeathSpectateSecs = 8; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitInfiltrator.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitInfiltrator.java index 98cf43420..4a601323e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitInfiltrator.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitInfiltrator.java @@ -5,6 +5,8 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import mineplex.core.common.util.UtilInv; +import mineplex.core.common.util.UtilServer; import mineplex.core.itemstack.ItemStackFactory; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.kit.Kit; @@ -44,5 +46,17 @@ public class KitInfiltrator extends Kit amount = 48; player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.WOOL, Manager.GetGame().GetTeam(player).GetColorData(), amount)); + + + //Update + final Player fPlayer = player; + + UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.GetPlugin(), new Runnable() + { + public void run() + { + UtilInv.Update(fPlayer); + } + }, 10); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitMarksman.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitMarksman.java index 6fed1155b..3964294f1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitMarksman.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitMarksman.java @@ -5,6 +5,8 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import mineplex.core.common.util.UtilInv; +import mineplex.core.common.util.UtilServer; import mineplex.core.itemstack.ItemStackFactory; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.kit.Kit; @@ -19,17 +21,17 @@ public class KitMarksman extends Kit { super(manager, "Marksman", KitAvailability.Free, new String[] - { - "Unrivaled in archery. One hit kills anyone." - }, - new Perk[] - { + { + "Unrivaled in archery. One hit kills anyone." + }, + new Perk[] + { new PerkConstructor("Constructor", 4, 8, Material.WOOL, "Wool", false), new PerkFletcher(2, 2, false), - - }, - EntityType.ZOMBIE, - new ItemStack(Material.BOW)); + + }, + EntityType.ZOMBIE, + new ItemStack(Material.BOW)); } @@ -37,11 +39,22 @@ public class KitMarksman extends Kit public void GiveItems(Player player) { player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW)); - + int amount = 4; if (!Manager.GetGame().IsLive()) amount = 48; - + player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.WOOL, Manager.GetGame().GetTeam(player).GetColorData(), amount)); + + //Update + final Player fPlayer = player; + + UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.GetPlugin(), new Runnable() + { + public void run() + { + UtilInv.Update(fPlayer); + } + }, 10); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitShredder.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitShredder.java index 6ae0077fb..a06f57d48 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitShredder.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/kits/KitShredder.java @@ -5,6 +5,8 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import mineplex.core.common.util.UtilInv; +import mineplex.core.common.util.UtilServer; import mineplex.core.itemstack.ItemStackFactory; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.kit.Kit; @@ -20,29 +22,40 @@ public class KitShredder extends Kit { super(manager, "Shredder", KitAvailability.Blue, new String[] - { - "Arrows are weaker, but shred through forts." - }, - new Perk[] - { + { + "Arrows are weaker, but shred through forts." + }, + new Perk[] + { new PerkConstructor("Constructor", 4, 6, Material.WOOL, "Wool", false), new PerkFletcher(4, 2, false), new PerkBarrage(5, 250, false, false), - }, - EntityType.ZOMBIE, - new ItemStack(Material.BOW)); + }, + EntityType.ZOMBIE, + new ItemStack(Material.BOW)); } - + @Override public void GiveItems(Player player) { player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW)); - + int amount = 4; if (!Manager.GetGame().IsLive()) amount = 48; - + player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.WOOL, Manager.GetGame().GetTeam(player).GetColorData(), amount)); + + //Update + final Player fPlayer = player; + + UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.GetPlugin(), new Runnable() + { + public void run() + { + UtilInv.Update(fPlayer); + } + }, 10); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkAxeThrower.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkAxeThrower.java index 6a8a36353..b9db57008 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkAxeThrower.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkAxeThrower.java @@ -57,7 +57,7 @@ public class PerkAxeThrower extends Perk implements IThrown org.bukkit.entity.Item ent = player.getWorld().dropItem(player.getEyeLocation(), ItemStackFactory.Instance.CreateStack(player.getItemInHand().getType())); UtilAction.velocity(ent, player.getLocation().getDirection(), 1.2, false, 0, 0.2, 10, false); - Manager.GetProjectile().AddThrow(ent, player, this, -1, true, true, true, false, 1d); + Manager.GetProjectile().AddThrow(ent, player, this, -1, true, true, true, false, 2d); //Remove Axe player.setItemInHand(null); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBarrage.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBarrage.java index d3848560a..913f9d347 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBarrage.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBarrage.java @@ -56,7 +56,7 @@ public class PerkBarrage extends Perk @EventHandler public void BarrageDrawBow(PlayerInteractEvent event) - { + { Player player = event.getPlayer(); if (event.getAction() != Action.RIGHT_CLICK_AIR && event.getAction() != Action.RIGHT_CLICK_BLOCK) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkDisruptor.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkDisruptor.java index 591b26382..243525078 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkDisruptor.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkDisruptor.java @@ -110,6 +110,9 @@ public class PerkDisruptor extends Perk event.setCancelled(true); + if (!Manager.GetGame().IsAlive(event.getPlayer())) + return; + if (event.getItem().getTicksLived() < 40) return; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkPigZombie.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkPigZombie.java index 6eacae58e..f1f0552a1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkPigZombie.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkPigZombie.java @@ -60,6 +60,11 @@ public class PerkPigZombie extends Perk player.getInventory().setLeggings(ItemStackFactory.Instance.CreateStack(Material.CHAINMAIL_LEGGINGS)); player.getInventory().setBoots(ItemStackFactory.Instance.CreateStack(Material.CHAINMAIL_BOOTS)); + player.getInventory().remove(Material.DIAMOND_HELMET); + player.getInventory().remove(Material.DIAMOND_CHESTPLATE); + player.getInventory().remove(Material.DIAMOND_LEGGINGS); + player.getInventory().remove(Material.DIAMOND_BOOTS); + //Disguise DisguisePig disguise = new DisguisePig(player); disguise.SetName(C.cYellow + player.getName()); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkTNTArrow.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkTNTArrow.java index 856526c1b..89099802c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkTNTArrow.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkTNTArrow.java @@ -37,6 +37,9 @@ public class PerkTNTArrow extends Perk @EventHandler public void Fire(PlayerInteractEvent event) { + if (!Manager.GetGame().IsLive()) + return; + if (event.getAction() != Action.LEFT_CLICK_AIR && event.getAction() != Action.LEFT_CLICK_BLOCK) return; From f4cd2fcbb9db2ee9a386d5474021aefd0527e892 Mon Sep 17 00:00:00 2001 From: Chiss Date: Thu, 13 Mar 2014 18:18:22 +1100 Subject: [PATCH 2/2] Staggered game teleports/start --- .../src/nautilus/game/arcade/game/Game.java | 75 ++++++++--------- .../nautilus/game/arcade/game/GameTeam.java | 51 ++++++------ .../src/nautilus/game/arcade/kit/Kit.java | 2 + .../game/arcade/managers/GameManager.java | 80 ++++++++++++------- 4 files changed, 119 insertions(+), 89 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index 14e5789c9..d9eea08d0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -71,12 +71,12 @@ public abstract class Game implements Listener //State private GameState _gameState = GameState.Loading; private long _gameStateTime = System.currentTimeMillis(); + + private boolean _prepareCountdown = false; private int _countdown = -1; private boolean _countdownForce = false; - private int _playerCount = 0; - private String _customWinLine = ""; //Kits @@ -274,16 +274,6 @@ public abstract class Game implements Listener _countdownForce = value; } - public int GetPlayerCountAtStart() - { - return _playerCount; - } - - public void SetPlayerCountAtStart(int count) - { - _playerCount = count; - } - public NautHashMap> GetTeamPreferences() { return _teamPreference; @@ -561,7 +551,7 @@ public abstract class Game implements Listener } _playerKit.put(player, kit); - + kit.Selected(player); if (announce) @@ -569,7 +559,7 @@ public abstract class Game implements Listener player.playSound(player.getLocation(), Sound.ORB_PICKUP, 2f, 1f); UtilPlayer.message(player, F.main("Kit", "You equipped " + F.elem(kit.GetFormattedName() + " Kit") + ".")); } - + if (InProgress()) kit.ApplyKit(player); } @@ -858,32 +848,35 @@ public abstract class Game implements Listener public void AnnounceGame() { for (Player player : UtilServer.getPlayers()) - { - player.playSound(player.getLocation(), Sound.LEVEL_UP, 2f, 1f); - - for (int i=0 ; i<6-GetDesc().length ; i++) - UtilPlayer.message(player, ""); - - UtilPlayer.message(player, ArcadeFormat.Line); - - UtilPlayer.message(player, C.cGreen + "Game - " + C.cYellow+ C.Bold + this.GetName()); - UtilPlayer.message(player, ""); - - for (String line : this.GetDesc()) - { - UtilPlayer.message(player, C.cWhite + "- " + line); - } - - UtilPlayer.message(player, ""); - UtilPlayer.message(player, C.cGreen + "Map - " + C.cYellow + C.Bold + WorldData.MapName + ChatColor.RESET + C.cGray + " created by " + C.cYellow+ C.Bold + WorldData.MapAuthor); - - UtilPlayer.message(player, ArcadeFormat.Line); - } - + AnnounceGame(player); + if (AnnounceSilence) Manager.GetChat().Silence(9000, false); } + public void AnnounceGame(Player player) + { + player.playSound(player.getLocation(), Sound.LEVEL_UP, 2f, 1f); + + for (int i=0 ; i<6-GetDesc().length ; i++) + UtilPlayer.message(player, ""); + + UtilPlayer.message(player, ArcadeFormat.Line); + + UtilPlayer.message(player, C.cGreen + "Game - " + C.cYellow+ C.Bold + this.GetName()); + UtilPlayer.message(player, ""); + + for (String line : this.GetDesc()) + { + UtilPlayer.message(player, C.cWhite + "- " + line); + } + + UtilPlayer.message(player, ""); + UtilPlayer.message(player, C.cGreen + "Map - " + C.cYellow + C.Bold + WorldData.MapName + ChatColor.RESET + C.cGray + " created by " + C.cYellow+ C.Bold + WorldData.MapAuthor); + + UtilPlayer.message(player, ArcadeFormat.Line); + } + public void AnnounceEnd(GameTeam team) { for (Player player : UtilServer.getPlayers()) @@ -1019,4 +1012,14 @@ public abstract class Game implements Listener _helpIndex = (_helpIndex + 1)%_help.length; } + + public void StartPrepareCountdown() + { + _prepareCountdown = true; + } + + public boolean CanStartPrepareCountdown() + { + return _prepareCountdown; + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java index c11a2ae18..1c368a079 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java @@ -57,9 +57,9 @@ public class GameTeam private Creature _teamEntity = null; private HashSet _kitRestrict = new HashSet(); - + private int _spawnDistance = 0; - + private boolean _visible = true; public GameTeam(String name, ChatColor color, ArrayList spawns) @@ -87,40 +87,40 @@ public class GameTeam public Location GetSpawn() { ArrayList valid = new ArrayList(); - + Location best = null; double bestDist = 0; - + for (Location loc : _spawns) { double closestPlayer = -1; - + for (Player player : GetPlayers(true)) { double playerDist = UtilMath.offset(player.getLocation(), loc); - + if (closestPlayer == -1 || playerDist < closestPlayer) closestPlayer = playerDist; } - + if (best == null || closestPlayer > bestDist) { best = loc; bestDist = closestPlayer; } - + if (closestPlayer > _spawnDistance) { valid.add(loc); } } - + if (valid.size() > 0) valid.get(UtilMath.r(valid.size())); - + if (best != null) return best; - + return _spawns.get(UtilMath.r(_spawns.size())); } @@ -150,22 +150,22 @@ public class GameTeam for (Player player : _players.keySet()) if (player.getName().equals(name)) return player; - + return null; } - + public boolean HasPlayer(Player player) { return _players.containsKey(player); } - + public boolean HasPlayer(String name, boolean alive) { for (Player player : _players.keySet()) if (player.getName().equals(name)) if (!alive || (alive && _players.get(player) == PlayerState.IN)) return true; - + return false; } @@ -178,7 +178,7 @@ public class GameTeam { if (player == null) return; - + _players.put(player, state); } @@ -207,13 +207,18 @@ public class GameTeam return GetColor() + "§l" + GetName(); } + public void SpawnTeleport(Player player) + { + player.leaveVehicle(); + player.eject(); + player.teleport(GetSpawn()); + } + public void SpawnTeleport() { for (Player player : GetPlayers(true)) { - player.leaveVehicle(); - player.eject(); - player.teleport(GetSpawn()); + SpawnTeleport(player); } } @@ -226,7 +231,7 @@ public class GameTeam { if (kit.GetAvailability() == KitAvailability.Null) return false; - + return !_kitRestrict.contains(kit); } @@ -268,7 +273,7 @@ public class GameTeam if (GetColor() == ChatColor.RED) return (byte)14; else return (byte)15; } - + public Color GetColorBase() { if (GetColor() == ChatColor.WHITE) return Color.WHITE; @@ -302,7 +307,7 @@ public class GameTeam { _spawns = spawns; } - + public void SetSpawnRequirement(int value) { _spawnDistance = value; @@ -312,7 +317,7 @@ public class GameTeam { _visible = b; } - + public boolean GetVisible() { return _visible; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Kit.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Kit.java index 838be1d78..52f5d40df 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Kit.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Kit.java @@ -101,6 +101,8 @@ public abstract class Kit implements Listener perk.Apply(player); GiveItems(player); + + UtilInv.Update(player); } public abstract void GiveItems(Player player); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java index 4641f326f..36113284e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java @@ -1,5 +1,6 @@ package nautilus.game.arcade.managers; +import java.util.ArrayList; import java.util.Iterator; import mineplex.core.common.util.C; @@ -119,26 +120,29 @@ public class GameManager implements Listener } else if (game.GetState() == GameState.Prepare) { - if (UtilTime.elapsed(game.GetStateTime(), 9000)) + if (game.CanStartPrepareCountdown()) { - for (Player player : UtilServer.getPlayers()) - player.playSound(player.getLocation(), Sound.NOTE_PLING, 2f, 2f); - - if (game.GetPlayers(true).size() < 2) + if (UtilTime.elapsed(game.GetStateTime(), 9000)) { - game.Announce(C.cWhite + C.Bold + game.GetName() + " ended, not enough players!"); - game.SetState(GameState.Dead); + for (Player player : UtilServer.getPlayers()) + player.playSound(player.getLocation(), Sound.NOTE_PLING, 2f, 2f); + + if (game.GetPlayers(true).size() < 2) + { + game.Announce(C.cWhite + C.Bold + game.GetName() + " ended, not enough players!"); + game.SetState(GameState.Dead); + } + else + { + game.SetState(GameState.Live); + } } else { - game.SetState(GameState.Live); + for (Player player : UtilServer.getPlayers()) + player.playSound(player.getLocation(), Sound.NOTE_STICKS, 1f, 1f); } } - else - { - for (Player player : UtilServer.getPlayers()) - player.playSound(player.getLocation(), Sound.NOTE_STICKS, 1f, 1f); - } } else if (game.GetState() == GameState.Live) { @@ -466,32 +470,48 @@ public class GameManager implements Listener @EventHandler public void PlayerPrepare(GameStateChangeEvent event) { - Game game = event.GetGame(); + final Game game = event.GetGame(); if (event.GetState() != GameState.Prepare) return; - //Teleport - for (GameTeam team : game.GetTeamList()) - team.SpawnTeleport(); - - //Save Initial Player Count - game.SetPlayerCountAtStart(game.GetPlayers(true).size()); - - //Announce - game.AnnounceGame(); - + final ArrayList players = game.GetPlayers(true); + //Prepare Players - for (Player player : game.GetPlayers(true)) + for (int i=0 ; i