Refactoring challenge selection and updating.

This commit is contained in:
Thanos paravantis 2016-01-31 16:57:54 +02:00
parent 0e1a14a0c3
commit 1f22883c13
4 changed files with 251 additions and 184 deletions

View File

@ -1 +1 @@
[[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Nautilus.Game.Arcade","type":"PROJECT","hints":{"PROJECT_NAME":"Nautilus.Game.Arcade"}},"ABSENT"],[{"location":"C:\\Program Files\\Java\\jre1.8.0_51","type":"JRE","hints":{}},"jre:jre:1.8.0"],[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Libraries\\craftbukkit.jar","type":"JAR","hints":{}},"ABSENT"]] [[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Libraries\\craftbukkit.jar","type":"JAR","hints":{}},"ABSENT"],[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Nautilus.Game.Arcade","type":"PROJECT","hints":{"PROJECT_NAME":"Nautilus.Game.Arcade"}},"ABSENT"],[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Mineplex.Core.Common","type":"PROJECT","hints":{"PROJECT_NAME":"Mineplex.Core.Common"}},"ABSENT"]]

View File

@ -75,8 +75,8 @@ org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
org.eclipse.jdt.core.formatter.compact_else_if=true org.eclipse.jdt.core.formatter.compact_else_if=true
org.eclipse.jdt.core.formatter.continuation_indentation=2 org.eclipse.jdt.core.formatter.continuation_indentation=1
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false

View File

@ -145,7 +145,7 @@ public abstract class Challenge implements Listener
_places = (int) Math.ceil(getChallengers().size() / 2D); _places = (int) Math.ceil(getChallengers().size() / 2D);
} }
public boolean finish() public boolean canFinish()
{ {
boolean maxTimeReached = UtilTime.elapsed(_startTime, _duration); boolean maxTimeReached = UtilTime.elapsed(_startTime, _duration);
ArrayList<Player> players = getChallengers(); ArrayList<Player> players = getChallengers();

View File

@ -1,5 +1,6 @@
package nautilus.game.arcade.game.games.mineware; package nautilus.game.arcade.game.games.mineware;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
@ -130,7 +131,7 @@ public class MineWare extends TeamGame implements IThrown
private HashMap<Player, Integer> _lives = new HashMap<Player, Integer>(); private HashMap<Player, Integer> _lives = new HashMap<Player, Integer>();
private boolean _crumbling = false; private boolean _crumbling = false;
private boolean _waitingChallenge = true; private boolean _waiting = true;
private boolean _messagesSent = false; private boolean _messagesSent = false;
private boolean _sendingMessages = false; private boolean _sendingMessages = false;
private boolean _challengeStarted = false; private boolean _challengeStarted = false;
@ -142,14 +143,14 @@ public class MineWare extends TeamGame implements IThrown
public MineWare(ArcadeManager manager) public MineWare(ArcadeManager manager)
{ {
super(manager, super(manager,
GameType.MineWare, GameType.MineWare,
new Kit[] { new KitBawksFood(manager) }, new Kit[] { new KitBawksFood(manager) },
new String[] { new String[] {
"Follow the orders given in chat!", "Follow the orders given in chat!",
"First half to follow it win the round.", "First half to follow it win the round.",
"Other players lose one life.", "Other players lose one life.",
"Last player with lives wins!" "Last player with lives wins!"
}); });
DamageSelf = false; DamageSelf = false;
DamageTeamSelf = true; DamageTeamSelf = true;
@ -172,13 +173,13 @@ public class MineWare extends TeamGame implements IThrown
populateChallenges(); populateChallenges();
registerStatTrackers( registerStatTrackers(
new MinewareVeteranTracker(this), new MinewareVeteranTracker(this),
new MinewareSurfUpTracker(this), new MinewareSurfUpTracker(this),
new MinewareLauraCraftTracker(this), new MinewareLauraCraftTracker(this),
new MinewareMilkManTracker(this), new MinewareMilkManTracker(this),
new MinewarePinataMasterTracker(this), new MinewarePinataMasterTracker(this),
new MinewareTagMasterTracker(this), new MinewareTagMasterTracker(this),
new MinewareKangarooAtHeart(this)); new MinewareKangarooAtHeart(this));
} }
public void populateChallenges() public void populateChallenges()
@ -248,42 +249,48 @@ public class MineWare extends TeamGame implements IThrown
{ {
for (int i = 0; i < _challenges.size() * 4; i++) for (int i = 0; i < _challenges.size() * 4; i++)
{ {
try if (_challengesCopy.isEmpty())
_challengesCopy.addAll(_challenges);
Challenge challenge = getChallengeInstance();
if (getChallengers().size() >= challenge.getMinPlayers())
{ {
if (_challengesCopy.isEmpty()) if (getChallengers().size() >= challenge.getMaxPlayers())
_challengesCopy.addAll(_challenges); continue;
Challenge challenge = UtilMath.randomElement(_challengesCopy).getConstructor(MineWare.class) if (challenge.isTeamBased())
.newInstance(this); if (!(getChallengers().size() % 2 == 0))
if (getChallengers().size() >= challenge.getMinPlayers())
{
if (getChallengers().size() >= challenge.getMaxPlayers())
continue; continue;
if (challenge.isTeamBased()) _challengesCopy.remove(challenge.getClass());
if (!(getChallengers().size() % 2 == 0)) return challenge;
continue;
_challengesCopy.remove(challenge.getClass());
return challenge;
}
else
{
continue;
}
} }
catch (Exception e) else
{ {
System.out.println("There was a problem loading a new challenge."); continue;
System.out.println("Error: " + e.getMessage());
} }
} }
return null; return null;
} }
@SuppressWarnings("deprecation") private Challenge getChallengeInstance()
{
try
{
return UtilMath.randomElement(_challengesCopy).getConstructor(MineWare.class).newInstance(this);
}
catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
| SecurityException e)
{
System.out.println("There was a problem loading a new challenge.");
System.out.println("Error: " + e.getMessage());
}
return null;
}
@EventHandler @EventHandler
public void onChallengeUpdate(UpdateEvent event) public void onChallengeUpdate(UpdateEvent event)
{ {
@ -305,50 +312,20 @@ public class MineWare extends TeamGame implements IThrown
if (!UtilTime.elapsed(_challengeTime, 1500)) if (!UtilTime.elapsed(_challengeTime, 1500))
return; return;
for (Player player : GetPlayers(false)) resetDeadPlayers();
if (_lives.containsKey(player) && _lives.get(player) > 0)
Manager.Clear(player);
_challenge = selectChallenge(); _challenge = selectChallenge();
if (_challenge == null) keepSearchingIfNull(_challenge);
{
UtilServer.broadcast(F.main(GetName(),
"No suitable challenge, " + _challengesCopy.size() + " challenges remaining."));
_challengesCopy.clear(); resetLastChallengeMap();
_challengesCopy.addAll(_challenges);
_challenge = selectChallenge();
if (_challenge == null)
{
SetState(GameState.Dead);
return;
}
}
for (Block block : _lastOrderBlocks)
{
if (block.getState() instanceof InventoryHolder)
{
InventoryHolder holder = (InventoryHolder) block.getState();
holder.getInventory().clear();
}
block.setTypeIdAndData(Material.AIR.getId(), (byte) 0, false);
}
// if (_currentCrumble == true)
_crumbling = false; _crumbling = false;
_deathEffect.removeSpawnedEntities(); _deathEffect.removeSpawnedEntities();
_challenge.generateRoom(); _challenge.generateRoom();
ArrayList<Location> spawns = _challenge.getSpawns(); ArrayList<Location> spawns = setupChallengeSpawnLocations();
_playersTeam.SetSpawns(_challenge.getSpawns()); ArrayList<Location> selectedSpawnpoints = new ArrayList<Location>();
SpectatorSpawn = UtilWorld.averageLocation(spawns).add(0, 7, 0);
ArrayList<Location> toTeleport = new ArrayList<Location>();
for (int i = 0; i < spawns.size(); i++) for (int i = 0; i < spawns.size(); i++)
{ {
@ -357,12 +334,12 @@ public class MineWare extends TeamGame implements IThrown
for (Location spawn : spawns) for (Location spawn : spawns)
{ {
if (toTeleport.contains(spawn)) if (selectedSpawnpoints.contains(spawn))
continue; continue;
double dist = 0; double dist = 0;
for (Location loc : toTeleport) for (Location loc : selectedSpawnpoints)
dist += loc.distance(spawn); dist += loc.distance(spawn);
if (furthest == null || furthestDist < dist) if (furthest == null || furthestDist < dist)
@ -372,28 +349,11 @@ public class MineWare extends TeamGame implements IThrown
} }
} }
toTeleport.add(furthest); selectedSpawnpoints.add(furthest);
} }
int i = 0; teleportPlayersToSpawnpoints(selectedSpawnpoints);
teleportSpectatorsToSpawn();
for (Player player : getChallengers())
{
player.teleport(toTeleport.get(i++));
if (i >= toTeleport.size())
i = 0;
}
for (Player player : GetPlayers(false))
if (!IsAlive(player))
{
if (_chickenTeam != null)
if (_chickenTeam.HasPlayer(player))
continue;
player.teleport(SpectatorSpawn);
}
if (_challenge instanceof ChallengeSeperateRooms) if (_challenge instanceof ChallengeSeperateRooms)
{ {
@ -402,46 +362,24 @@ public class MineWare extends TeamGame implements IThrown
} }
_challengeTime = System.currentTimeMillis(); _challengeTime = System.currentTimeMillis();
_waitingChallenge = true; _waiting = true;
} }
else if (_waitingChallenge) else if (_waiting)
{ {
if (!UtilTime.elapsed(_challengeTime, 1000)) if (!UtilTime.elapsed(_challengeTime, 1000))
return; return;
if (!_sendingMessages && !_messagesSent) if (!_sendingMessages && !_messagesSent)
{ {
for (Player player : GetPlayers(true)) startChallengeDescriptionThread();
{
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, Integer.MAX_VALUE, 1));
player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, Integer.MAX_VALUE, 1));
}
Thread newThread = new Thread(new Runnable() // return;
{
@Override
public void run()
{
showChallengeDescription(_challenge);
}
});
newThread.start();
return;
} }
else if (_messagesSent)
if (_messagesSent)
{ {
for (Player player : GetPlayers(true)) removeEffectsFromPlayers();
{
if (player.hasPotionEffect(PotionEffectType.BLINDNESS))
{
player.removePotionEffect(PotionEffectType.BLINDNESS);
player.removePotionEffect(PotionEffectType.NIGHT_VISION);
}
}
_waitingChallenge = false; _waiting = false;
_challengeStarted = true; _challengeStarted = true;
_challenge.start(); _challenge.start();
@ -453,11 +391,11 @@ public class MineWare extends TeamGame implements IThrown
} }
else else
{ {
if (_challenge.finish()) if (_challenge.canFinish())
{ {
if (_challenge.canCrumble() && !_challenge.getModifiedBlocks().isEmpty()) if (canStartCrumbling())
{ {
if (!_crumbling && _challenge.getLost().size() >= _challenge.getCurrentPlaying().size() / 2) if (justStartedCrumbling())
{ {
_crumbling = true; _crumbling = true;
@ -466,15 +404,12 @@ public class MineWare extends TeamGame implements IThrown
for (Player player : UtilServer.getPlayers()) for (Player player : UtilServer.getPlayers())
if (IsAlive(player)) if (IsAlive(player))
UtilPlayer.message(player, UtilPlayer.message(player,
F.main(GetName(), "Challenge ends when there's only 1 player alive.")); F.main(GetName(), "Challenge ends when there's only 1 player alive."));
} }
else else if (canEndChallengeFromCrumble())
{ {
if ((_challenge.getCurrentPlaying().size() - _challenge.getLost().size()) <= 1 && _crumbling) endCurrentChallenge();
{ _crumbling = false;
endCurrentChallenge();
_crumbling = false;
}
} }
} }
else else
@ -484,22 +419,144 @@ public class MineWare extends TeamGame implements IThrown
} }
else else
{ {
for (Player player : UtilServer.getPlayers()) updateChallengeTimer();
{ }
if (_challenge instanceof ChallengeSeperateRooms) }
{ }
UtilTextTop.display(C.cYellow + C.Bold + _challenge.getGameMessages()[0], player);
player.setLevel(_challenge.getRemainingPlaces()); private void resetDeadPlayers()
player.setExp(_challenge.getTimeLeftPercent()); {
} for (Player player : GetPlayers(false))
else if (_lives.containsKey(player) && _lives.get(player) > 0)
{ Manager.Clear(player);
UtilTextTop.displayTextBar(player, _challenge.getTimeLeftPercent(), }
C.cYellow + C.Bold + _challenge.getName());
player.setLevel(_challenge.getRemainingPlaces()); @SuppressWarnings("deprecation")
player.setExp(_challenge.getTimeLeftPercent()); private void resetLastChallengeMap()
} {
} for (Block block : _lastOrderBlocks)
{
if (block.getState() instanceof InventoryHolder)
{
InventoryHolder holder = (InventoryHolder) block.getState();
holder.getInventory().clear();
}
block.setTypeIdAndData(Material.AIR.getId(), (byte) 0, false);
}
}
private ArrayList<Location> setupChallengeSpawnLocations()
{
ArrayList<Location> spawns = _challenge.getSpawns();
_playersTeam.SetSpawns(spawns);
SpectatorSpawn = UtilWorld.averageLocation(spawns).add(0, 7.0D, 0);
return spawns;
}
private void teleportSpectatorsToSpawn()
{
for (Player player : GetPlayers(false))
{
if (!IsAlive(player))
{
if (_chickenTeam != null)
if (_chickenTeam.HasPlayer(player))
continue;
player.teleport(SpectatorSpawn);
}
}
}
private void keepSearchingIfNull(Challenge challenge)
{
if (_challenge == null)
{
UtilServer.broadcast(F.main(GetName(), "No suitable challenge was found."));
_challengesCopy.clear();
_challengesCopy.addAll(_challenges);
_challenge = selectChallenge();
if (_challenge == null)
{
SetState(GameState.Dead);
return;
}
}
}
private void teleportPlayersToSpawnpoints(ArrayList<Location> spawnpoints)
{
int i = 0;
for (Player player : getChallengers())
{
player.teleport(spawnpoints.get(i++));
if (i >= spawnpoints.size())
i = 0;
}
}
private void startChallengeDescriptionThread()
{
Thread thread = new Thread(new Runnable()
{
@Override
public void run()
{
showChallengeDescription(_challenge);
}
});
thread.start();
}
private void removeEffectsFromPlayers()
{
for (Player player : GetPlayers(true))
{
if (player.hasPotionEffect(PotionEffectType.BLINDNESS) && player.hasPotionEffect(PotionEffectType.NIGHT_VISION))
{
player.removePotionEffect(PotionEffectType.BLINDNESS);
player.removePotionEffect(PotionEffectType.NIGHT_VISION);
}
}
}
private boolean canStartCrumbling()
{
return _challenge.canCrumble() && !_challenge.getModifiedBlocks().isEmpty();
}
private boolean justStartedCrumbling()
{
return !_crumbling && _challenge.getLost().size() >= _challenge.getCurrentPlaying().size() / 2;
}
private boolean canEndChallengeFromCrumble()
{
return (_challenge.getCurrentPlaying().size() - _challenge.getLost().size()) <= 1 && _crumbling;
}
private void updateChallengeTimer()
{
for (Player player : UtilServer.getPlayers())
{
if (_challenge instanceof ChallengeSeperateRooms)
{
UtilTextTop.display(C.cYellow + C.Bold + _challenge.getGameMessages()[0], player);
player.setLevel(_challenge.getRemainingPlaces());
player.setExp(_challenge.getTimeLeftPercent());
}
else
{
UtilTextTop.displayTextBar(player, _challenge.getTimeLeftPercent(),
C.cYellow + C.Bold + _challenge.getName());
player.setLevel(_challenge.getRemainingPlaces());
player.setExp(_challenge.getTimeLeftPercent());
} }
} }
} }
@ -508,6 +565,22 @@ public class MineWare extends TeamGame implements IThrown
{ {
_challengeTime = System.currentTimeMillis(); _challengeTime = System.currentTimeMillis();
resetPlayersOnChallengeEnding();
Manager.getPluginManager().callEvent(new ChallengeEndEvent(_challenge));
HandlerList.unregisterAll(_challenge);
_challenge.end();
_challengeStarted = false;
sortLastChallengeBlocks();
_challenge = null;
EndCheck();
}
private void resetPlayersOnChallengeEnding()
{
for (Player player : getChallengers()) for (Player player : getChallengers())
{ {
Manager.GetDisguise().undisguise(player); Manager.GetDisguise().undisguise(player);
@ -519,13 +592,10 @@ public class MineWare extends TeamGame implements IThrown
if (_challenge.isCompleted(player)) if (_challenge.isCompleted(player))
AddGems(player, 3, "Completed Challenge", true, true); AddGems(player, 3, "Completed Challenge", true, true);
} }
}
Manager.getPluginManager().callEvent(new ChallengeEndEvent(_challenge)); private void sortLastChallengeBlocks()
HandlerList.unregisterAll(_challenge); {
_challenge.end();
_challengeStarted = false;
_lastOrderBlocks = new ArrayList<Block>(_challenge.getModifiedBlocks()); _lastOrderBlocks = new ArrayList<Block>(_challenge.getModifiedBlocks());
Collections.sort(_lastOrderBlocks, new Comparator<Block>() Collections.sort(_lastOrderBlocks, new Comparator<Block>()
@ -536,9 +606,6 @@ public class MineWare extends TeamGame implements IThrown
return new Integer(o2.getY()).compareTo(o1.getY()); return new Integer(o2.getY()).compareTo(o1.getY());
} }
}); });
_challenge = null;
EndCheck();
} }
@EventHandler @EventHandler
@ -550,7 +617,7 @@ public class MineWare extends TeamGame implements IThrown
if (_challenge == null) if (_challenge == null)
return; return;
if (_waitingChallenge) if (_waiting)
return; return;
Manager.getPluginManager().callEvent(new ChallengeEndEvent(_challenge)); Manager.getPluginManager().callEvent(new ChallengeEndEvent(_challenge));
@ -716,10 +783,10 @@ public class MineWare extends TeamGame implements IThrown
int looped = 0; int looped = 0;
List<String> messages = Arrays.asList( List<String> messages = Arrays.asList(
C.cRed + C.Bold + "3", C.cRed + C.Bold + "3",
C.cYellow + C.Bold + "2", C.cYellow + C.Bold + "2",
C.cGreen + C.Bold + "1", C.cGreen + C.Bold + "1",
C.cGreen + C.Bold + "GO!"); C.cGreen + C.Bold + "GO!");
@Override @Override
public void run() public void run()
@ -762,7 +829,7 @@ public class MineWare extends TeamGame implements IThrown
player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, Integer.MAX_VALUE, 1)); player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, Integer.MAX_VALUE, 1));
} }
} }
@EventHandler @EventHandler
public void onPlayerMove(PlayerMoveEvent event) public void onPlayerMove(PlayerMoveEvent event)
{ {
@ -775,7 +842,7 @@ public class MineWare extends TeamGame implements IThrown
if (!PrepareFreeze) if (!PrepareFreeze)
return; return;
if (!_waitingChallenge) if (!_waiting)
return; return;
Location from = event.getFrom(); Location from = event.getFrom();
@ -879,7 +946,7 @@ public class MineWare extends TeamGame implements IThrown
if (GetState() == GameState.Recruit && GetCountdown() >= 0 && GetPlayers(false).size() < 2) if (GetState() == GameState.Recruit && GetCountdown() >= 0 && GetPlayers(false).size() < 2)
{ {
UtilServer UtilServer
.broadcast(F.main(GetName(), C.cRed + "This game requires at least 2 players to start.")); .broadcast(F.main(GetName(), C.cRed + "This game requires at least 2 players to start."));
SetCountdown(-1); SetCountdown(-1);
Manager.GetLobby().DisplayWaiting(); Manager.GetLobby().DisplayWaiting();
} }
@ -931,7 +998,7 @@ public class MineWare extends TeamGame implements IThrown
try try
{ {
Class<? extends Challenge> result = (Class<? extends Challenge>) Class Class<? extends Challenge> result = (Class<? extends Challenge>) Class
.forName("nautilus.game.arcade.game.games.mineware.challenges.Challenge" + rawClass); .forName("nautilus.game.arcade.game.games.mineware.challenges.Challenge" + rawClass);
Announce(C.cAqua + C.Bold + GetName() + " restricted to " + rawClass + " challenge."); Announce(C.cAqua + C.Bold + GetName() + " restricted to " + rawClass + " challenge.");
@ -941,12 +1008,12 @@ public class MineWare extends TeamGame implements IThrown
catch (ClassNotFoundException e) catch (ClassNotFoundException e)
{ {
UtilPlayer.message(player, F.main(GetName(), UtilPlayer.message(player, F.main(GetName(),
"Could not match " + F.elem(rawClass) + " with any challenges.")); "Could not match " + F.elem(rawClass) + " with any challenges."));
} }
catch (ClassCastException e) catch (ClassCastException e)
{ {
UtilPlayer.message(player, UtilPlayer.message(player,
F.main(GetName(), F.elem(rawClass) + "is not a challenge!")); F.main(GetName(), F.elem(rawClass) + "is not a challenge!"));
} }
} }
else else
@ -970,7 +1037,7 @@ public class MineWare extends TeamGame implements IThrown
else else
{ {
UtilPlayer.message(player, UtilPlayer.message(player,
F.main(GetName(), "You cannot skip a challenge if the game is not started.")); F.main(GetName(), "You cannot skip a challenge if the game is not started."));
} }
event.setCancelled(true); event.setCancelled(true);
@ -1040,10 +1107,10 @@ public class MineWare extends TeamGame implements IThrown
// TODO: Retrieve center and corners from map data. // TODO: Retrieve center and corners from map data.
_chickenAttack = new ChickenAttack( _chickenAttack = new ChickenAttack(
this, this,
new Location(WorldData.World, 50, 0, 0), new Location(WorldData.World, 50, 0, 0),
new Location(WorldData.World, 47, 0, -3), new Location(WorldData.World, 47, 0, -3),
new Location(WorldData.World, 53, 0, 3)); new Location(WorldData.World, 53, 0, 3));
} }
@EventHandler @EventHandler
@ -1076,7 +1143,7 @@ public class MineWare extends TeamGame implements IThrown
@EventHandler @EventHandler
public void onPlayerInteract(PlayerInteractEvent event) public void onPlayerInteract(PlayerInteractEvent event)
{ {
if (!_waitingChallenge) if (!_waiting)
return; return;
event.setCancelled(true); event.setCancelled(true);
@ -1097,7 +1164,7 @@ public class MineWare extends TeamGame implements IThrown
@Override @Override
public boolean isInsideMap(Player player) public boolean isInsideMap(Player player)
{ {
if (_challenge != null && !_waitingChallenge) if (_challenge != null && !_waiting)
return _challenge.isInsideMap(player); return _challenge.isInsideMap(player);
return true; return true;
@ -1218,7 +1285,7 @@ public class MineWare extends TeamGame implements IThrown
public boolean isWaitingChallenge() public boolean isWaitingChallenge()
{ {
return _waitingChallenge; return _waiting;
} }
public boolean areMessagesSent() public boolean areMessagesSent()