2013-11-06 00:15:23 +01:00
|
|
|
package StevenDimDoors.mod_pocketDim.helpers;
|
|
|
|
|
2013-11-07 00:15:30 +01:00
|
|
|
import StevenDimDoors.mod_pocketDim.IChunkLoader;
|
|
|
|
import StevenDimDoors.mod_pocketDim.core.NewDimData;
|
|
|
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
|
|
|
|
|
|
|
import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
|
|
|
|
2013-11-06 20:27:55 +01:00
|
|
|
import java.io.File;
|
2013-11-06 00:15:23 +01:00
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import net.minecraft.world.World;
|
2013-11-06 20:27:55 +01:00
|
|
|
import net.minecraftforge.common.DimensionManager;
|
2013-11-06 00:15:23 +01:00
|
|
|
import net.minecraftforge.common.ForgeChunkManager;
|
|
|
|
import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
|
|
|
|
import net.minecraftforge.common.ForgeChunkManager.Ticket;
|
|
|
|
|
|
|
|
public class ChunkLoaderHelper implements LoadingCallback
|
|
|
|
{
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void ticketsLoaded(List<Ticket> tickets, World world)
|
|
|
|
{
|
|
|
|
for (Ticket ticket : tickets)
|
|
|
|
{
|
|
|
|
int goldDimDoorX = ticket.getModData().getInteger("goldDimDoorX");
|
|
|
|
int goldDimDoorY = ticket.getModData().getInteger("goldDimDoorY");
|
|
|
|
int goldDimDoorZ = ticket.getModData().getInteger("goldDimDoorZ");
|
|
|
|
IChunkLoader tile = (IChunkLoader) world.getBlockTileEntity(goldDimDoorX, goldDimDoorY, goldDimDoorZ);
|
|
|
|
tile.forceChunkLoading(ticket,goldDimDoorX,goldDimDoorZ);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
2013-11-06 20:27:55 +01:00
|
|
|
|
|
|
|
public static void loadChunkForcedWorlds(FMLServerStartingEvent event)
|
|
|
|
{
|
|
|
|
for(NewDimData data : PocketManager.getDimensions())
|
|
|
|
{
|
|
|
|
if(data.isPocketDimension())
|
|
|
|
{
|
|
|
|
String chunkDir = DimensionManager.getCurrentSaveRootDirectory()+"/DimensionalDoors/pocketDimID" + data.id();
|
|
|
|
|
|
|
|
File file = new File(chunkDir);
|
|
|
|
|
|
|
|
if(file.exists())
|
|
|
|
{
|
|
|
|
if(ForgeChunkManager.savedWorldHasForcedChunkTickets(file))
|
|
|
|
{
|
|
|
|
PocketManager.loadDimension(data.id());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2013-11-06 00:15:23 +01:00
|
|
|
}
|