Updated ServerManager to read server npc stuff from redis.
Updated ServerGroup to have NPC name in it.
This commit is contained in:
parent
a2250ea343
commit
d9a641fd92
|
@ -59,6 +59,7 @@ import mineplex.hub.server.ui.LobbyShop;
|
||||||
import mineplex.hub.server.ui.QuickShop;
|
import mineplex.hub.server.ui.QuickShop;
|
||||||
import mineplex.hub.server.ui.ServerCountSorter;
|
import mineplex.hub.server.ui.ServerCountSorter;
|
||||||
import mineplex.hub.server.ui.ServerNpcShop;
|
import mineplex.hub.server.ui.ServerNpcShop;
|
||||||
|
import mineplex.serverdata.Region;
|
||||||
import mineplex.serverdata.data.MinecraftServer;
|
import mineplex.serverdata.data.MinecraftServer;
|
||||||
import mineplex.serverdata.data.ServerGroup;
|
import mineplex.serverdata.data.ServerGroup;
|
||||||
|
|
||||||
|
@ -114,7 +115,7 @@ public class ServerManager extends MiniPlugin
|
||||||
|
|
||||||
plugin.getServer().getMessenger().registerOutgoingPluginChannel(plugin, "BungeeCord");
|
plugin.getServer().getMessenger().registerOutgoingPluginChannel(plugin, "BungeeCord");
|
||||||
|
|
||||||
LoadServers();
|
loadServers();
|
||||||
|
|
||||||
_quickShop = new QuickShop(this, clientManager, donationManager, "Quick Menu");
|
_quickShop = new QuickShop(this, clientManager, donationManager, "Quick Menu");
|
||||||
_lobbyShop = new LobbyShop(this, clientManager, donationManager, "Lobby Menu");
|
_lobbyShop = new LobbyShop(this, clientManager, donationManager, "Lobby Menu");
|
||||||
|
@ -628,7 +629,7 @@ public class ServerManager extends MiniPlugin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadServers()
|
public void loadServers()
|
||||||
{
|
{
|
||||||
_serverInfoMap.clear();
|
_serverInfoMap.clear();
|
||||||
_serverUpdate.clear();
|
_serverUpdate.clear();
|
||||||
|
@ -640,82 +641,49 @@ public class ServerManager extends MiniPlugin
|
||||||
|
|
||||||
_serverKeyTagMap.clear();
|
_serverKeyTagMap.clear();
|
||||||
|
|
||||||
FileInputStream fstream = null;
|
Region region = getPlugin().getConfig().getBoolean("serverstatus.us") ? Region.US : Region.EU;
|
||||||
BufferedReader br = null;
|
|
||||||
|
|
||||||
HashSet<String> npcNames = new HashSet<String>();
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File npcFile = new File("ServerManager.dat");
|
for (ServerGroup serverGroup : mineplex.serverdata.servers.ServerManager.getServerRepository(region).getServerGroups(null))
|
||||||
|
|
||||||
if (npcFile.exists())
|
|
||||||
{
|
{
|
||||||
fstream = new FileInputStream(npcFile);
|
if (!serverGroup.getServerNpcName().isEmpty())
|
||||||
br = new BufferedReader(new InputStreamReader(fstream));
|
|
||||||
|
|
||||||
String line = br.readLine();
|
|
||||||
|
|
||||||
while (line != null)
|
|
||||||
{
|
{
|
||||||
String serverNpcName = line.substring(0, line.indexOf('|')).trim();
|
if (!HasServerNpc(serverGroup.getServerNpcName()))
|
||||||
String[] serverTags = line.substring(line.indexOf('|') + 1, line.indexOf('|', line.indexOf('|') + 1)).trim().split(",");
|
{
|
||||||
String[] locations = line.substring(line.indexOf('|', line.indexOf('|') + 1) + 1).trim().split(",");
|
AddServerNpc(serverGroup.getServerNpcName(), serverGroup.getPrefix());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (String location : locations)
|
if (!serverGroup.getPortalBottomCornerLocation().isEmpty() && !serverGroup.getPortalTopCornerLocation().isEmpty())
|
||||||
|
{
|
||||||
|
Vector bottomVector = ParseVector(serverGroup.getPortalBottomCornerLocation());
|
||||||
|
Vector topVector = ParseVector(serverGroup.getPortalTopCornerLocation());
|
||||||
|
int blocks = 0;
|
||||||
|
|
||||||
|
while (blocks < 10 && (bottomVector.getBlockX() != topVector.getBlockX() || bottomVector.getBlockZ() != topVector.getBlockZ()))
|
||||||
{
|
{
|
||||||
_serverPortalLocations.put(ParseVector(location), serverNpcName);
|
_serverPortalLocations.put(new Vector(bottomVector.getBlockX(), bottomVector.getBlockY(), bottomVector.getBlockZ()), serverGroup.getServerNpcName());
|
||||||
|
|
||||||
|
if (bottomVector.getBlockX() != topVector.getBlockX())
|
||||||
|
{
|
||||||
|
bottomVector.add(new Vector(-(bottomVector.getBlockX() - topVector.getBlockX()) / Math.abs(bottomVector.getBlockX() - topVector.getBlockX()), 0, 0));
|
||||||
|
}
|
||||||
|
else if (bottomVector.getBlockZ() != topVector.getBlockZ())
|
||||||
|
{
|
||||||
|
bottomVector.add(new Vector(0, 0, -(bottomVector.getBlockZ() - topVector.getBlockZ()) / Math.abs(bottomVector.getBlockZ() - topVector.getBlockZ())));
|
||||||
|
}
|
||||||
|
|
||||||
|
blocks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!HasServerNpc(serverNpcName))
|
_serverPortalLocations.put(bottomVector, serverGroup.getServerNpcName());
|
||||||
{
|
|
||||||
AddServerNpc(serverNpcName, serverTags);
|
|
||||||
}
|
|
||||||
|
|
||||||
npcNames.add(serverNpcName);
|
|
||||||
|
|
||||||
line = br.readLine();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
System.out.println("ServerManager - Error parsing servers file : " + e.getMessage());
|
System.out.println("ServerManager - Error parsing servergroups : " + e.getMessage());
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
if (br != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
br.close();
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fstream != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
fstream.close();
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (String npcName : npcNames)
|
|
||||||
{
|
|
||||||
if (!_serverNpcShopMap.containsKey(npcName))
|
|
||||||
_serverNpcShopMap.remove(npcName);
|
|
||||||
|
|
||||||
if (!_serverKeyInfoMap.containsKey(npcName))
|
|
||||||
_serverKeyInfoMap.remove(npcName);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ public class ServerGroup
|
||||||
private boolean _staffOnly;
|
private boolean _staffOnly;
|
||||||
private String _resourcePack = "";
|
private String _resourcePack = "";
|
||||||
|
|
||||||
|
private String _npcName = "";
|
||||||
private String _portalBottomCornerLocation = "";
|
private String _portalBottomCornerLocation = "";
|
||||||
private String _portalTopCornerLocation = "";
|
private String _portalTopCornerLocation = "";
|
||||||
|
|
||||||
|
@ -109,6 +110,7 @@ public class ServerGroup
|
||||||
_teamServerKey = data.containsKey("teamServerKey") ? data.get("teamServerKey") : "";
|
_teamServerKey = data.containsKey("teamServerKey") ? data.get("teamServerKey") : "";
|
||||||
_portalBottomCornerLocation = data.containsKey("portalBottomCornerLocation") ? data.get("portalBottomCornerLocation") : "";
|
_portalBottomCornerLocation = data.containsKey("portalBottomCornerLocation") ? data.get("portalBottomCornerLocation") : "";
|
||||||
_portalTopCornerLocation = data.containsKey("portalTopCornerLocation") ? data.get("portalTopCornerLocation") : "";
|
_portalTopCornerLocation = data.containsKey("portalTopCornerLocation") ? data.get("portalTopCornerLocation") : "";
|
||||||
|
_npcName = data.containsKey("npcName") ? data.get("npcName") : "";
|
||||||
|
|
||||||
if (serverStatuses != null)
|
if (serverStatuses != null)
|
||||||
parseServers(serverStatuses);
|
parseServers(serverStatuses);
|
||||||
|
@ -118,7 +120,7 @@ public class ServerGroup
|
||||||
, int minPlayers, int maxPlayers, boolean pvp, boolean tournament, boolean tournamentPoints, String games, String serverType, boolean noCheat, boolean worldEdit, boolean teamRejoin
|
, int minPlayers, int maxPlayers, boolean pvp, boolean tournament, boolean tournamentPoints, String games, String serverType, boolean noCheat, boolean worldEdit, boolean teamRejoin
|
||||||
, boolean teamAutoJoin, boolean teamForceBalance, boolean gameAutoStart, boolean gameTimeout, boolean rewardGems, boolean rewardItems, boolean rewardStats
|
, boolean teamAutoJoin, boolean teamForceBalance, boolean gameAutoStart, boolean gameTimeout, boolean rewardGems, boolean rewardItems, boolean rewardStats
|
||||||
, boolean rewardAchievements, boolean hotbarInventory, boolean hotbarHubClock, boolean playerKickIdle, boolean staffOnly, boolean whitelist, String resourcePack, Region region
|
, boolean rewardAchievements, boolean hotbarInventory, boolean hotbarHubClock, boolean playerKickIdle, boolean staffOnly, boolean whitelist, String resourcePack, Region region
|
||||||
, String teamServerKey, String portalBottomCornerLocation, String portalTopCornerLocation)
|
, String teamServerKey, String portalBottomCornerLocation, String portalTopCornerLocation, String npcName)
|
||||||
{
|
{
|
||||||
_name = name;
|
_name = name;
|
||||||
_prefix = prefix;
|
_prefix = prefix;
|
||||||
|
@ -160,6 +162,7 @@ public class ServerGroup
|
||||||
_teamServerKey = teamServerKey;
|
_teamServerKey = teamServerKey;
|
||||||
_portalBottomCornerLocation = portalBottomCornerLocation;
|
_portalBottomCornerLocation = portalBottomCornerLocation;
|
||||||
_portalTopCornerLocation = portalTopCornerLocation;
|
_portalTopCornerLocation = portalTopCornerLocation;
|
||||||
|
_npcName = npcName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() { return _name; }
|
public String getName() { return _name; }
|
||||||
|
@ -210,6 +213,7 @@ public class ServerGroup
|
||||||
|
|
||||||
public String getTeamServerKey() { return _teamServerKey; }
|
public String getTeamServerKey() { return _teamServerKey; }
|
||||||
|
|
||||||
|
public String getServerNpcName() { return _npcName; }
|
||||||
public String getPortalBottomCornerLocation() { return _portalBottomCornerLocation; }
|
public String getPortalBottomCornerLocation() { return _portalBottomCornerLocation; }
|
||||||
public String getPortalTopCornerLocation() { return _portalTopCornerLocation; }
|
public String getPortalTopCornerLocation() { return _portalTopCornerLocation; }
|
||||||
|
|
||||||
|
@ -370,6 +374,7 @@ public class ServerGroup
|
||||||
_dataMap.put("teamServerKey", _teamServerKey);
|
_dataMap.put("teamServerKey", _teamServerKey);
|
||||||
_dataMap.put("portalBottomCornerLocation", _portalBottomCornerLocation);
|
_dataMap.put("portalBottomCornerLocation", _portalBottomCornerLocation);
|
||||||
_dataMap.put("portalTopCornerLocation", _portalTopCornerLocation);
|
_dataMap.put("portalTopCornerLocation", _portalTopCornerLocation);
|
||||||
|
_dataMap.put("npcName", _npcName);
|
||||||
}
|
}
|
||||||
|
|
||||||
return _dataMap;
|
return _dataMap;
|
||||||
|
|
Loading…
Reference in New Issue