2013-06-02 03:43:56 +02:00
|
|
|
package StevenDimDoors.mod_pocketDim.world;
|
2013-02-18 03:46:16 +01:00
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import net.minecraft.entity.EnumCreatureType;
|
|
|
|
import net.minecraft.world.ChunkPosition;
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
import net.minecraft.world.chunk.Chunk;
|
|
|
|
import net.minecraft.world.chunk.IChunkProvider;
|
|
|
|
import net.minecraft.world.gen.ChunkProviderGenerate;
|
2013-08-29 08:14:24 +02:00
|
|
|
import StevenDimDoors.mod_pocketDim.core.NewDimData;
|
|
|
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
2013-07-26 11:15:44 +02:00
|
|
|
import StevenDimDoors.mod_pocketDim.ticking.MonolithSpawner;
|
2013-02-18 03:46:16 +01:00
|
|
|
|
2013-06-23 08:53:10 +02:00
|
|
|
public class PocketGenerator extends ChunkProviderGenerate implements IChunkProvider
|
2013-02-18 03:46:16 +01:00
|
|
|
{
|
2013-06-23 08:49:25 +02:00
|
|
|
private World worldObj;
|
2013-02-18 03:46:16 +01:00
|
|
|
|
2013-07-26 11:15:44 +02:00
|
|
|
private MonolithSpawner spawner;
|
2013-06-23 22:17:04 +02:00
|
|
|
|
2013-07-26 11:15:44 +02:00
|
|
|
public PocketGenerator(World par1World, long par2, boolean par4, MonolithSpawner spawner)
|
2013-02-18 03:46:16 +01:00
|
|
|
{
|
|
|
|
super(par1World, par2, par4);
|
2013-06-23 08:49:25 +02:00
|
|
|
this.worldObj = par1World;
|
2013-07-12 05:58:59 +02:00
|
|
|
|
2013-07-26 11:15:44 +02:00
|
|
|
this.spawner = spawner;
|
2013-02-18 03:46:16 +01:00
|
|
|
}
|
2013-06-23 08:49:25 +02:00
|
|
|
|
2013-02-18 03:46:16 +01:00
|
|
|
@Override
|
|
|
|
public void generateTerrain(int par1, int par2, byte[] par3ArrayOfByte)
|
2013-06-23 08:49:25 +02:00
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean unloadQueuedChunks()
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
2013-02-18 03:46:16 +01:00
|
|
|
|
|
|
|
@Override
|
2013-06-23 08:49:25 +02:00
|
|
|
public Chunk provideChunk(int chunkX, int chunkZ)
|
|
|
|
{
|
|
|
|
byte[] var3 = new byte[32768];
|
|
|
|
|
|
|
|
Chunk chunk = new Chunk(worldObj, var3, chunkX, chunkZ);
|
2013-07-12 05:58:59 +02:00
|
|
|
|
|
|
|
if(!chunk.isTerrainPopulated)
|
|
|
|
{
|
2013-07-26 11:15:44 +02:00
|
|
|
chunk.isTerrainPopulated = true;
|
|
|
|
spawner.registerChunkForPopulation(worldObj.provider.dimensionId, chunkX, chunkZ);
|
2013-07-12 05:58:59 +02:00
|
|
|
}
|
2013-02-18 03:46:16 +01:00
|
|
|
|
2013-06-23 08:49:25 +02:00
|
|
|
return chunk;
|
|
|
|
}
|
2013-02-18 03:46:16 +01:00
|
|
|
|
|
|
|
@Override
|
2013-06-02 07:46:31 +02:00
|
|
|
public Chunk loadChunk(int var1, int var2)
|
|
|
|
{
|
2013-02-18 03:46:16 +01:00
|
|
|
return super.loadChunk(var1, var2);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2013-06-23 08:49:25 +02:00
|
|
|
public void populate(IChunkProvider chunkProvider, int chunkX, int chunkZ)
|
2013-06-15 08:09:17 +02:00
|
|
|
{
|
2013-06-23 08:49:25 +02:00
|
|
|
|
2013-02-18 03:46:16 +01:00
|
|
|
}
|
|
|
|
|
2013-07-26 11:15:44 +02:00
|
|
|
@SuppressWarnings("rawtypes")
|
2013-04-01 09:15:16 +02:00
|
|
|
@Override
|
2013-06-23 08:49:25 +02:00
|
|
|
public List getPossibleCreatures(EnumCreatureType var1, int var2, int var3, int var4)
|
2013-04-01 09:15:16 +02:00
|
|
|
{
|
2013-08-29 08:14:24 +02:00
|
|
|
NewDimData dimension = PocketManager.getDimensionData(this.worldObj);
|
|
|
|
if (dimension != null && dimension.dungeon() != null && !dimension.dungeon().isOpen())
|
2013-05-28 00:58:20 +02:00
|
|
|
{
|
2013-08-29 08:14:24 +02:00
|
|
|
return this.worldObj.getBiomeGenForCoords(var2, var3).getSpawnableList(var1);
|
2013-05-28 00:58:20 +02:00
|
|
|
}
|
2013-04-01 09:15:16 +02:00
|
|
|
return null;
|
|
|
|
}
|
2013-02-18 03:46:16 +01:00
|
|
|
|
|
|
|
@Override
|
2013-06-23 08:49:25 +02:00
|
|
|
public ChunkPosition findClosestStructure(World var1, String var2, int var3, int var4, int var5)
|
|
|
|
{
|
2013-02-18 03:46:16 +01:00
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|