Made /ma join a little neater.

This commit is contained in:
Garbage Mule
2011-07-07 12:07:21 +02:00
parent 508134c60d
commit bbbc46f207
3 changed files with 51 additions and 78 deletions
BIN
View File
Binary file not shown.
@@ -58,6 +58,15 @@ public class ArenaMaster
// //
/////////////////////////////////////////////////////////////////////////*/ /////////////////////////////////////////////////////////////////////////*/
public List<Arena> getEnabledArenas()
{
List<Arena> result = new LinkedList<Arena>();
for (Arena arena : arenas)
if (arena.enabled)
result.add(arena);
return result;
}
public Arena getArenaInLocation(Location loc) public Arena getArenaInLocation(Location loc)
{ {
for (Arena arena : arenas) for (Arena arena : arenas)
+42 -78
View File
@@ -120,90 +120,54 @@ public class MACommands implements CommandExecutor
MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS));
return true; return true;
} }
List<Arena> arenas = am.getEnabledArenas();
if (!am.enabled || arenas.size() < 1)
{
MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_NOT_ENABLED));
return true;
}
boolean error; boolean error;
Arena arena;
if (!arg1.isEmpty()) if (!arg1.isEmpty())
{ arena = am.getArenaWithName(arg1);
Arena arena = am.getArenaWithName(arg1); else if (arenas.size() == 1)
arena = arenas.get(0);
// Crap-load of sanity-checks.
if (!am.enabled)
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_NOT_ENABLED));
else if (arena == null)
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST));
else if (am.arenaMap.containsKey(p) && am.arenaMap.get(p).livePlayers.contains(p))
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_IN_OTHER_ARENA));
else if (!arena.enabled)
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_ENABLED));
else if (!arena.setup)
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_SETUP));
else if (arena.running)
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_IS_RUNNING));
else if (arena.livePlayers.contains(p))
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ALREADY_PLAYING));
else if (arena.playerLimit > 0 && arena.livePlayers.size() >= arena.playerLimit)
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_LIMIT_REACHED));
else if (arena.emptyInvJoin && !MAUtils.hasEmptyInventory(p))
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_EMPTY_INV));
else if (!arena.emptyInvJoin && !MAUtils.storeInventory(p))
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_STORE_INV_FAIL));
else error = false;
// If there was an error, don't join.
if (error)
return true;
am.arenaMap.put(p,arena);
arena.playerJoin(p, p.getLocation());
MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_JOINED));
return true;
}
else else
{ arena = null;
if (am.arenas.size() < 1)
{ if (arenas.size() > 1 && arg1.isEmpty())
MAUtils.tellPlayer(sender, "There are no arenas loaded. Check your config-file."); error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARG_NEEDED));
return true; else if (arena == null)
} error = MAUtils.tellPlayer(p, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST));
else if (am.arenaMap.containsKey(p) && am.arenaMap.get(p).livePlayers.contains(p))
Arena arena = am.arenas.get(0); error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_IN_OTHER_ARENA));
else if (!arena.enabled)
if (!am.enabled) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_ENABLED));
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_NOT_ENABLED)); else if (!arena.setup || arena.edit)
else if (am.arenas.size() > 1) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_SETUP));
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARG_NEEDED)); else if (arena.running)
else if (arena == null) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_IS_RUNNING));
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); else if (arena.livePlayers.contains(p))
else if (am.arenaMap.containsKey(p) && am.arenaMap.get(p).livePlayers.contains(p)) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ALREADY_PLAYING));
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_IN_OTHER_ARENA)); else if (arena.playerLimit > 0 && arena.livePlayers.size() >= arena.playerLimit)
else if (!arena.enabled) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_LIMIT_REACHED));
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_ENABLED)); else if (arena.emptyInvJoin && !MAUtils.hasEmptyInventory(p))
else if (!arena.setup) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_EMPTY_INV));
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_NOT_SETUP)); else if (!arena.emptyInvJoin && !MAUtils.storeInventory(p))
else if (arena.running) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_STORE_INV_FAIL));
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_IS_RUNNING)); else error = false;
else if (arena.livePlayers.contains(p))
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ALREADY_PLAYING)); // If there was an error, don't join.
else if (arena.playerLimit > 0 && arena.livePlayers.size() >= arena.playerLimit) if (error)
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_LIMIT_REACHED));
else if (arena.emptyInvJoin && !MAUtils.hasEmptyInventory(p))
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_EMPTY_INV));
else if (!arena.emptyInvJoin && !MAUtils.storeInventory(p))
error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_STORE_INV_FAIL));
else error = false;
// If there was an error, don't join.
if (error)
return true;
am.arenaMap.put(p,arena);
arena.playerJoin(p, p.getLocation());
MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_JOINED));
return true; return true;
}
am.arenaMap.put(p,arena);
arena.playerJoin(p, p.getLocation());
MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_JOINED));
return true;
} }
/* /*