Fixed Packet issues

This commit is contained in:
StevenRS11
2013-11-11 17:24:20 -05:00
parent 0f49c8c28f
commit 5cd5a323e0
3 changed files with 41 additions and 26 deletions

View File

@@ -204,6 +204,10 @@ public class PocketManager
private static volatile boolean isLoading = false;
private static volatile boolean isLoaded = false;
private static volatile boolean isSaving = false;
/**
* Set as true if we are a client that has connected to a dedicated server
*/
public static volatile boolean isConnected = false;
private static final UpdateWatcherProxy<Point4D> linkWatcher = new UpdateWatcherProxy<Point4D>();
private static final UpdateWatcherProxy<ClientDimData> dimWatcher = new UpdateWatcherProxy<ClientDimData>();
private static ArrayList<NewDimData> rootDimensions = null;
@@ -564,6 +568,10 @@ public class PocketManager
//Any pocket dimension must be listed with PocketManager to have a dimension ID
//assigned, so it's safe to assume that any unknown dimensions don't belong to us.
if(PocketManager.dimensionData == null)
{
System.out.println("Something odd happend during shutdown");
}
NewDimData dimension = PocketManager.dimensionData.get(dimensionID);
if (dimension == null)
{
@@ -585,16 +593,19 @@ public class PocketManager
public static void unload()
{
System.out.println("Dimensional Doors unloading...");
if (!isLoaded)
{
throw new IllegalStateException("Pocket dimensions have already been unloaded!");
}
save();
unregisterPockets();
dimensionData = null;
rootDimensions = null;
isLoaded = false;
isConnected = false;
}
public static DimLink getLink(int x, int y, int z, World world)
@@ -680,12 +691,9 @@ public class PocketManager
throw new IllegalStateException("Pocket dimensions are already loading!");
}
// Load compacted client-side dimension data
load();
Compactor.readDimensions(input, new DimRegistrationCallback());
// Register pocket dimensions
DDProperties properties = DDProperties.instance();
registerPockets(properties);
isConnected = true;
isLoaded = true;
isLoading = false;
}