ADDED MORE KITS I'M DONE HOORAY LOVE ME @CHISS
This commit is contained in:
parent
c9ff420a79
commit
a7ab0cd723
@ -16,12 +16,12 @@ import mineplex.core.common.util.UtilBlock;
|
|||||||
import mineplex.core.common.util.UtilEnt;
|
import mineplex.core.common.util.UtilEnt;
|
||||||
import mineplex.core.common.util.UtilMath;
|
import mineplex.core.common.util.UtilMath;
|
||||||
import mineplex.core.common.util.UtilParticle;
|
import mineplex.core.common.util.UtilParticle;
|
||||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
|
||||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
|
||||||
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.UtilTextMiddle;
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||||
import mineplex.core.disguise.DisguiseFactory;
|
import mineplex.core.disguise.DisguiseFactory;
|
||||||
import mineplex.core.disguise.disguises.DisguiseBase;
|
import mineplex.core.disguise.disguises.DisguiseBase;
|
||||||
import mineplex.core.disguise.disguises.DisguiseMagmaCube;
|
import mineplex.core.disguise.disguises.DisguiseMagmaCube;
|
||||||
@ -38,6 +38,7 @@ import nautilus.game.arcade.game.games.monstermaze.events.EntityLaunchEvent;
|
|||||||
import nautilus.game.arcade.game.games.monstermaze.events.FirstToSafepadEvent;
|
import nautilus.game.arcade.game.games.monstermaze.events.FirstToSafepadEvent;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.events.MonsterBumpPlayerEvent;
|
import nautilus.game.arcade.game.games.monstermaze.events.MonsterBumpPlayerEvent;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.events.SafepadBuildEvent;
|
import nautilus.game.arcade.game.games.monstermaze.events.SafepadBuildEvent;
|
||||||
|
import nautilus.game.arcade.game.games.monstermaze.kits.KitBodyBuilder;
|
||||||
import net.minecraft.server.v1_7_R4.Packet;
|
import net.minecraft.server.v1_7_R4.Packet;
|
||||||
import net.minecraft.server.v1_7_R4.PacketPlayOutAnimation;
|
import net.minecraft.server.v1_7_R4.PacketPlayOutAnimation;
|
||||||
import net.minecraft.server.v1_7_R4.PacketPlayOutBlockBreakAnimation;
|
import net.minecraft.server.v1_7_R4.PacketPlayOutBlockBreakAnimation;
|
||||||
@ -188,27 +189,6 @@ public class Maze implements Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean _announced = false;
|
|
||||||
@EventHandler
|
|
||||||
public void sendF5Message(UpdateEvent event)
|
|
||||||
{
|
|
||||||
if (event.getType() != UpdateType.FAST)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (_host.GetState() != GameState.Prepare)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (_announced)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!UtilTime.elapsed(_host.GetStateTime(), 4000))
|
|
||||||
return;
|
|
||||||
|
|
||||||
_announced = true;
|
|
||||||
UtilTextMiddle.display(C.cYellow + C.Bold + "Press F5", C.cAqua + C.Bold + "Monster Maze is best in 3rd person!");
|
|
||||||
_host.Announce(C.cYellow + C.Scramble + "@@" + C.cAqua + C.Bold + " Monster Maze is best played in 3rd Person! (Push F5) " + C.cYellow + C.Scramble + "@@");
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void updateTick(UpdateEvent event)
|
public void updateTick(UpdateEvent event)
|
||||||
{
|
{
|
||||||
@ -676,7 +656,6 @@ public class Maze implements Listener
|
|||||||
|
|
||||||
for (Block cur : UtilBlock.getInBoundingBox(next.clone().add(-2, 0, -2), next.clone().add(2, 0, 2), false))
|
for (Block cur : UtilBlock.getInBoundingBox(next.clone().add(-2, 0, -2), next.clone().add(2, 0, 2), false))
|
||||||
{
|
{
|
||||||
//TODO Maze stuff
|
|
||||||
if (!_movementWaypointsDisabled.contains(cur))
|
if (!_movementWaypointsDisabled.contains(cur))
|
||||||
_movementWaypointsDisabled.add(cur);
|
_movementWaypointsDisabled.add(cur);
|
||||||
}
|
}
|
||||||
@ -771,16 +750,9 @@ public class Maze implements Listener
|
|||||||
loc.getBlock().setTypeIdAndData(0, (byte) 0, true);
|
loc.getBlock().setTypeIdAndData(0, (byte) 0, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
getPreset().getMaze().add(cur);
|
getPreset().getMaze().add(cur);
|
||||||
|
|
||||||
//TODO This is one part
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_centerSafeZoneDecay != 1)
|
|
||||||
{
|
|
||||||
UtilParticle.PlayParticle(ParticleType.BLOCK_DUST.getParticle(Material.STAINED_CLAY, loc.getBlock().getData()), loc.clone().add(0, .2, 0), 0.5f, 0.5f, 0.5f, 0.05f, 8, ViewDist.NORMAL, _host.GetPlayers(false).toArray(new Player[_host.GetPlayers(false).size()]));
|
|
||||||
}
|
|
||||||
|
|
||||||
ind++;
|
ind++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -898,9 +870,7 @@ public class Maze implements Listener
|
|||||||
for (Block block : UtilBlock.getInBoundingBox(pad.getLocation().clone().add(-2, 1, -2), pad.getLocation().clone().add(2, 1, 2), false))
|
for (Block block : UtilBlock.getInBoundingBox(pad.getLocation().clone().add(-2, 1, -2), pad.getLocation().clone().add(2, 1, 2), false))
|
||||||
{
|
{
|
||||||
if (_movementWaypointsDisabled.contains(block))
|
if (_movementWaypointsDisabled.contains(block))
|
||||||
_movementWaypointsDisabled.remove(block);
|
_movementWaypointsDisabled.remove(block);
|
||||||
|
|
||||||
//TODO Swag
|
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
@ -1039,6 +1009,12 @@ public class Maze implements Listener
|
|||||||
//2 hearts
|
//2 hearts
|
||||||
UtilPlayer.health(p, 4.0);
|
UtilPlayer.health(p, 4.0);
|
||||||
|
|
||||||
|
if (_host.GetKit(p) instanceof KitBodyBuilder)
|
||||||
|
{
|
||||||
|
p.setMaxHealth(Math.min(p.getMaxHealth() + 2, 30));
|
||||||
|
UtilParticle.PlayParticle(ParticleType.HEART, p.getEyeLocation().clone().add(0, .5, 0), 0F, 0F, 0F, 0, 3, ViewDist.NORMAL, UtilServer.getPlayers());
|
||||||
|
}
|
||||||
|
|
||||||
int decreased = Math.max(6, 16 - (_curSafe - 1));
|
int decreased = Math.max(6, 16 - (_curSafe - 1));
|
||||||
_phaseTimer = Math.min(decreased, _phaseTimer);
|
_phaseTimer = Math.min(decreased, _phaseTimer);
|
||||||
|
|
||||||
|
@ -25,6 +25,8 @@ import nautilus.game.arcade.game.games.monstermaze.events.AbilityUseEvent;
|
|||||||
import nautilus.game.arcade.game.games.monstermaze.events.MonsterBumpPlayerEvent;
|
import nautilus.game.arcade.game.games.monstermaze.events.MonsterBumpPlayerEvent;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.kits.KitJumper;
|
import nautilus.game.arcade.game.games.monstermaze.kits.KitJumper;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.kits.KitRepulsor;
|
import nautilus.game.arcade.game.games.monstermaze.kits.KitRepulsor;
|
||||||
|
import nautilus.game.arcade.game.games.monstermaze.kits.KitBodyBuilder;
|
||||||
|
import nautilus.game.arcade.game.games.monstermaze.kits.KitSlowball;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.trackers.AbilityUseTracker;
|
import nautilus.game.arcade.game.games.monstermaze.trackers.AbilityUseTracker;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.trackers.FirstToSafepadTracker;
|
import nautilus.game.arcade.game.games.monstermaze.trackers.FirstToSafepadTracker;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.trackers.PilotTracker;
|
import nautilus.game.arcade.game.games.monstermaze.trackers.PilotTracker;
|
||||||
@ -64,6 +66,8 @@ public class MonsterMaze extends SoloGame
|
|||||||
new Kit[]
|
new Kit[]
|
||||||
{
|
{
|
||||||
new KitJumper(manager),
|
new KitJumper(manager),
|
||||||
|
new KitSlowball(manager),
|
||||||
|
new KitBodyBuilder(manager),
|
||||||
new KitRepulsor(manager)
|
new KitRepulsor(manager)
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -87,6 +91,8 @@ public class MonsterMaze extends SoloGame
|
|||||||
|
|
||||||
CompassEnabled = false;
|
CompassEnabled = false;
|
||||||
|
|
||||||
|
VersionRequire1_8 = true;
|
||||||
|
|
||||||
registerStatTrackers(
|
registerStatTrackers(
|
||||||
new SnowmanHitTracker(this),
|
new SnowmanHitTracker(this),
|
||||||
new AbilityUseTracker(this),
|
new AbilityUseTracker(this),
|
||||||
@ -342,6 +348,27 @@ public class MonsterMaze extends SoloGame
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean _announced = false;
|
||||||
|
@EventHandler
|
||||||
|
public void sendF5Message(UpdateEvent event)
|
||||||
|
{
|
||||||
|
if (event.getType() != UpdateType.FAST)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (GetState() != GameState.Prepare)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (_announced)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!UtilTime.elapsed(GetStateTime(), 4000))
|
||||||
|
return;
|
||||||
|
|
||||||
|
_announced = true;
|
||||||
|
UtilTextMiddle.display(C.cYellow + C.Bold + "Press F5", C.cAqua + C.Bold + "Monster Maze is best in 3rd person!");
|
||||||
|
Announce(C.cYellow + C.Scramble + "@@" + C.cAqua + C.Bold + " Monster Maze is best played in 3rd Person! (Push F5) " + C.cYellow + C.Scramble + "@@");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void ScoreboardUpdate(UpdateEvent event)
|
public void ScoreboardUpdate(UpdateEvent event)
|
||||||
|
@ -5,9 +5,6 @@ import java.util.Iterator;
|
|||||||
|
|
||||||
import mineplex.core.common.util.MapUtil;
|
import mineplex.core.common.util.MapUtil;
|
||||||
import mineplex.core.common.util.UtilAlg;
|
import mineplex.core.common.util.UtilAlg;
|
||||||
import mineplex.core.common.util.UtilParticle;
|
|
||||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
|
||||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import net.minecraft.server.v1_7_R4.Packet;
|
import net.minecraft.server.v1_7_R4.Packet;
|
||||||
import net.minecraft.server.v1_7_R4.PacketPlayOutBlockBreakAnimation;
|
import net.minecraft.server.v1_7_R4.PacketPlayOutBlockBreakAnimation;
|
||||||
@ -253,9 +250,7 @@ public class SafePad
|
|||||||
SafePadBlock spb = iter.next();
|
SafePadBlock spb = iter.next();
|
||||||
if (!spb.getLocation().getBlock().getType().equals(Material.STAINED_CLAY))
|
if (!spb.getLocation().getBlock().getType().equals(Material.STAINED_CLAY))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
UtilParticle.PlayParticle(ParticleType.BLOCK_DUST.getParticle(Material.STAINED_CLAY, spb.getBlockData()), spb.getLocation(), 0.5f, 0.5f, 0.5f, 0.05f, 8, ViewDist.NORMAL, Host.GetPlayers(false).toArray(new Player[Host.GetPlayers(false).size()]));
|
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
Packet packet = new PacketPlayOutBlockBreakAnimation(i, spb.getLocation().getBlockX(), spb.getLocation().getBlockY(), spb.getLocation().getBlockZ(), progress);
|
Packet packet = new PacketPlayOutBlockBreakAnimation(i, spb.getLocation().getBlockX(), spb.getLocation().getBlockY(), spb.getLocation().getBlockZ(), progress);
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package nautilus.game.arcade.game.games.monstermaze.kits;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.kit.KitAvailability;
|
||||||
|
import nautilus.game.arcade.kit.Perk;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class KitBodyBuilder extends Kit
|
||||||
|
{
|
||||||
|
public KitBodyBuilder(ArcadeManager manager)
|
||||||
|
{
|
||||||
|
super(manager, "Body Builder", KitAvailability.Gem, 2000,
|
||||||
|
|
||||||
|
new String[]
|
||||||
|
{
|
||||||
|
"Your health just keeps getting better!"
|
||||||
|
},
|
||||||
|
|
||||||
|
new Perk[]
|
||||||
|
{
|
||||||
|
new Perk("Body Builder", new String[]{"Your " + F.elem("Max Health") + " increases by " + F.skill("One Heart"), "when you are first to a Safe Pad.", "Maximum of 15 hearts."}){}
|
||||||
|
},
|
||||||
|
EntityType.SKELETON,
|
||||||
|
ItemStackFactory.Instance.CreateStack(373, 8229));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void GiveItems(Player player)
|
||||||
|
{
|
||||||
|
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.COMPASS, (byte) 0, 1, F.item("Safe Pad Locator")));
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package nautilus.game.arcade.game.games.monstermaze.kits;
|
package nautilus.game.arcade.game.games.monstermaze.kits;
|
||||||
|
|
||||||
|
import mineplex.core.achievement.Achievement;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
@ -18,7 +19,7 @@ public class KitRepulsor extends Kit
|
|||||||
{
|
{
|
||||||
public KitRepulsor(ArcadeManager manager)
|
public KitRepulsor(ArcadeManager manager)
|
||||||
{
|
{
|
||||||
super(manager, "Repulsor", KitAvailability.Gem, 4000,
|
super(manager, "Repulsor", KitAvailability.Achievement, 0,
|
||||||
|
|
||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
@ -32,6 +33,16 @@ public class KitRepulsor extends Kit
|
|||||||
},
|
},
|
||||||
EntityType.SKELETON,
|
EntityType.SKELETON,
|
||||||
new ItemStack(Material.COAL));
|
new ItemStack(Material.COAL));
|
||||||
|
|
||||||
|
setAchievementRequirements(new Achievement[]
|
||||||
|
{
|
||||||
|
Achievement.MONSTER_MAZE_HARD_MODE,
|
||||||
|
Achievement.MONSTER_MAZE_NINJA,
|
||||||
|
Achievement.MONSTER_MAZE_PILOT,
|
||||||
|
Achievement.MONSTER_MAZE_SPEEDSTER,
|
||||||
|
Achievement.MONSTER_MAZE_SURVIVAL,
|
||||||
|
Achievement.MONSTER_MAZE_WINS
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
package nautilus.game.arcade.game.games.monstermaze.kits;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.kit.KitAvailability;
|
||||||
|
import nautilus.game.arcade.kit.Perk;
|
||||||
|
import nautilus.game.arcade.kit.perks.PerkConstructor;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.Snowball;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
public class KitSlowball extends Kit
|
||||||
|
{
|
||||||
|
public KitSlowball(ArcadeManager manager)
|
||||||
|
{
|
||||||
|
super(manager, "Slowballer", KitAvailability.Gem, 4000,
|
||||||
|
|
||||||
|
new String[]
|
||||||
|
{
|
||||||
|
"Slow enemies so they can't get to",
|
||||||
|
"their Safe Pad in time!"
|
||||||
|
},
|
||||||
|
|
||||||
|
new Perk[]
|
||||||
|
{
|
||||||
|
new PerkConstructor("Slowballer", 2, 16, Material.SNOW_BALL, "Slowball", true)
|
||||||
|
},
|
||||||
|
EntityType.SKELETON,
|
||||||
|
new ItemStack(Material.SNOW_BALL));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void GiveItems(Player player)
|
||||||
|
{
|
||||||
|
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.COMPASS, (byte) 0, 1, F.item("Safe Pad Locator")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void SnowballHit(CustomDamageEvent event)
|
||||||
|
{
|
||||||
|
if (event.GetProjectile() == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!(event.GetProjectile() instanceof Snowball))
|
||||||
|
return;
|
||||||
|
|
||||||
|
event.GetProjectile().remove();
|
||||||
|
|
||||||
|
// event.GetDamageeEntity().playEffect(EntityEffect.HURT);
|
||||||
|
|
||||||
|
Manager.GetCondition().Factory().Slow("Snowball Slow", event.GetDamageeEntity(), (LivingEntity)event.GetProjectile().getShooter(), 2, 1, false, false, true, false);
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,7 @@
|
|||||||
package nautilus.game.arcade.managers;
|
package nautilus.game.arcade.managers;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
import mineplex.core.antihack.AntiHack;
|
import mineplex.core.antihack.AntiHack;
|
||||||
import mineplex.core.common.Rank;
|
import mineplex.core.common.Rank;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
@ -12,6 +14,7 @@ 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.UtilTextMiddle;
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
|
import mineplex.core.common.util.UtilTime;
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
import mineplex.core.teleport.event.MineplexTeleportEvent;
|
import mineplex.core.teleport.event.MineplexTeleportEvent;
|
||||||
@ -1188,6 +1191,8 @@ public class GameFlagManager implements Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private HashMap<Player, Long> _versionKickCleanup = new HashMap<Player, Long>();
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void versionJoinCheck(PlayerJoinEvent event)
|
public void versionJoinCheck(PlayerJoinEvent event)
|
||||||
{
|
{
|
||||||
@ -1215,6 +1220,51 @@ public class GameFlagManager implements Listener
|
|||||||
|
|
||||||
player.playSound(player.getLocation(), Sound.ENDERDRAGON_GROWL, 10f, 1f);
|
player.playSound(player.getLocation(), Sound.ENDERDRAGON_GROWL, 10f, 1f);
|
||||||
Manager.GetPortal().sendPlayerToServer(player, "Lobby");
|
Manager.GetPortal().sendPlayerToServer(player, "Lobby");
|
||||||
|
|
||||||
|
if (!_versionKickCleanup.containsKey(player))
|
||||||
|
_versionKickCleanup.put(player, System.currentTimeMillis());
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onVersionCleanup(UpdateEvent event)
|
||||||
|
{
|
||||||
|
if (event.getType() != UpdateType.FASTER)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Manager.GetGame() == null || !Manager.GetGame().VersionRequire1_8)
|
||||||
|
{
|
||||||
|
if (!_versionKickCleanup.isEmpty())
|
||||||
|
_versionKickCleanup.clear();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
HashMap<Player, Long> copy = new HashMap<Player, Long>();
|
||||||
|
copy.putAll(_versionKickCleanup);
|
||||||
|
|
||||||
|
for (Player player : copy.keySet())
|
||||||
|
{
|
||||||
|
if (UtilPlayer.is1_8(player))
|
||||||
|
{
|
||||||
|
_versionKickCleanup.remove(player);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!player.isOnline())
|
||||||
|
{
|
||||||
|
_versionKickCleanup.remove(player);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Force kick the player after 10 seconds of not being sent to lobby.
|
||||||
|
if (UtilTime.elapsed(copy.get(player), 10000))
|
||||||
|
{
|
||||||
|
_versionKickCleanup.remove(player);
|
||||||
|
|
||||||
|
player.kickPlayer(C.cGold + C.Bold + Manager.GetGame().GetType().GetName() + " requires you to be using Minecraft 1.8!");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
Loading…
Reference in New Issue
Block a user