Merge branch 'master' of ssh://dev1.mineplex.com:7999/min/Mineplex

This commit is contained in:
Jonathan Williams 2014-03-13 17:56:16 -07:00
commit de1365b5cf
22 changed files with 262 additions and 116 deletions

View File

@ -12,7 +12,7 @@ public class MessageCommand extends CommandBase<MessageManager>
{
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

View File

@ -486,6 +486,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);

View File

@ -72,11 +72,11 @@ public abstract class Game implements Listener
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<GameTeam, ArrayList<Player>> GetTeamPreferences()
{
return _teamPreference;
@ -858,6 +848,13 @@ public abstract class Game implements Listener
public void AnnounceGame()
{
for (Player player : UtilServer.getPlayers())
AnnounceGame(player);
if (AnnounceSilence)
Manager.GetChat().Silence(9000, false);
}
public void AnnounceGame(Player player)
{
player.playSound(player.getLocation(), Sound.LEVEL_UP, 2f, 1f);
@ -880,10 +877,6 @@ public abstract class Game implements Listener
UtilPlayer.message(player, ArcadeFormat.Line);
}
if (AnnounceSilence)
Manager.GetChat().Silence(9000, false);
}
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;
}
}

View File

@ -207,14 +207,19 @@ public class GameTeam
return GetColor() + "§l" + GetName();
}
public void SpawnTeleport()
{
for (Player player : GetPlayers(true))
public void SpawnTeleport(Player player)
{
player.leaveVehicle();
player.eject();
player.teleport(GetSpawn());
}
public void SpawnTeleport()
{
for (Player player : GetPlayers(true))
{
SpawnTeleport(player);
}
}
public HashSet<Kit> GetRestrictedKits()

View File

@ -756,6 +756,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))
{
event.setCancelled(true);

View File

@ -1287,6 +1287,12 @@ public class HungerGames extends SoloGame
event.setCancelled(true);
if (!IsAlive(event.getPlayer()))
{
UtilPlayer.message(event.getPlayer(), F.main("Game", "You are not in the game."));
return;
}
if (!IsLive())
{
UtilPlayer.message(event.getPlayer(), F.main("Game", "Deathmatch cannot be started now."));

View File

@ -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();
}
}

View File

@ -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

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}

View File

@ -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;
@ -43,5 +45,16 @@ public class KitMarksman 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);
}
}

View File

@ -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,16 @@ public class KitShredder 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);
}
}

View File

@ -101,6 +101,8 @@ public abstract class Kit implements Listener
perk.Apply(player);
GiveItems(player);
UtilInv.Update(player);
}
public abstract void GiveItems(Player player);

View File

@ -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);

View File

@ -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;

View File

@ -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());

View File

@ -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;

View File

@ -1,5 +1,6 @@
package nautilus.game.arcade.managers;
import java.util.ArrayList;
import java.util.Iterator;
import mineplex.core.common.util.C;
@ -118,6 +119,8 @@ public class GameManager implements Listener
}
}
else if (game.GetState() == GameState.Prepare)
{
if (game.CanStartPrepareCountdown())
{
if (UtilTime.elapsed(game.GetStateTime(), 9000))
{
@ -140,6 +143,7 @@ public class GameManager implements Listener
player.playSound(player.getLocation(), Sound.NOTE_STICKS, 1f, 1f);
}
}
}
else if (game.GetState() == GameState.Live)
{
if (game.GetType() == GameType.Bridge)
@ -466,24 +470,28 @@ 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<Player> players = game.GetPlayers(true);
//Prepare Players
for (Player player : game.GetPlayers(true))
for (int i=0 ; i<players.size() ; i++)
{
final Player player = players.get(i);
final GameTeam team = game.GetTeam(player);
UtilServer.getServer().getScheduler().runTaskLater(Manager.GetPlugin(), new Runnable()
{
public void run()
{
//Teleport
if (team != null)
team.SpawnTeleport(player);
Manager.Clear(player);
UtilInv.Clear(player);
@ -492,6 +500,18 @@ public class GameManager implements Listener
if (game.GetKit(player) != null)
game.GetKit(player).ApplyKit(player);
}
}, i);
}
//Announce Game after every player is TP'd in
UtilServer.getServer().getScheduler().runTaskLater(Manager.GetPlugin(), new Runnable()
{
public void run()
{
game.AnnounceGame();
game.StartPrepareCountdown();
}
}, players.size());
}
@EventHandler