Queueing now works with less players than teams.
Added DragonName text-input for hub Fixed smash bug, where spectators were causing lightning effect
This commit is contained in:
parent
30c5267da2
commit
72bec77237
|
@ -34,6 +34,9 @@ public class Dragon extends MiniPlugin
|
|||
public double RangeBest = 1000;
|
||||
public long RangeTime = 0;
|
||||
|
||||
public int textA = 0;
|
||||
public int textB = 0;
|
||||
|
||||
public Dragon(HubManager manager)
|
||||
{
|
||||
super("Dragon Manager", manager.GetPlugin());
|
||||
|
@ -98,15 +101,21 @@ public class Dragon extends MiniPlugin
|
|||
if (Dragon == null || !Dragon.isValid())
|
||||
return;
|
||||
|
||||
ChatColor color = ChatColor.RED;
|
||||
double r = Math.random();
|
||||
if (r > 0.83) color = ChatColor.GOLD;
|
||||
else if (r > 0.66) color = ChatColor.YELLOW;
|
||||
else if (r > 0.49) color = ChatColor.GREEN;
|
||||
else if (r > 0.32) color = ChatColor.AQUA;
|
||||
else if (r > 0.16) color = ChatColor.LIGHT_PURPLE;
|
||||
ChatColor aCol = ChatColor.RED;
|
||||
if (textA == 1) aCol = ChatColor.GOLD;
|
||||
else if (textA == 2) aCol = ChatColor.YELLOW;
|
||||
else if (textA == 3) aCol = ChatColor.GREEN;
|
||||
else if (textA == 4) aCol = ChatColor.AQUA;
|
||||
else if (textA == 5) aCol = ChatColor.LIGHT_PURPLE;
|
||||
|
||||
Dragon.setCustomName(color + C.Bold + C.Line + "Welcome to Mineplex - Home of Premium Quality Minigames");
|
||||
textA = (textA+1)%6;
|
||||
|
||||
ChatColor bCol = ChatColor.GREEN;
|
||||
if (textB > 6) bCol = ChatColor.WHITE;
|
||||
|
||||
textB = (textB+1)%14;
|
||||
|
||||
Dragon.setCustomName(aCol + C.Bold + C.Line + Manager.DragonTextA +ChatColor.RESET + " - " + bCol + C.Bold + C.Line + Manager.DragonTextB);
|
||||
}
|
||||
|
||||
private void Turn()
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
package mineplex.hub;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileWriter;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
|
||||
|
@ -64,82 +71,130 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
|
||||
private Location _spawn;
|
||||
private int _scoreboardTick = 0;
|
||||
|
||||
|
||||
private String _pigStacker = "0 - Nobody";
|
||||
|
||||
public String DragonTextA = "Mineplex";
|
||||
public String DragonTextB = "";
|
||||
|
||||
private HashSet<LivingEntity> _mobs = new HashSet<LivingEntity>();
|
||||
|
||||
|
||||
public HubManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager, DisguiseManager disguiseManager)
|
||||
{
|
||||
super("Hub Manager", plugin);
|
||||
|
||||
|
||||
_clientManager = clientManager;
|
||||
_donationManager = donationManager;
|
||||
_disguiseManager = disguiseManager;
|
||||
|
||||
|
||||
_spawn = new Location(UtilWorld.getWorld("world"), 0.5, 74, 0.5);
|
||||
|
||||
|
||||
new TextCreator(this);
|
||||
new Dragon(this);
|
||||
|
||||
DragonTextB = GetDragonText();
|
||||
}
|
||||
|
||||
|
||||
public String GetDragonText()
|
||||
{
|
||||
File file = new File("DragonText.dat");
|
||||
|
||||
//Write If Blank
|
||||
if (!file.exists())
|
||||
{
|
||||
try
|
||||
{
|
||||
FileWriter fstream = new FileWriter(file);
|
||||
BufferedWriter out = new BufferedWriter(fstream);
|
||||
|
||||
out.write("Home of Premium Game Modes");
|
||||
|
||||
out.close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("Error: Game World GetId Write Exception");
|
||||
}
|
||||
}
|
||||
|
||||
String line = "Home of Premium Game Modes";
|
||||
|
||||
//Read
|
||||
try
|
||||
{
|
||||
FileInputStream fstream = new FileInputStream(file);
|
||||
DataInputStream in = new DataInputStream(fstream);
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(in));
|
||||
line = br.readLine();
|
||||
|
||||
in.close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("Error: Game World GetId Read Exception");
|
||||
}
|
||||
|
||||
return line;
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void PlayerRespawn(PlayerRespawnEvent event)
|
||||
{
|
||||
event.setRespawnLocation(GetSpawn());
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void OnChunkLoad(ChunkLoadEvent event)
|
||||
{
|
||||
for (Entity entity : event.getChunk().getEntities())
|
||||
{
|
||||
if (entity instanceof LivingEntity)
|
||||
{
|
||||
if (((LivingEntity)entity).isCustomNameVisible() && ((LivingEntity)entity).getCustomName() != null)
|
||||
{
|
||||
if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("minekartrider"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "Play " + ChatColor.YELLOW + "MineKart"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("defek7"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "defek7"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("chiss"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "Chiss"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("Sterling_"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "sterling_"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("Spu_"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "Spu_"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void OnChunkLoad(ChunkLoadEvent event)
|
||||
{
|
||||
for (Entity entity : event.getChunk().getEntities())
|
||||
{
|
||||
if (entity instanceof LivingEntity)
|
||||
{
|
||||
if (((LivingEntity)entity).isCustomNameVisible() && ((LivingEntity)entity).getCustomName() != null)
|
||||
{
|
||||
if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("minekartrider"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "Play " + ChatColor.YELLOW + "MineKart"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("defek7"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "defek7"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("chiss"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "Chiss"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("Sterling_"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "sterling_"));
|
||||
else if (((LivingEntity)entity).getCustomName().equalsIgnoreCase("Spu_"))
|
||||
_disguiseManager.Disguise(new DisguisePlayer(entity, "Spu_"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void PlayerJoin(PlayerJoinEvent event)
|
||||
{
|
||||
final Player player = event.getPlayer();
|
||||
|
||||
|
||||
//Survival
|
||||
player.setGameMode(GameMode.SURVIVAL);
|
||||
|
||||
|
||||
//Public Message
|
||||
event.setJoinMessage(null);
|
||||
|
||||
|
||||
//Teleport
|
||||
player.teleport(GetSpawn());
|
||||
|
||||
|
||||
//Allow Double Jump
|
||||
player.setAllowFlight(true);
|
||||
|
||||
|
||||
UtilInv.Clear(player);
|
||||
|
||||
|
||||
//Scoreboard
|
||||
Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
|
||||
player.setScoreboard(board);
|
||||
|
||||
|
||||
//Objective
|
||||
Objective obj = board.registerNewObjective(C.Bold + "Player Data", "dummy");
|
||||
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||
|
||||
|
||||
for (Rank rank : Rank.values())
|
||||
{
|
||||
if (rank != Rank.ALL)
|
||||
|
@ -152,61 +207,61 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
{
|
||||
//Add Other to Self
|
||||
board.getTeam(_clientManager.Get(otherPlayer).GetRank().Name).addPlayer(otherPlayer);
|
||||
|
||||
|
||||
//Add Self to Other
|
||||
otherPlayer.getScoreboard().getTeam(_clientManager.Get(player).GetRank().Name).addPlayer(player);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void PlayerQuit(PlayerQuitEvent event)
|
||||
{
|
||||
event.setQuitMessage(null);
|
||||
|
||||
|
||||
event.getPlayer().leaveVehicle();
|
||||
event.getPlayer().eject();
|
||||
|
||||
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
player.getScoreboard().resetScores(event.getPlayer());
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void PlayerChat(AsyncPlayerChatEvent event)
|
||||
{
|
||||
if (event.isCancelled())
|
||||
return;
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
|
||||
Rank rank = GetClients().Get(player).GetRank();
|
||||
|
||||
|
||||
String rankStr = "";
|
||||
if (rank != Rank.ALL)
|
||||
rankStr = rank.Color + C.Bold + GetClients().Get(player).GetRank().Name.toUpperCase() + " ";
|
||||
|
||||
|
||||
for (Player other : UtilServer.getPlayers())
|
||||
{
|
||||
UtilPlayer.message(other, rankStr + C.cYellow + player.getName() + " " + C.cWhite + event.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void Damage(EntityDamageEvent event)
|
||||
{
|
||||
if (event.getEntity() instanceof Player && event.getCause() == DamageCause.VOID)
|
||||
event.getEntity().teleport(GetSpawn());
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void ItemPickup(PlayerPickupItemEvent event)
|
||||
{
|
||||
if (event.getPlayer().getGameMode() == GameMode.CREATIVE)
|
||||
return;
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
@ -215,31 +270,31 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
{
|
||||
if (event.getPlayer().getGameMode() == GameMode.CREATIVE)
|
||||
return;
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void BlockBreak(BlockBreakEvent event)
|
||||
{
|
||||
if (event.getPlayer().getGameMode() == GameMode.CREATIVE)
|
||||
return;
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void LeaveDecay(LeavesDecayEvent event)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void BlockPlace(BlockPlaceEvent event)
|
||||
{
|
||||
if (event.getPlayer().getGameMode() == GameMode.CREATIVE)
|
||||
return;
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
@ -247,23 +302,23 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
public void FlightHop(PlayerToggleFlightEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
|
||||
|
||||
if (player.getGameMode() == GameMode.CREATIVE)
|
||||
return;
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
player.setFlying(false);
|
||||
|
||||
|
||||
//Disable Flight
|
||||
player.setAllowFlight(false);
|
||||
|
||||
|
||||
//Velocity
|
||||
UtilAction.velocity(player, 1.4, 0.2, 1, true);
|
||||
|
||||
|
||||
//Sound
|
||||
player.getWorld().playEffect(player.getLocation(), Effect.BLAZE_SHOOT, 0);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void FlightUpdate(UpdateEvent event)
|
||||
{
|
||||
|
@ -274,63 +329,63 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
{
|
||||
if (player.getGameMode() == GameMode.CREATIVE)
|
||||
continue;
|
||||
|
||||
|
||||
if (UtilEnt.isGrounded(player) || UtilBlock.solid(player.getLocation().getBlock().getRelative(BlockFace.DOWN)))
|
||||
player.setAllowFlight(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void FoodHealthUpdate(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.SLOW)
|
||||
return;
|
||||
|
||||
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
{
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void UpdateWeather(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.SEC)
|
||||
return;
|
||||
|
||||
|
||||
World world = UtilWorld.getWorld("world");
|
||||
world.setTime(6000);
|
||||
world.setStorm(false);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void UpdateScoreboard(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.TICK)
|
||||
return;
|
||||
|
||||
|
||||
_scoreboardTick = (_scoreboardTick + 1)%3;
|
||||
|
||||
|
||||
if (_scoreboardTick != 0)
|
||||
return;
|
||||
|
||||
|
||||
int bestPig = 0;
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
{
|
||||
if (player.getVehicle() != null)
|
||||
continue;
|
||||
|
||||
|
||||
int count = 0;
|
||||
|
||||
|
||||
Entity ent = player;
|
||||
while (ent.getPassenger() != null)
|
||||
{
|
||||
ent = ent.getPassenger();
|
||||
count++;
|
||||
}
|
||||
|
||||
|
||||
if (count > bestPig)
|
||||
{
|
||||
_pigStacker = player.getName();
|
||||
|
@ -344,40 +399,40 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
else
|
||||
{
|
||||
_pigStacker = bestPig + " - " + _pigStacker;
|
||||
|
||||
|
||||
if (_pigStacker.length() > 16)
|
||||
_pigStacker = _pigStacker.substring(0, 16);
|
||||
}
|
||||
|
||||
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
{
|
||||
//Objective
|
||||
Objective obj = player.getScoreboard().getObjective(DisplaySlot.SIDEBAR);
|
||||
|
||||
|
||||
//Title
|
||||
obj.setDisplayName(C.cWhite + C.Bold + Get(player).GetScoreboardText());
|
||||
|
||||
|
||||
int line = 15;
|
||||
|
||||
|
||||
obj.getScore(Bukkit.getOfflinePlayer(C.cGreen + C.Bold + "Gems")).setScore(line--);
|
||||
|
||||
|
||||
// Remove Old
|
||||
player.getScoreboard().resetScores(Bukkit.getOfflinePlayer(Get(player.getName()).GetLastGemCount() + ""));
|
||||
// Add New
|
||||
obj.getScore(Bukkit.getOfflinePlayer(GetDonation().Get(player.getName()).GetGems() + "")).setScore(line--);
|
||||
|
||||
|
||||
Get(player.getName()).SetLastGemCount(GetDonation().Get(player.getName()).GetGems());
|
||||
|
||||
|
||||
//Space
|
||||
obj.getScore(Bukkit.getOfflinePlayer(" ")).setScore(line--);
|
||||
|
||||
|
||||
/*
|
||||
//News
|
||||
obj.getScore(Bukkit.getOfflinePlayer(C.cGray + C.Bold + "Latest News")).setScore(line--);
|
||||
player.getScoreboard().resetScores(Bukkit.getOfflinePlayer(Get(player).GetNewsText(false)));
|
||||
obj.getScore(Bukkit.getOfflinePlayer(Get(player).GetNewsText(true))).setScore(line--);
|
||||
*/
|
||||
|
||||
*/
|
||||
|
||||
//Stacker
|
||||
obj.getScore(Bukkit.getOfflinePlayer(C.cGray + C.Bold + "Stacker")).setScore(line--);
|
||||
player.getScoreboard().resetScores(Bukkit.getOfflinePlayer(Get(player).BestPig));
|
||||
|
@ -386,90 +441,90 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
|
||||
//Space
|
||||
obj.getScore(Bukkit.getOfflinePlayer(" ")).setScore(line--);
|
||||
|
||||
|
||||
//Display Rank
|
||||
if (GetClients().Get(player).GetRank().Has(Rank.ULTRA))
|
||||
{
|
||||
obj.getScore(Bukkit.getOfflinePlayer(C.cPurple + C.Bold + "Ultra Rank")).setScore(line--);
|
||||
|
||||
|
||||
player.getScoreboard().resetScores(Bukkit.getOfflinePlayer(Get(player).GetUltraText(false)));
|
||||
obj.getScore(Bukkit.getOfflinePlayer(Get(player).GetUltraText(true))).setScore(line--);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj.getScore(Bukkit.getOfflinePlayer(C.cRed + C.Bold + "No Rank")).setScore(line--);
|
||||
|
||||
|
||||
player.getScoreboard().resetScores(Bukkit.getOfflinePlayer(Get(player).GetPurchaseText(false)));
|
||||
obj.getScore(Bukkit.getOfflinePlayer(Get(player).GetPurchaseText(true))).setScore(line--);
|
||||
}
|
||||
|
||||
|
||||
//Space
|
||||
obj.getScore(Bukkit.getOfflinePlayer(" ")).setScore(line--);
|
||||
|
||||
|
||||
//Display Staff
|
||||
obj.getScore(Bukkit.getOfflinePlayer(C.cGold + C.Bold + "Online Staff")).setScore(line--);
|
||||
String staff = "";
|
||||
for (Player other : UtilServer.getPlayers())
|
||||
{
|
||||
Rank rank = GetClients().Get(other).GetRank();
|
||||
|
||||
|
||||
if (!rank.Has(Rank.HELPER))
|
||||
continue;
|
||||
|
||||
|
||||
staff += other.getName() + " ";
|
||||
}
|
||||
if (staff.length() == 0)
|
||||
staff = "None";
|
||||
|
||||
|
||||
player.getScoreboard().resetScores(Bukkit.getOfflinePlayer(Get(player).GetStaffText(false)));
|
||||
Get(player).StaffString = staff;
|
||||
obj.getScore(Bukkit.getOfflinePlayer(Get(player).GetStaffText(true))).setScore(line--);
|
||||
|
||||
//Space
|
||||
obj.getScore(Bukkit.getOfflinePlayer(" ")).setScore(line--);
|
||||
|
||||
|
||||
//Website
|
||||
obj.getScore(Bukkit.getOfflinePlayer(C.cYellow + C.Bold + "Website")).setScore(line--);
|
||||
obj.getScore(Bukkit.getOfflinePlayer("www.mineplex.com")).setScore(line--);
|
||||
obj.getScore(Bukkit.getOfflinePlayer("----------------")).setScore(line--);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected HubClient AddPlayer(String player)
|
||||
{
|
||||
return new HubClient(player);
|
||||
}
|
||||
|
||||
|
||||
public CoreClientManager GetClients()
|
||||
{
|
||||
return _clientManager;
|
||||
}
|
||||
|
||||
|
||||
public DonationManager GetDonation()
|
||||
{
|
||||
return _donationManager;
|
||||
}
|
||||
|
||||
|
||||
public Location GetSpawn()
|
||||
{
|
||||
return _spawn.clone();
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void UpdateVisibility(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
{
|
||||
for (Player other : UtilServer.getPlayers())
|
||||
{
|
||||
if (player.equals(other))
|
||||
continue;
|
||||
|
||||
|
||||
if (UtilMath.offset(player.getLocation(), GetSpawn()) < 4)
|
||||
{
|
||||
other.hidePlayer(player);
|
||||
|
@ -481,34 +536,34 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void SpawnAnimals(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.SLOW)
|
||||
return;
|
||||
|
||||
|
||||
Iterator<LivingEntity> entIterator = _mobs.iterator();
|
||||
|
||||
|
||||
while (entIterator.hasNext())
|
||||
{
|
||||
LivingEntity ent = entIterator.next();
|
||||
|
||||
|
||||
if (!ent.isValid())
|
||||
{
|
||||
ent.remove();
|
||||
entIterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (_mobs.size() > 24)
|
||||
return;
|
||||
|
||||
|
||||
//Loc
|
||||
double r = Math.random();
|
||||
|
||||
|
||||
Location loc = GetSpawn();
|
||||
|
||||
|
||||
if (r > 0.75) loc.add(32, 0.5, 0);
|
||||
else if (r > 0.5) loc.add(0, 0.5, 32);
|
||||
else if (r > 0.25) loc.add(-32, 0.5, 0);
|
||||
|
@ -522,7 +577,7 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||
else if (r > 0.25) _mobs.add(loc.getWorld().spawn(loc, Sheep.class));
|
||||
else _mobs.add(loc.getWorld().spawn(loc, Chicken.class));
|
||||
}
|
||||
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void Explosion(EntityExplodeEvent event)
|
||||
{
|
||||
|
|
|
@ -739,7 +739,7 @@ public abstract class Game implements Listener
|
|||
|
||||
public boolean CanJoinTeam(GameTeam team)
|
||||
{
|
||||
return team.GetSize() < UtilServer.getPlayers().length/GetTeamList().size();
|
||||
return team.GetSize() < Math.max(1, UtilServer.getPlayers().length/GetTeamList().size());
|
||||
}
|
||||
|
||||
public GameTeam GetTeamPreference(Player player)
|
||||
|
|
|
@ -162,6 +162,9 @@ public class SuperSmash extends SoloGame
|
|||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void FallDamage(CustomDamageEvent event)
|
||||
{
|
||||
if (event.IsCancelled())
|
||||
return;
|
||||
|
||||
if (event.GetCause() == DamageCause.FALL)
|
||||
event.SetCancelled("No Fall Damage");
|
||||
}
|
||||
|
@ -169,9 +172,19 @@ public class SuperSmash extends SoloGame
|
|||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void Knockback(CustomDamageEvent event)
|
||||
{
|
||||
if (event.IsCancelled())
|
||||
return;
|
||||
|
||||
if (event.GetDamageePlayer() != null)
|
||||
event.AddKnockback("Smash Knockback", 1 + 0.1 * (20 - event.GetDamageePlayer().getHealth()));
|
||||
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void ArenaWalls(CustomDamageEvent event)
|
||||
{
|
||||
if (event.IsCancelled())
|
||||
return;
|
||||
|
||||
if (event.GetCause() == DamageCause.VOID || event.GetCause() == DamageCause.LAVA)
|
||||
{
|
||||
event.GetDamageeEntity().getWorld().strikeLightningEffect(event.GetDamageeEntity().getLocation());
|
||||
|
|
|
@ -141,7 +141,7 @@ public class GameManager implements Listener
|
|||
if (game.GetCountdown() == -1)
|
||||
{
|
||||
game.InformQueuePositions();
|
||||
game.AnnounceGame();
|
||||
//game.AnnounceGame();
|
||||
}
|
||||
|
||||
//Initialise Countdown
|
||||
|
@ -263,7 +263,7 @@ public class GameManager implements Listener
|
|||
|
||||
if (!game.CanJoinTeam(team))
|
||||
break;
|
||||
|
||||
|
||||
queueIterator.remove();
|
||||
|
||||
if (!game.IsPlaying(player))
|
||||
|
|
Loading…
Reference in New Issue