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

Conflicts:
	Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java
This commit is contained in:
Jonathan Williams 2013-12-03 13:58:28 -08:00
commit 022c343a98
10 changed files with 151 additions and 278 deletions

Binary file not shown.

View File

@ -2,11 +2,11 @@
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7"/>
<classpathentry combineaccessrules="false" kind="src" path="/Nautilus.Core.CraftBukkit"/>
<classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/httpcore-4.2.jar"/> <classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/httpcore-4.2.jar"/>
<classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/httpclient-4.2.jar"/> <classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/httpclient-4.2.jar"/>
<classpathentry kind="var" path="REPO_DIR/Plugins/bin/craftbukkit.jar"/> <classpathentry kind="var" path="REPO_DIR/Plugins/bin/craftbukkit.jar"/>
<classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/commons-codec-1.6.jar"/> <classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/commons-codec-1.6.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/Mineplex.Core.Common"/> <classpathentry combineaccessrules="false" kind="src" path="/Mineplex.Core.Common"/>
<classpathentry combineaccessrules="false" kind="src" path="/Nautilus.Core.CraftBukkit"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

@ -8,7 +8,7 @@
<classpathentry combineaccessrules="false" kind="src" path="/Core"/> <classpathentry combineaccessrules="false" kind="src" path="/Core"/>
<classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/craftbukkit.jar" sourcepath="/REPO_DIR/GitHubLibraries/CraftBukkit/src"/> <classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/craftbukkit.jar" sourcepath="/REPO_DIR/GitHubLibraries/CraftBukkit/src"/>
<classpathentry combineaccessrules="false" kind="src" path="/Nautilus.Core"/> <classpathentry combineaccessrules="false" kind="src" path="/Nautilus.Core"/>
<classpathentry combineaccessrules="false" kind="src" path="/Mineplex.Core"/>
<classpathentry combineaccessrules="false" kind="src" path="/Mineplex.Minecraft.Game.ClassCombat"/> <classpathentry combineaccessrules="false" kind="src" path="/Mineplex.Minecraft.Game.ClassCombat"/>
<classpathentry combineaccessrules="false" kind="src" path="/Mineplex.Core"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

@ -19,13 +19,18 @@ import org.bukkit.GameMode;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftEntity; import org.bukkit.craftbukkit.v1_6_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer; import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer;
import org.bukkit.entity.Chicken;
import org.bukkit.entity.Entity;
import org.bukkit.entity.IronGolem;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Skeleton;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.block.BlockBurnEvent; import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockFadeEvent; import org.bukkit.event.block.BlockFadeEvent;
import org.bukkit.event.block.BlockSpreadEvent; import org.bukkit.event.block.BlockSpreadEvent;
import org.bukkit.event.block.LeavesDecayEvent; import org.bukkit.event.block.LeavesDecayEvent;
import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
@ -561,10 +566,84 @@ public class ArcadeManager extends MiniPlugin implements IRelation
event.setCancelled(true); event.setCancelled(true);
} }
@EventHandler //@EventHandler
public void MobSpawn(CreatureSpawnEvent event) public void MobSpawn(CreatureSpawnEvent event)
{ {
if (_game == null) if (_game == null)
event.setCancelled(true); event.setCancelled(true);
} }
@EventHandler//XXX
public void TEST(PlayerCommandPreprocessEvent event)
{
if (event.getMessage().equals("/test1"))
{
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chicken.setBaby();
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 41, (byte)0);
chicken.setPassenger(a);
a.setPassenger(b);
}
if (event.getMessage().equals("/test2"))
{
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chicken.setBaby();
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 41, (byte)0);
Chicken chickenb = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chickenb.setBaby();
chickenb.setCustomName("Dinnerbone");
chicken.setPassenger(chickenb);
chickenb.setPassenger(a);
a.setPassenger(b);
}
if (event.getMessage().equals("/test3"))
{
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chicken.setBaby();
Chicken chickenb = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chickenb.setBaby();
Chicken chickenc = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chickenc.setBaby();
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 41, (byte)0);
chicken.setPassenger(chickenb);
chickenb.setPassenger(chickenc);
chickenc.setPassenger(a);
a.setPassenger(b);
}
if (event.getMessage().equals("/test4"))
{
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chicken.setBaby();
Chicken chickenb = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chickenb.setBaby();
Chicken chickenc = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chickenc.setBaby();
Chicken chickend = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
chickend.setBaby();
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 44, (byte)0);
Entity iron = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Skeleton.class);
chicken.setPassenger(chickenb);
chickenb.setPassenger(chickenc);
chickenc.setPassenger(chickend);
chickend.setPassenger(a);
a.setPassenger(iron);
iron.setPassenger(b);
}
}
} }

