Fix not being able to join games through portals

This commit is contained in:
Shaun Bennett 2016-01-04 16:41:07 -05:00
parent ed81411373
commit 962efe4a61

View File

@ -86,7 +86,7 @@ public class ServerManager extends MiniPlugin
private NautHashMap<String, ServerNpcShop> _serverNpcShopMap = new NautHashMap<String, ServerNpcShop>();
private NautHashMap<String, ServerInfo> _serverInfoMap = new NautHashMap<String, ServerInfo>();
private NautHashMap<String, Long> _serverUpdate = new NautHashMap<String, Long>();
private NautHashMap<Vector, String> _serverPortalLocations = new NautHashMap<Vector, String>();
private NautHashMap<Vector, String> _portalToServerKey = new NautHashMap<Vector, String>();
private ClansServerShop _clansShop;
@ -185,14 +185,15 @@ public class ServerManager extends MiniPlugin
return;
}
String serverName = _serverPortalLocations.get(player.getLocation().getBlock().getLocation().toVector());
String serverKey = _portalToServerKey.get(player.getLocation().getBlock().getLocation().toVector());
if (serverName != null)
if (serverKey != null)
{
List<ServerInfo> serverList = new ArrayList<ServerInfo>();
if (hasServerNpc(serverName))
serverList.addAll(getServerList(serverName));
Collection<ServerInfo> servers = getServerList(serverKey);
if (servers != null && servers.size() > 0)
serverList.addAll(servers);
int slots = 1;
@ -347,9 +348,9 @@ public class ServerManager extends MiniPlugin
}
}
public Collection<ServerInfo> getServerList(String serverNpcName)
public Collection<ServerInfo> getServerList(String serverKey)
{
return _serverKeyInfoMap.get(serverNpcName);
return _serverKeyInfoMap.get(serverKey);
}
public Set<String> getAllServers()
@ -362,11 +363,6 @@ public class ServerManager extends MiniPlugin
return _serverInfoMap.get(serverName);
}
public boolean hasServerNpc(String serverNpcName)
{
return _serverKeyInfoMap.containsKey(serverNpcName);
}
@EventHandler
public void updatePages(UpdateEvent event)
{
@ -711,7 +707,7 @@ public class ServerManager extends MiniPlugin
while (blocks < 10 && (bottomVector.getBlockX() != topVector.getBlockX() || bottomVector.getBlockZ() != topVector.getBlockZ()))
{
_serverPortalLocations.put(new Vector(bottomVector.getBlockX(), bottomVector.getBlockY(), bottomVector.getBlockZ()), serverGroup.getServerNpcName());
_portalToServerKey.put(new Vector(bottomVector.getBlockX(), bottomVector.getBlockY(), bottomVector.getBlockZ()), serverGroup.getPrefix());
if (bottomVector.getBlockX() != topVector.getBlockX())
{
@ -725,7 +721,7 @@ public class ServerManager extends MiniPlugin
blocks++;
}
_serverPortalLocations.put(bottomVector, serverGroup.getServerNpcName());
_portalToServerKey.put(bottomVector, serverGroup.getPrefix());
}
}
}