if (!mapName.equals(worldName))
{
Map map = Current.Maps.get(mapName.toLowerCase());
if (map != null)
{
GameState gs = Current.GameStates.get(event.getPlayer().getName());
if (gs == null || !gs.getMap().getMapName().equalsIgnoreCase(mapName))
{
gs = GameStateData.Load(map, event.getPlayer(), false);
if (gs != null)
{
if (gs.canRespawn())
{
World world = Current.LoadWorld(gs, event.getPlayer());
if (gs.getMap().getResetInventory())
{
gs.toggleInventory();
}
event.getPlayer().teleport(world.getSpawnLocation());
event.getPlayer().sendMessage(gs.getMap().getEntranceText());
gs.setInChallenge(true);
}
else
{
gs.PendingRemoval = true;