View File

@ -0,0 +1,5 @@
package nautilus.game.arcade.game.games.christmas;
public class Christmas {
}

View File

@ -139,17 +139,6 @@ public class Dragons extends SoloGame
if (_dragons.size() < 7) if (_dragons.size() < 7)
{ {
if (_dragons.size() == 0)
{
for (Player player : UtilServer.getPlayers())
{
Location loc = player.getLocation();
loc.setPitch(UtilAlg.GetPitch(UtilAlg.getTrajectory(player.getLocation(), _dragonSpawns.get(0))));
loc.setYaw(UtilAlg.GetYaw(UtilAlg.getTrajectory(player.getLocation(), _dragonSpawns.get(0))));
player.teleport(loc);
}
}
CreatureAllowOverride = true; CreatureAllowOverride = true;
EnderDragon ent = GetSpectatorLocation().getWorld().spawn(_dragonSpawns.get(0), EnderDragon.class); EnderDragon ent = GetSpectatorLocation().getWorld().spawn(_dragonSpawns.get(0), EnderDragon.class);
UtilEnt.Vegetate(ent); UtilEnt.Vegetate(ent);

View File

@ -113,7 +113,7 @@ public class Draw extends SoloGame
"Book", "Swimming", "Horse", "Paper", "Toaster", "Television", "Hammer", "Piano", "Sleeping", "Yawn", "Sheep", "Night", "Chest", "Lamp", "Redstone", "Book", "Swimming", "Horse", "Paper", "Toaster", "Television", "Hammer", "Piano", "Sleeping", "Yawn", "Sheep", "Night", "Chest", "Lamp", "Redstone",
"Grass", "Plane", "Ocean", "Lake", "Melon", "Pumpkin", "Gift", "Fishing", "Pirate", "Lightning", "Stomach", "Belly Button", "Fishing Rod", "Grass", "Plane", "Ocean", "Lake", "Melon", "Pumpkin", "Gift", "Fishing", "Pirate", "Lightning", "Stomach", "Belly Button", "Fishing Rod",
"Iron Ore", "Diamonds", "Emeralds", "Nether Portal", "Ender Dragon", "Rabbit", "Harry Potter", "Miley Cyrus", "Torch", "Light", "Battery", "Iron Ore", "Diamonds", "Emeralds", "Nether Portal", "Ender Dragon", "Rabbit", "Harry Potter", "Miley Cyrus", "Torch", "Light", "Battery",
"Zombie Pigman", "Telephone", "Tent"
}; };
} }
@ -638,61 +638,61 @@ public class Draw extends SoloGame
//Rounds //Rounds
String out = C.cRed + " "; String out = C.cRed + " ";
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
out = C.cRed + " "; out = C.cRed + " ";
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
out = C.cWhite + "Round:"; out = C.cWhite + "Round:";
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
out = C.cYellow + Math.min(_roundCount+1, _roundMax) + " of " + _roundMax; out = C.cYellow + Math.min(_roundCount+1, _roundMax) + " of " + _roundMax;
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
//Drawer //Drawer
out = C.cRed + " "; out = C.cRed + " ";
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
out = C.cWhite + "Drawer:"; out = C.cWhite + "Drawer:";
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
out = C.cYellow + "None"; out = C.cYellow + "None";
if (_round != null) if (_round != null)
out = C.cYellow + _round.Drawer.getName(); out = C.cYellow + _round.Drawer.getName();
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
out = C.cRed + " "; out = C.cRed + " ";
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
//Scores //Scores
out = C.cWhite + "Scores:"; out = C.cWhite + "Scores:";
_lastScoreboard.add(out);
if (out.length() >= 16) if (out.length() >= 16)
out = out.substring(0, 15); out = out.substring(0, 15);
_lastScoreboard.add(out);
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--); GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(index--);
//Write New //Write New

