Fixed Bugs in DungeonHelper #31
@@ -20,6 +20,9 @@ public class PocketGenerator extends ChunkProviderGenerate implements IChunkProv
|
|||||||
{
|
{
|
||||||
private World worldObj;
|
private World worldObj;
|
||||||
|
|
||||||
|
private static final int MAX_MONOLITH_SPAWN_Y = 245;
|
||||||
|
private static final int CHUNK_SIZE = 16;
|
||||||
|
|
||||||
public PocketGenerator(World par1World, long par2, boolean par4)
|
public PocketGenerator(World par1World, long par2, boolean par4)
|
||||||
{
|
{
|
||||||
super(par1World, par2, par4);
|
super(par1World, par2, par4);
|
||||||
@@ -76,8 +79,9 @@ public class PocketGenerator extends ChunkProviderGenerate implements IChunkProv
|
|||||||
int x, y, z;
|
int x, y, z;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
x = chunkX * 16 + random.nextInt(32) - 8;
|
//Select a random column within the chunk
|
||||||
z = chunkZ * 16 + random.nextInt(32) - 8;
|
x = chunkX * CHUNK_SIZE + random.nextInt(CHUNK_SIZE);
|
||||||
|
z = chunkZ * CHUNK_SIZE + random.nextInt(CHUNK_SIZE);
|
||||||
y = 0;
|
y = 0;
|
||||||
|
|
||||||
while (worldObj.getBlockId(x, y, z) == 0 && y < 255)
|
while (worldObj.getBlockId(x, y, z) == 0 && y < 255)
|
||||||
@@ -86,18 +90,17 @@ public class PocketGenerator extends ChunkProviderGenerate implements IChunkProv
|
|||||||
}
|
}
|
||||||
y = yCoordHelper.getFirstUncovered(worldObj,x , y + 2, z);
|
y = yCoordHelper.getFirstUncovered(worldObj,x , y + 2, z);
|
||||||
|
|
||||||
if (worldObj.getBlockId(x, y-1, z) != mod_pocketDim.blockDimWall.blockID)
|
if (worldObj.getBlockId(x, y - 1, z) != mod_pocketDim.blockDimWall.blockID)
|
||||||
{
|
{
|
||||||
y = y + random.nextInt(4)+2;
|
y += random.nextInt(4) + 2;
|
||||||
}
|
}
|
||||||
if (y > 245)
|
if (y <= MAX_MONOLITH_SPAWN_Y)
|
||||||
{
|
{
|
||||||
return;
|
|
||||||
}
|
|
||||||
Entity mob = new MobObelisk(worldObj);
|
Entity mob = new MobObelisk(worldObj);
|
||||||
mob.setLocationAndAngles(x, y, z, 1, 1);
|
mob.setLocationAndAngles(x, y, z, 1, 1);
|
||||||
worldObj.spawnEntityInWorld(mob);
|
worldObj.spawnEntityInWorld(mob);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
while (yCoordHelper.getFirstUncovered(worldObj, x , y, z) > y || random.nextBoolean());
|
while (yCoordHelper.getFirstUncovered(worldObj, x , y, z) > y || random.nextBoolean());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user