diff options
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/worldGen/Generation.java')
| -rwxr-xr-x | src/main/java/darkknight/jewelrycraft/worldGen/Generation.java | 166 |
1 files changed, 114 insertions, 52 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java index 8419533..cc7790b 100755 --- a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java @@ -26,21 +26,26 @@ public class Generation implements IWorldGenerator { IChunkProvider chunkProvider) {
switch (world.provider.dimensionId) {
case -1:
- generateNether(world, random, chunkX << 4, chunkZ << 4);
+ generateNether(world, random, chunkX << 4,
+ chunkZ << 4);
break;
case 0:
- generateSurface(world, random, chunkX << 4, chunkZ << 4);
+ generateSurface(world, random, chunkX << 4,
+ chunkZ << 4);
break;
case 1:
- generateEnd(world, random, chunkX << 4, chunkZ << 4);
+ generateEnd(world, random, chunkX << 4,
+ chunkZ << 4);
break;
default:
- generateSurface(world, random, chunkX << 4, chunkZ << 4);
+ generateSurface(world, random, chunkX << 4,
+ chunkZ << 4);
break;
}
}
- private void generateEnd(World world, Random random, int i, int j) {
+ private void generateEnd(World world, Random random, int i,
+ int j) {
}
private void generateSurface(World world, Random random, int i,
@@ -49,29 +54,44 @@ public class Generation implements IWorldGenerator { if (!world.getWorldInfo().getTerrainType()
.equals(WorldType.FLAT)) {
if (ConfigHandler.ORE_GEN)
- generateShadowOre(world, random, i, j);
+ generateShadowOre(world, random, i,
+ j);
if (ConfigHandler.CRYSTAL_GEN)
- generateCrystals(world, random, i, j);
+ generateCrystals(world, random, i,
+ j);
try {
- for (Field f : this.getClass().getDeclaredFields()) {
+ for (Field f : this.getClass()
+ .getDeclaredFields()) {
Object obj = f.get(null);
if (obj instanceof WorldGenStructure
&& ConfigHandler.STRUCTURES[((WorldGenStructure) obj)
- .structureNo() - 1])
- if (((WorldGenStructure) obj).isUnderground())
+ .structureNo()
+ - 1])
+ if (((WorldGenStructure) obj)
+ .isUnderground())
generateStructureUnderground(
- (WorldGenStructure) obj, world,
- random, i, j,
+ (WorldGenStructure) obj,
+ world,
+ random,
+ i,
+ j,
ConfigHandler.STRUCTURES_SPAWN_CHANCE[((WorldGenStructure) obj)
- .structureNo() - 1],
- false, true);
+ .structureNo()
+ - 1],
+ false,
+ true);
else
generateStructureOverground(
- (WorldGenStructure) obj, world,
- random, i, j,
+ (WorldGenStructure) obj,
+ world,
+ random,
+ i,
+ j,
ConfigHandler.STRUCTURES_SPAWN_CHANCE[((WorldGenStructure) obj)
- .structureNo() - 1],
- false, true);
+ .structureNo()
+ - 1],
+ false,
+ true);
}
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
@@ -80,7 +100,8 @@ public class Generation implements IWorldGenerator { }
}
- private void generateNether(World world, Random random, int i, int j) {
+ private void generateNether(World world, Random random, int i,
+ int j) {
}
private void generateShadowOre(World world, Random random, int i,
@@ -90,12 +111,16 @@ public class Generation implements IWorldGenerator { int y = 5 + random.nextInt(4);
int z = j + random.nextInt(16);
if (world.getBlock(x, y, z) == Blocks.stone)
- world.setBlock(x, y, z, BlockList.shadowOre);
- int randX = random.nextInt(2), randY = random.nextInt(1),
+ world.setBlock(x, y, z,
+ BlockList.shadowOre);
+ int randX = random.nextInt(2),
+ randY = random.nextInt(1),
randZ = random.nextInt(2);
- if (random.nextInt(3) == 0 && world.getBlock(x + randX,
- y + randY, z + randZ) == Blocks.stone)
- world.setBlock(x + randX, y + randY, z + randZ,
+ if (random.nextInt(3) == 0 && world.getBlock(
+ x + randX, y + randY,
+ z + randZ) == Blocks.stone)
+ world.setBlock(x + randX, y + randY,
+ z + randZ,
BlockList.shadowOre);
}
}
@@ -110,18 +135,26 @@ public class Generation implements IWorldGenerator { int randX = random.nextInt(4);
int randY = random.nextInt(2);
int randZ = random.nextInt(4);
- if (world.getBlock(x + randX, y + randY - 1,
+ if (world.getBlock(x + randX,
+ y + randY - 1,
z + randZ) == Blocks.stone
- && world.getBlock(x + randX, y + randY,
+ && world.getBlock(
+ x + randX,
+ y + randY,
z + randZ) == Blocks.air)
- world.setBlock(x + randX, y + randY, z + randZ,
- BlockList.crystal, random.nextInt(16), 2);
+ world.setBlock(x + randX,
+ y + randY,
+ z + randZ,
+ BlockList.crystal,
+ random.nextInt(16),
+ 2);
}
}
}
- private void generateStructureUnderground(WorldGenStructure structure,
- World world, Random random, int i, int j, int maxAttempts,
+ private void generateStructureUnderground(
+ WorldGenStructure structure, World world,
+ Random random, int i, int j, int maxAttempts,
boolean noOfAttempts, boolean chanceOfSpawning) {
BiomeGenBase biomeBase = world.getBiomeGenForCoords(i, j);
if (noOfAttempts) {
@@ -129,57 +162,86 @@ public class Generation implements IWorldGenerator { int x = i + random.nextInt(16);
int y = random.nextInt(64);
int z = j + random.nextInt(16);
- if (world.getBlock(x, y, z) == Blocks.stone)
- structure.generate(world, biomeBase, random, x, y, z);
+ if (world.getBlock(x, y,
+ z) == Blocks.stone)
+ structure.generate(world,
+ biomeBase, random,
+ x, y, z);
}
} else if (chanceOfSpawning) {
if (random.nextInt(maxAttempts) == 0) {
int x = i + random.nextInt(16);
int y = random.nextInt(64);
int z = j + random.nextInt(16);
- if (world.getBlock(x, y, z) == Blocks.stone)
- structure.generate(world, biomeBase, random, x, y, z);
+ if (world.getBlock(x, y,
+ z) == Blocks.stone)
+ structure.generate(world,
+ biomeBase, random,
+ x, y, z);
}
}
}
- private void generateStructureOverground(WorldGenStructure structure,
- World world, Random random, int i, int j, int maxAttempts,
+ private void generateStructureOverground(
+ WorldGenStructure structure, World world,
+ Random random, int i, int j, int maxAttempts,
boolean noOfAttempts, boolean chanceOfSpawning) {
BiomeGenBase biomeBase = world.getBiomeGenForCoords(i, j);
if (noOfAttempts) {
for (int k = 0; k < maxAttempts; k++) {
int x = i + random.nextInt(16);
- int y = (world.getChunkHeightMapMinimum(i, j) > 0
- ? world.getChunkHeightMapMinimum(i, j)
- : world.getChunkFromChunkCoords(i,
- j).heightMapMinimum - 16)
+ int y = (world.getChunkHeightMapMinimum(i,
+ j) > 0 ? world.getChunkHeightMapMinimum(
+ i, j)
+ : world.getChunkFromChunkCoords(
+ i,
+ j).heightMapMinimum
+ - 16)
+ random.nextInt(4);
int z = j + random.nextInt(16);
if (world.getBlock(x, y, z) == Blocks.air
- && (world.getBlock(x, y - 1, z) == Blocks.stone
- || world.getBlock(x, y - 1,
+ && (world.getBlock(x,
+ y - 1,
+ z) == Blocks.stone
+ || world.getBlock(
+ x,
+ y - 1,
z) == Blocks.sand
- || world.getBlock(x, y - 1,
+ || world.getBlock(
+ x,
+ y - 1,
z) == Blocks.grass))
- structure.generate(world, biomeBase, random, x, y, z);
+ structure.generate(world,
+ biomeBase, random,
+ x, y, z);
}
} else if (chanceOfSpawning) {
if (random.nextInt(maxAttempts) == 0) {
int x = i + random.nextInt(16);
- int y = (world.getChunkHeightMapMinimum(i, j) > 0
- ? world.getChunkHeightMapMinimum(i, j)
- : world.getChunkFromChunkCoords(i,
- j).heightMapMinimum - 16)
+ int y = (world.getChunkHeightMapMinimum(i,
+ j) > 0 ? world.getChunkHeightMapMinimum(
+ i, j)
+ : world.getChunkFromChunkCoords(
+ i,
+ j).heightMapMinimum
+ - 16)
+ random.nextInt(4);
int z = j + random.nextInt(16);
if (world.getBlock(x, y, z) == Blocks.air
- && (world.getBlock(x, y - 1, z) == Blocks.stone
- || world.getBlock(x, y - 1,
+ && (world.getBlock(x,
+ y - 1,
+ z) == Blocks.stone
+ || world.getBlock(
+ x,
+ y - 1,
z) == Blocks.sand
- || world.getBlock(x, y - 1,
+ || world.getBlock(
+ x,
+ y - 1,
z) == Blocks.grass)) {
- structure.generate(world, biomeBase, random, x, y, z);
+ structure.generate(world,
+ biomeBase, random,
+ x, y, z);
System.out.println(x + " " + z);
}
}
|