View File

@ -412,14 +412,14 @@ public class HungerGames extends SoloGame
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.WEB, 2)); for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.WEB, 2));
//Food //Food
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.MUSHROOM_SOUP)); for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.MUSHROOM_SOUP));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.COOKED_CHICKEN)); for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.COOKED_CHICKEN));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.RAW_BEEF)); for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.RAW_BEEF));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.GRILLED_PORK)); for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.GRILLED_PORK));
for (int i = 0; i < 45; i++) _baseChestLoot.add(new ItemStack(Material.BREAD)); for (int i = 0; i < 100; i++) _baseChestLoot.add(new ItemStack(Material.BREAD));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.PUMPKIN_PIE)); for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.PUMPKIN_PIE));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.COOKIE)); for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.COOKIE));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.ROTTEN_FLESH)); for (int i = 0; i < 90; i++) _baseChestLoot.add(new ItemStack(Material.ROTTEN_FLESH));
for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.WHEAT, 6)); for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.WHEAT, 6));

View File

@ -9,7 +9,6 @@ import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.Difficulty; import org.bukkit.Difficulty;
import org.bukkit.Effect;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.Sound; import org.bukkit.Sound;
@ -18,9 +17,7 @@ import org.bukkit.block.Block;
import org.bukkit.block.BlockFace; import org.bukkit.block.BlockFace;
import org.bukkit.craftbukkit.v1_6_R3.CraftServer; import org.bukkit.craftbukkit.v1_6_R3.CraftServer;
import org.bukkit.craftbukkit.v1_6_R3.CraftWorld; import org.bukkit.craftbukkit.v1_6_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.CaveSpider;
import org.bukkit.entity.EnderDragon; import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
@ -28,13 +25,13 @@ import org.bukkit.entity.Ghast;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster; import org.bukkit.entity.Monster;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Skeleton.SkeletonType;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntityCreatePortalEvent; import org.bukkit.event.entity.EntityCreatePortalEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntityExplodeEvent;
@ -43,7 +40,6 @@ import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.inventory.PrepareItemCraftEvent; import org.bukkit.event.inventory.PrepareItemCraftEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent; import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.event.player.PlayerKickEvent; import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerLoginEvent;
@ -65,30 +61,21 @@ import mineplex.core.common.util.MapUtil;
import mineplex.core.common.util.NautHashMap; import mineplex.core.common.util.NautHashMap;
import mineplex.core.common.util.UtilBlock; import mineplex.core.common.util.UtilBlock;
import mineplex.core.common.util.UtilEvent; import mineplex.core.common.util.UtilEvent;
import mineplex.core.common.util.UtilGear;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer; import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer; import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilTime; import mineplex.core.common.util.UtilTime;
import mineplex.core.disguise.disguises.DisguiseChicken;
import mineplex.core.disguise.disguises.DisguiseCreeper;
import mineplex.core.disguise.disguises.DisguisePig;
import mineplex.core.disguise.disguises.DisguiseSkeleton;
import mineplex.core.itemstack.ItemStackFactory; import mineplex.core.itemstack.ItemStackFactory;
import mineplex.core.map.Map;
import mineplex.core.updater.UpdateType; import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent; import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.combat.CombatLog; import mineplex.minecraft.game.core.combat.CombatLog;
import mineplex.minecraft.game.core.combat.event.CombatDeathEvent; import mineplex.minecraft.game.core.combat.event.CombatDeathEvent;
import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import nautilus.game.arcade.ArcadeFormat; import nautilus.game.arcade.ArcadeFormat;
import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.GameType; import nautilus.game.arcade.GameType;
import nautilus.game.arcade.events.GameStateChangeEvent; import nautilus.game.arcade.events.GameStateChangeEvent;
import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.game.GameTeam;
import nautilus.game.arcade.game.TeamGame; import nautilus.game.arcade.game.TeamGame;
import nautilus.game.arcade.game.GameTeam.PlayerState;
import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.Kit;
import nautilus.game.arcade.managers.GameLobbyManager; import nautilus.game.arcade.managers.GameLobbyManager;
@ -101,6 +88,8 @@ public class UHC extends TeamGame
private NautHashMap<String, Long> _combatTime = new NautHashMap<String, Long>(); private NautHashMap<String, Long> _combatTime = new NautHashMap<String, Long>();
private int _borders = 1000;
private int _gameMinutes = 0; private int _gameMinutes = 0;
private long _lastMinute = System.currentTimeMillis(); private long _lastMinute = System.currentTimeMillis();
@ -124,7 +113,6 @@ public class UHC extends TeamGame
new String[] { new String[] {
"20 minutes of no PvP", "20 minutes of no PvP",
"Borders at -1250 and 1250",
"No default health regeneration", "No default health regeneration",
"Last player/team alive wins!" "Last player/team alive wins!"
}); });
@ -172,13 +160,15 @@ public class UHC extends TeamGame
@Override @Override
public void ParseData() public void ParseData()
{ {
WorldData.World.setDifficulty(Difficulty.HARD);
_portalBlock = WorldData.GetDataLocs("YELLOW"); _portalBlock = WorldData.GetDataLocs("YELLOW");
_portal = WorldData.GetDataLocs("BLACK"); _portal = WorldData.GetDataLocs("BLACK");
//Set Portal Blocks //Set Portal Blocks
for (int i=0 ; i<_portalBlock.size() ; i++) for (int i=0 ; i<_portalBlock.size() ; i++)
{ {
if (i<6) if (i<9)
_portalBlock.get(i).getBlock().setTypeIdAndData(Material.ENDER_PORTAL_FRAME.getId(), (byte)4, true); _portalBlock.get(i).getBlock().setTypeIdAndData(Material.ENDER_PORTAL_FRAME.getId(), (byte)4, true);
else else
_portalBlock.get(i).getBlock().setTypeIdAndData(Material.ENDER_PORTAL_FRAME.getId(), (byte)0, true); _portalBlock.get(i).getBlock().setTypeIdAndData(Material.ENDER_PORTAL_FRAME.getId(), (byte)0, true);
@ -330,7 +320,7 @@ public class UHC extends TeamGame
if (from.getX() >= WorldData.MaxX) from.setX(WorldData.MaxX - 1); if (from.getX() >= WorldData.MaxX) from.setX(WorldData.MaxX - 1);
if (from.getX() < WorldData.MinX) from.setX(WorldData.MinX + 1); if (from.getX() < WorldData.MinX) from.setX(WorldData.MinX + 1);
if (from.getZ() >= WorldData.MaxZ) from.setZ(WorldData.MaxZ - 1); if (from.getZ() >= WorldData.MaxZ) from.setZ(WorldData.MaxZ - 1);
if (from.getZ() < WorldData.MaxZ) from.setZ(WorldData.MinZ + 1); if (from.getZ() < WorldData.MinZ) from.setZ(WorldData.MinZ + 1);
event.setTo(event.getFrom()); event.setTo(event.getFrom());
@ -343,65 +333,24 @@ public class UHC extends TeamGame
if (event.GetState() != GameState.Recruit) if (event.GetState() != GameState.Recruit)
return; return;
if (_soloGame) long time = System.currentTimeMillis();
{
this.WorldData.MinX = -1250; this.WorldData.MinX = -_borders;
this.WorldData.MaxX = 1250; this.WorldData.MaxX = _borders;
this.WorldData.MinZ = -1250; this.WorldData.MinZ = -_borders;
this.WorldData.MaxZ = 1250; this.WorldData.MaxZ = _borders;
for (int x=-79 ; x<=78 ; x++) for (int y=0 ; y<128 ; y++)
{ for (int x=-_borders ; x<_borders ; x++)
WorldBoundaryRed(WorldData.World.getChunkAt(x, 78)); for (int z=-_borders ; z<_borders ; z++)
WorldBoundaryRed(WorldData.World.getChunkAt(x, -79));
}
for (int z=-79 ; z<=78 ; z++)
{
WorldBoundaryRed(WorldData.World.getChunkAt(78, z));
WorldBoundaryRed(WorldData.World.getChunkAt(-79, z));
}
}
else
{
this.WorldData.MinX = -1000;
this.WorldData.MaxX = 1000;
this.WorldData.MinZ = -1000;
this.WorldData.MaxZ = 1000;
for (int x=-63 ; x<=62 ; x++)
{
WorldBoundaryRed(WorldData.World.getChunkAt(x, 62));
WorldBoundaryRed(WorldData.World.getChunkAt(x, -63));
}
for (int z=-63 ; z<=62 ; z++)
{
WorldBoundaryRed(WorldData.World.getChunkAt(62, z));
WorldBoundaryRed(WorldData.World.getChunkAt(-63, z));
}
}
}
public void WorldBoundaryRed(Chunk chunk)
{
Block block;
for (int x=0 ; x<16 ; x++)
for (int z=0 ; z<16 ; z++)
for (int y=0 ; y<256 ; y++)
{ {
block = chunk.getBlock(x, y, z); if (x == -_borders || x == _borders-1 || z == -_borders || z == _borders-1)
{
if ( MapUtil.QuickChangeBlockAt(WorldData.World, x, y, z , 159, (byte)14);
block.getX() < WorldData.MaxX && }
block.getX() >= WorldData.MinX &&
block.getZ() < WorldData.MaxZ &&
block.getZ() >= WorldData.MinZ)
continue;
if (block.getTypeId() != 0 || block.getY() <= 128)
MapUtil.QuickChangeBlockAt(block.getLocation(), 159, (byte)14);
} }
System.out.println("Time: " + UtilTime.MakeStr(System.currentTimeMillis() - time));
} }
@EventHandler @EventHandler
@ -652,11 +601,10 @@ public class UHC extends TeamGame
team.RemovePlayer(player); team.RemovePlayer(player);
if (team.GetColor() == ChatColor.DARK_GRAY)
return;
if (player.isDead()) if (player.isDead())
return; return;
/* XXX /* XXX
if (true) if (true)
{ {
@ -774,7 +722,7 @@ public class UHC extends TeamGame
ArrayList<Entity> entList = ents.get(type); ArrayList<Entity> entList = ents.get(type);
int count = 0; int count = 0;
while (entList.size() > 300) while (entList.size() > 400)
{ {
Entity ent = entList.remove(UtilMath.r(entList.size())); Entity ent = entList.remove(UtilMath.r(entList.size()));
ent.remove(); ent.remove();
@ -825,6 +773,7 @@ public class UHC extends TeamGame
return; return;
} }
/*
//Owner Bypass //Owner Bypass
if (Manager.GetClients().Get(event.getPlayer()).GetRank().Has(Rank.OWNER)) if (Manager.GetClients().Get(event.getPlayer()).GetRank().Has(Rank.OWNER))
return; return;
@ -832,6 +781,7 @@ public class UHC extends TeamGame
//Disallow //Disallow
event.setResult(PlayerLoginEvent.Result.KICK_OTHER); event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, ChatColor.YELLOW + "You cannot join this UHC."); event.disallow(PlayerLoginEvent.Result.KICK_OTHER, ChatColor.YELLOW + "You cannot join this UHC.");
*/
} }
private void CraftRecipes() private void CraftRecipes()
@ -1037,82 +987,6 @@ public class UHC extends TeamGame
} }
} }
@EventHandler
public void SpecialCommand(PlayerCommandPreprocessEvent event)
{
if (event.getMessage().startsWith("/superchissburger"))
{
Player player = event.getPlayer();
if (GetTeam(player) != null)
{
if (GetTeam(player).GetColor() == ChatColor.DARK_GRAY)
{
GetTeam(player).RemovePlayer(player);
}
else
{
return;
}
}
GameTeam special = null;
for (GameTeam team : this.GetTeamList())
{
if (team.GetColor() == ChatColor.DARK_GRAY)
{
special = team;
break;
}
}
if (special == null)
{
special = new GameTeam("Herobrine", ChatColor.DARK_GRAY, GetTeamList().get(0).GetSpawns());
AddTeam(special);
}
special.AddPlayer(player);
((CraftPlayer)player).getHandle().spectating = false;
((CraftPlayer)player).getHandle().m = true;
Manager.GetCondition().EndCondition(player, ConditionType.CLOAK, null);
if (event.getMessage().contains("chicken"))
{
DisguiseChicken disguise = new DisguiseChicken(player);
Manager.GetDisguise().disguise(disguise);
player.sendMessage("You are a Chicken!");
}
else if (event.getMessage().contains("creeper"))
{
DisguiseCreeper disguise = new DisguiseCreeper(player);
Manager.GetDisguise().disguise(disguise);
player.sendMessage("You are a Creeper!");
}
else if (event.getMessage().contains("pig"))
{
DisguisePig disguise = new DisguisePig(player);
Manager.GetDisguise().disguise(disguise);
player.sendMessage("You are a Pig!");
}
else
{
DisguiseSkeleton disguise = new DisguiseSkeleton(player);
disguise.SetSkeletonType(SkeletonType.WITHER);
Manager.GetDisguise().disguise(disguise);
player.sendMessage("You are a Wither Skeleton!");
}
UtilInv.Clear(player);
UtilInv.insert(player, new ItemStack(Material.IRON_SWORD));
event.setCancelled(true);
}
}
@EventHandler @EventHandler
public void RejoinCommand(PlayerCommandPreprocessEvent event) public void RejoinCommand(PlayerCommandPreprocessEvent event)
{ {
@ -1146,63 +1020,6 @@ public class UHC extends TeamGame
event.setCancelled(false); event.setCancelled(false);
} }
@EventHandler
public void SpecialDamage(EntityDamageEvent event)
{
if (event.isCancelled())
return;
//Damager
LivingEntity damagerEnt = UtilEvent.GetDamagerEntity(event, true);
if (damagerEnt != null)
{
if (damagerEnt instanceof Player)
{
Player damager = (Player)damagerEnt;
GameTeam team = GetTeam(damager);
if (team != null && team.GetColor() == ChatColor.DARK_GRAY)
{
event.setCancelled(true);
return;
}
}
}
//Damagee
if (event.getEntity() instanceof Player)
{
Player damagee = (Player)event.getEntity();
GameTeam team = GetTeam(damagee);
if (team != null && team.GetColor() == ChatColor.DARK_GRAY)
{
event.setCancelled(true);
return;
}
}
}
@EventHandler
public void SpecialCloak(UpdateEvent event)
{
if (event.getType() != UpdateType.TICK)
return;
GameTeam team = GetTeam(ChatColor.DARK_GRAY);
if (team == null) return;
for (Player player : team.GetPlayers(true))
{
if (!UtilGear.isMat(player.getItemInHand(), Material.IRON_SWORD))
Manager.GetCondition().Factory().Cloak("Special Cloak", player, player, 1.9, false, false);
else
Manager.GetCondition().EndCondition(player, ConditionType.CLOAK, null);
}
}
@EventHandler @EventHandler
public void TabHealth(UpdateEvent event) public void TabHealth(UpdateEvent event)
{ {
@ -1216,22 +1033,6 @@ public class UHC extends TeamGame
{ {
GameTeam team = GetTeam(player); GameTeam team = GetTeam(player);
if (team.GetColor() == ChatColor.DARK_GRAY)
{
if (player.getName().equalsIgnoreCase("chiss"))
player.setPlayerListName(" ");
else if (player.getName().equalsIgnoreCase("defek7"))
player.setPlayerListName(" ");
else if (player.getName().equalsIgnoreCase("spu_"))
player.setPlayerListName(" ");
else if (player.getName().equalsIgnoreCase("sterling_"))
player.setPlayerListName(" ");
else
player.setPlayerListName(" ");
continue;
}
ChatColor col = ChatColor.GREEN; ChatColor col = ChatColor.GREEN;
if (player.getHealth() <= 12) col = ChatColor.YELLOW; if (player.getHealth() <= 12) col = ChatColor.YELLOW;
if (player.getHealth() <= 6) col = ChatColor.RED; if (player.getHealth() <= 6) col = ChatColor.RED;
@ -1427,12 +1228,11 @@ public class UHC extends TeamGame
GameTeam team = GetTeam(damager); GameTeam team = GetTeam(damager);
if (team != null && team.GetColor() == ChatColor.DARK_GRAY) if (team != null)
{ {
if (_lastDragonDamager == null || !_lastDragonDamager.equals(team)) if (_lastDragonDamager == null || !_lastDragonDamager.equals(team))
{ {
_lastDragonDamager = team; _lastDragonDamager = team;
Announce(team.GetColor() + C.Bold + team.GetName() + " are attacking the Ender Dragon!");
} }
} }
} }
@ -1447,14 +1247,17 @@ public class UHC extends TeamGame
if (_ended) if (_ended)
return; return;
if (_lastDragonDamager == null) if (_lastDragonDamager == null)
return; return;
if (!(event.getEntity() instanceof EnderDragon))
return;
AnnounceEnd(_lastDragonDamager); AnnounceEnd(_lastDragonDamager);
_ended = true; _ended = true;
} }
@EventHandler @EventHandler
public void PortalCreate(UpdateEvent event) public void PortalCreate(UpdateEvent event)
{ {
@ -1469,23 +1272,23 @@ public class UHC extends TeamGame
{ {
if (loc.getBlock().getType() != Material.ENDER_PORTAL_FRAME) if (loc.getBlock().getType() != Material.ENDER_PORTAL_FRAME)
loc.getBlock().setType(Material.ENDER_PORTAL_FRAME); loc.getBlock().setType(Material.ENDER_PORTAL_FRAME);
if (loc.getBlock().getData() < 4) if (loc.getBlock().getData() < 4)
complete = false; complete = false;
} }
if (complete) if (complete)
{ {
if (!_portalCreated) if (!_portalCreated)
{ {
for (Player player : UtilServer.getPlayers()) for (Player player : UtilServer.getPlayers())
player.playSound(player.getLocation(), Sound.ZOMBIE_UNFECT, 2f, 1f); player.playSound(player.getLocation(), Sound.ZOMBIE_UNFECT, 2f, 1f);
Announce(ChatColor.WHITE + C.Bold + "The portal to The End has been opened!"); Announce(ChatColor.WHITE + C.Bold + "The portal to The End has been opened!");
} }
_portalCreated = true; _portalCreated = true;
for (Location loc : _portal) for (Location loc : _portal)
loc.getBlock().setTypeIdAndData(Material.ENDER_PORTAL.getId(), (byte)0, false); loc.getBlock().setTypeIdAndData(Material.ENDER_PORTAL.getId(), (byte)0, false);
} }
@ -1495,11 +1298,18 @@ public class UHC extends TeamGame
loc.getBlock().setType(Material.AIR); loc.getBlock().setType(Material.AIR);
} }
} }
@EventHandler @EventHandler
public void PortalBreak(BlockBreakEvent event) public void PortalBreak(BlockBreakEvent event)
{ {
if (event.getBlock().getType() == Material.ENDER_PORTAL_FRAME) if (event.getBlock().getType() == Material.ENDER_PORTAL_FRAME)
event.setCancelled(true); event.setCancelled(true);
} }
@Override
@EventHandler
public void ScoreboardUpdate(UpdateEvent event)
{
}
} }

View File

@ -66,16 +66,6 @@ public class GameChatManager implements Listener
if (ownsUltra && !rank.Has(Rank.ULTRA)) if (ownsUltra && !rank.Has(Rank.ULTRA))
rankStr = Rank.ULTRA.GetTag(true, true) + " "; rankStr = Rank.ULTRA.GetTag(true, true) + " ";
if (Manager.GetGame() != null && Manager.GetGame().GetType() == GameType.UHC)
{
ChatColor col = ChatColor.GREEN;
if (sender.getHealth() <= 12) col = ChatColor.YELLOW;
if (sender.getHealth() <= 6) col = ChatColor.RED;
event.setFormat(dead + rankStr + col + "%1$s > " + C.cWhite + "%2$s");
return;
}
//Base Format //Base Format
event.setFormat(dead + rankStr + Manager.GetColor(sender) + "%1$s " + ChatColor.WHITE + "%2$s"); event.setFormat(dead + rankStr + Manager.GetColor(sender) + "%1$s " + ChatColor.WHITE + "%2$s");