Fixed More Bugs
Fixed more bugs. Now it's possible to generate a world without crashing. Unfortunately, it's clear that there is a packet-sending loop going on. I'll have to add a check to prevent integrated servers from spamming themselves.
This commit is contained in:
parent
77bc0e833f
commit
8bfe9dc22e
3 changed files with 13 additions and 3 deletions
|
@ -35,9 +35,20 @@ public class EventHookContainer
|
||||||
|
|
||||||
@ForgeSubscribe
|
@ForgeSubscribe
|
||||||
public void onWorldLoad(WorldEvent.Load event)
|
public void onWorldLoad(WorldEvent.Load event)
|
||||||
|
{
|
||||||
|
// We need to initialize PocketManager here because onServerAboutToStart fires before we can
|
||||||
|
// use DimensionManager and onServerStarting fires after the game tries to generate terrain.
|
||||||
|
// If a gateway tries to generate before PocketManager has initialized, we get a crash.
|
||||||
|
if (!PocketManager.isLoaded())
|
||||||
|
{
|
||||||
|
PocketManager.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PocketManager.isLoaded())
|
||||||
{
|
{
|
||||||
RiftRegenerator.regenerateRiftsInAllWorlds();
|
RiftRegenerator.regenerateRiftsInAllWorlds();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ForgeSubscribe
|
@ForgeSubscribe
|
||||||
public void onPlayerFall(LivingFallEvent event)
|
public void onPlayerFall(LivingFallEvent event)
|
||||||
|
|
|
@ -127,7 +127,7 @@ public abstract class NewDimData
|
||||||
IUpdateWatcher<Point4D> linkWatcher)
|
IUpdateWatcher<Point4D> linkWatcher)
|
||||||
{
|
{
|
||||||
// The isPocket flag is redundant. It's meant as an integrity safeguard.
|
// The isPocket flag is redundant. It's meant as an integrity safeguard.
|
||||||
if (isPocket == (parent != null))
|
if (isPocket != (parent != null))
|
||||||
{
|
{
|
||||||
throw new NullPointerException("Dimensions can be pocket dimensions if and only if they have a parent dimension.");
|
throw new NullPointerException("Dimensions can be pocket dimensions if and only if they have a parent dimension.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -384,6 +384,5 @@ public class mod_pocketDim
|
||||||
CommandCreatePocket.instance().register(event);
|
CommandCreatePocket.instance().register(event);
|
||||||
CommandTeleportPlayer.instance().register(event);
|
CommandTeleportPlayer.instance().register(event);
|
||||||
*/
|
*/
|
||||||
PocketManager.load();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue