Readded the Wasteland. All main biomes readded. Have fun Forstride >:)

This commit is contained in:
Adubbz 2014-01-12 16:14:14 +11:00
parent b5c4f19ca0
commit 1574222eeb
8 changed files with 552 additions and 15 deletions

View file

@ -1,20 +1,32 @@
package biomesoplenty.common.biomes; package biomesoplenty.common.biomes;
import java.util.HashMap; import java.util.HashMap;
import java.util.Random;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.world.biome.BiomeGenBase.Height;
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraft.world.gen.feature.WorldGenerator;
import biomesoplenty.api.BOPBlockHelper; import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.common.configuration.BOPConfigurationMisc; import biomesoplenty.common.configuration.BOPConfigurationMisc;
import biomesoplenty.common.world.features.WorldGenBOPTallGrass; import biomesoplenty.common.world.features.WorldGenBOPTallGrass;
import biomesoplenty.common.world.features.trees.WorldGenDeadTree1;
public class BiomeGenWasteland extends BOPBiome public class BiomeGenWasteland extends BOPBiome
{ {
private static final Height biomeHeight = new Height(0.3F, 0.4F);
public BiomeGenWasteland(int id) public BiomeGenWasteland(int id)
{ {
super(id); super(id);
//TODO: setHeight()
this.func_150570_a(biomeHeight);
this.setDisableRain();
//TODO: setColor()
this.setColor(5919808);
this.setTemperatureRainfall(2.0F, 0.05F);
this.spawnableCreatureList.clear(); this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear(); this.spawnableWaterCreatureList.clear();
@ -27,15 +39,18 @@ public class BiomeGenWasteland extends BOPBiome
//TODO: FEATURE customBiomeDecorator.poisonWaterPerChunk = 10; //TODO: FEATURE customBiomeDecorator.poisonWaterPerChunk = 10;
this.bopWorldFeatures.waterLakesPerChunk = 2; this.bopWorldFeatures.waterLakesPerChunk = 2;
this.bopWorldFeatures.wasteland1PerChunk = 1;
this.bopWorldFeatures.wasteland2PerChunk = 1;
this.bopWorldFeatures.wasteland3PerChunk = 1;
this.bopWorldFeatures.wasteland4PerChunk = 1;
} }
/*@Override @Override
public WorldGenerator getRandomWorldGenForTrees(Random par1Random) //TODO: getRandomWorldGenForTrees()
public WorldGenAbstractTree func_150567_a(Random random)
{ {
return par1Random.nextInt(6) == 0 ? new WorldGenDeadTree3(false) return new WorldGenDeadTree1(false, Blocks.dirt, Blocks.grass, BOPBlockHelper.get("holyGrass"), BOPBlockHelper.get("driedDirt"), BOPBlockHelper.get("redRock"));
: (par1Random.nextInt(2) == 0 ? new WorldGenWasteland2() }
: new WorldGenWasteland());
}*/
@Override @Override
public HashMap<WorldGenerator, Double> getWeightedWorldGenForGrass() public HashMap<WorldGenerator, Double> getWeightedWorldGenForGrass()
@ -47,13 +62,6 @@ public class BiomeGenWasteland extends BOPBiome
return grassMap; return grassMap;
} }
/*@Override
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
{
return par1Random.nextInt(2) == 0 ? new WorldGenWasteland4() : new WorldGenWasteland3();
}*/
@Override @Override
//TODO: getBiomeGrassColor() //TODO: getBiomeGrassColor()
public int func_150558_b(int p_150558_1_, int p_150558_2_, int p_150558_3_) public int func_150558_b(int p_150558_1_, int p_150558_2_, int p_150558_3_)

View file

@ -60,6 +60,7 @@ import biomesoplenty.common.biomes.BiomeGenTropicalRainforest;
import biomesoplenty.common.biomes.BiomeGenTropics; import biomesoplenty.common.biomes.BiomeGenTropics;
import biomesoplenty.common.biomes.BiomeGenTundra; import biomesoplenty.common.biomes.BiomeGenTundra;
import biomesoplenty.common.biomes.BiomeGenVolcano; import biomesoplenty.common.biomes.BiomeGenVolcano;
import biomesoplenty.common.biomes.BiomeGenWasteland;
import biomesoplenty.common.biomes.BiomeGenWetland; import biomesoplenty.common.biomes.BiomeGenWetland;
import biomesoplenty.common.biomes.BiomeGenWoodland; import biomesoplenty.common.biomes.BiomeGenWoodland;
import biomesoplenty.common.configuration.BOPConfigurationIDs; import biomesoplenty.common.configuration.BOPConfigurationIDs;
@ -160,7 +161,7 @@ public class BOPBiomes
registerBiome(new BOPBiomeListEntry(new BiomeGenTropics(BOPConfigurationIDs.tropicsID).setBiomeName("Tropics"), BOPBiomeTemperatureType.HOT)); registerBiome(new BOPBiomeListEntry(new BiomeGenTropics(BOPConfigurationIDs.tropicsID).setBiomeName("Tropics"), BOPBiomeTemperatureType.HOT));
registerBiome(new BOPBiomeListEntry(new BiomeGenTundra(BOPConfigurationIDs.tundraID).setBiomeName("Tundra"), BOPBiomeTemperatureType.ICY)); registerBiome(new BOPBiomeListEntry(new BiomeGenTundra(BOPConfigurationIDs.tundraID).setBiomeName("Tundra"), BOPBiomeTemperatureType.ICY));
registerBiome(new BOPBiomeListEntry(new BiomeGenVolcano(BOPConfigurationIDs.volcanoID).setBiomeName("Volcano"), BOPBiomeTemperatureType.HOT)); registerBiome(new BOPBiomeListEntry(new BiomeGenVolcano(BOPConfigurationIDs.volcanoID).setBiomeName("Volcano"), BOPBiomeTemperatureType.HOT));
//registerBiome(new BOPBiomeListEntry(new BiomeGenWasteland(BOPConfigurationIDs.wastelandID).setBiomeName("Wasteland"), BOPBiomeTemperatureType.HOT)); registerOnlyBiome(new BOPBiomeListEntry(new BiomeGenWasteland(BOPConfigurationIDs.wastelandID).setBiomeName("Wasteland"), BOPBiomeTemperatureType.HOT));
registerBiome(new BOPBiomeListEntry(new BiomeGenWetland(BOPConfigurationIDs.wetlandID).setBiomeName("Wetland"), BOPBiomeTemperatureType.WARM)); registerBiome(new BOPBiomeListEntry(new BiomeGenWetland(BOPConfigurationIDs.wetlandID).setBiomeName("Wetland"), BOPBiomeTemperatureType.WARM));
registerBiome(new BOPBiomeListEntry(new BiomeGenWoodland(BOPConfigurationIDs.woodlandID).setBiomeName("Woodland"), BOPBiomeTemperatureType.WARM)); registerBiome(new BOPBiomeListEntry(new BiomeGenWoodland(BOPConfigurationIDs.woodlandID).setBiomeName("Woodland"), BOPBiomeTemperatureType.WARM));
} }

View file

@ -54,6 +54,10 @@ public class BOPWorldFeatures
public int lavaSpoutsPerChunk = 0; public int lavaSpoutsPerChunk = 0;
public int cobwebsPerChunk = 0; public int cobwebsPerChunk = 0;
public int cobwebNestsPerChunk = 0; public int cobwebNestsPerChunk = 0;
public int wasteland1PerChunk = 0;
public int wasteland2PerChunk = 0;
public int wasteland3PerChunk = 0;
public int wasteland4PerChunk = 0;
public int bopFlowersPerChunk = 0; public int bopFlowersPerChunk = 0;
} }

View file

@ -0,0 +1,152 @@
package biomesoplenty.common.world.features;
import java.lang.reflect.Field;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.feature.WorldGenerator;
import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.common.world.decoration.IBOPDecoration;
import biomesoplenty.common.world.generation.WorldGeneratorBOP;
public class WorldGenWasteland extends WorldGeneratorBOP
{
@Override
public boolean generate(World world, Random random, int x, int y, int z)
{
//TODO: isAirBlock()
while (world.func_147437_c(x, y, z) && y > 2)
{
--y;
}
//TODO: getBlock()
Block block = world.func_147439_a(x, y, z);
if (block != BOPBlockHelper.get("driedDirt"))
{
return false;
}
else
{
for (int var7 = -2; var7 <= 2; ++var7)
{
for (int var8 = -2; var8 <= 2; ++var8)
{
//TODO: isAirBlock() isAirBlock() isAirBlock()
if (world.func_147437_c(x + var7, y - 1, z + var8) && world.func_147437_c(x + var7, y - 2, z + var8) && !world.func_147437_c(x + var7, y, z + var8))
{
return false;
}
}
}
world.func_147449_b(x, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 3, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 3, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 3, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 3, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 3, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 3, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 3, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 3, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 3, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 4, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 4, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 4, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 4, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 4, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 5, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 5, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 5, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 5, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 5, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 6, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 7, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 8, z, BOPBlockHelper.get("driedDirt"));
return true;
}
}
@Override
public void doGeneration(World world, Random random, Field worldGeneratorField, WorldGenerator worldGenerator, BiomeGenBase biome, IBOPDecoration bopDecoration, int x, int z) throws Exception
{
for (int i = 0; i < worldGeneratorField.getInt(bopDecoration.getWorldFeatures()); i++)
{
int randX = x + random.nextInt(16) + 8;
int randZ = z + random.nextInt(16) + 8;
int randY = random.nextInt(world.getHeightValue(randX, randZ) * 2);
worldGenerator.generate(world, random, randX, randY, randZ);
}
}
}

View file

@ -0,0 +1,194 @@
package biomesoplenty.common.world.features;
import java.lang.reflect.Field;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.feature.WorldGenerator;
import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.common.world.decoration.IBOPDecoration;
import biomesoplenty.common.world.generation.WorldGeneratorBOP;
public class WorldGenWasteland2 extends WorldGeneratorBOP
{
@Override
public boolean generate(World world, Random random, int x, int y, int z)
{
//TODO: isAirBlock()
while (world.func_147437_c(x, y, z) && y > 2)
{
--y;
}
//TODO: getBlock()
Block block = world.func_147439_a(x, y, z);
if (block != BOPBlockHelper.get("driedDirt"))
{
return false;
}
else
{
for (int var7 = -2; var7 <= 2; ++var7)
{
for (int var8 = -2; var8 <= 2; ++var8)
{
//TODO: isAirBlock() isAirBlock() isAirBlock()
if (world.func_147437_c(x + var7, y - 1, z + var8) && world.func_147437_c(x + var7, y - 2, z + var8) && !world.func_147437_c(x + var7, y, z + var8))
{
return false;
}
}
}
world.func_147449_b(x, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 1, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 1, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 1, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 1, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 1, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 1, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 2, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 2, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 2, y + 2, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z - 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 2, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 2, z + 2, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 2, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 3, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 3, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 3, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 3, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 3, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 3, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 3, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 3, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 3, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 4, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 4, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 4, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 4, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 4, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 4, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 4, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 4, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 4, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 5, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 5, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 5, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 5, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 5, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 5, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 5, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 5, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 5, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 6, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 6, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 6, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 6, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 6, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 7, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 7, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 7, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 7, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 7, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y + 8, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y + 8, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 8, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 8, z + 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 8, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 9, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 10, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 11, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y + 12, z, BOPBlockHelper.get("driedDirt"));
return true;
}
}
@Override
public void doGeneration(World world, Random random, Field worldGeneratorField, WorldGenerator worldGenerator, BiomeGenBase biome, IBOPDecoration bopDecoration, int x, int z) throws Exception
{
for (int i = 0; i < worldGeneratorField.getInt(bopDecoration.getWorldFeatures()); i++)
{
int randX = x + random.nextInt(16) + 8;
int randZ = z + random.nextInt(16) + 8;
int randY = random.nextInt(world.getHeightValue(randX, randZ) * 2);
worldGenerator.generate(world, random, randX, randY, randZ);
}
}
}

View file

@ -0,0 +1,87 @@
package biomesoplenty.common.world.features;
import java.lang.reflect.Field;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.feature.WorldGenerator;
import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.common.world.decoration.IBOPDecoration;
import biomesoplenty.common.world.generation.WorldGeneratorBOP;
public class WorldGenWasteland3 extends WorldGeneratorBOP
{
@Override
public boolean generate(World world, Random random, int x, int y, int z)
{
//TODO: isAirBlock()
while (world.func_147437_c(x, y, z) && y > 2)
{
--y;
}
Block var6 = world.func_147439_a(x, y, z);
Block var95 = world.func_147439_a(x - 1, y, z);
Block var96 = world.func_147439_a(x + 1, y, z);
Block var97 = world.func_147439_a(x, y, z - 1);
Block var98 = world.func_147439_a(x, y, z + 1);
if (var6 != BOPBlockHelper.get("driedDirt") || var95 != BOPBlockHelper.get("driedDirt") || var96 != BOPBlockHelper.get("driedDirt") || var97 != BOPBlockHelper.get("driedDirt") || var98 != BOPBlockHelper.get("driedDirt") )
return false;
else
{
for (int var7 = -2; var7 <= 2; ++var7)
{
for (int var8 = -2; var8 <= 2; ++var8)
{
//TODO: isAirBlock() isAirBlock()
if (world.func_147437_c(x + var7, y - 1, z + var8) && world.func_147437_c(x + var7, y - 2, z + var8))
{
return false;
}
}
}
int var999 = random.nextInt(2);
if (var999 == 0)
{
world.func_147449_b(x, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x - 1, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x + 1, y, z, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z - 1, BOPBlockHelper.get("driedDirt"));
world.func_147449_b(x, y, z + 1, BOPBlockHelper.get("driedDirt"));
this.func_150516_a(world, x, y + 1, z, BOPBlockHelper.get("driedDirt"), 0);
this.func_150516_a(world, x + 1, y + 1, z, BOPBlockHelper.get("driedDirt"), 0);
this.func_150516_a(world, x - 1, y + 1, z, BOPBlockHelper.get("driedDirt"), 0);
this.func_150516_a(world, x, y + 1, z + 1, BOPBlockHelper.get("driedDirt"), 0);
this.func_150516_a(world, x, y + 1, z - 1, BOPBlockHelper.get("driedDirt"), 0);
this.func_150516_a(world, x, y + 2, z, BOPBlockHelper.get("driedDirt"), 0);
return true;
}
if (var999 == 1)
{
world.func_147449_b(x, y, z, BOPBlockHelper.get("driedDirt"));
this.func_150516_a(world, x, y + 1, z, BOPBlockHelper.get("driedDirt"), 0);
return true;
}
return true;
}
}
@Override
public void doGeneration(World world, Random random, Field worldGeneratorField, WorldGenerator worldGenerator, BiomeGenBase biome, IBOPDecoration bopDecoration, int x, int z) throws Exception
{
for (int i = 0; i < worldGeneratorField.getInt(bopDecoration.getWorldFeatures()); i++)
{
int randX = x + random.nextInt(16) + 8;
int randZ = z + random.nextInt(16) + 8;
int randY = random.nextInt(world.getHeightValue(randX, randZ) * 2);
worldGenerator.generate(world, random, randX, randY, randZ);
}
}
}

View file

@ -0,0 +1,83 @@
package biomesoplenty.common.world.features;
import java.lang.reflect.Field;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.feature.WorldGenerator;
import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.common.world.decoration.IBOPDecoration;
import biomesoplenty.common.world.generation.WorldGeneratorBOP;
public class WorldGenWasteland4 extends WorldGeneratorBOP
{
@Override
public boolean generate(World world, Random random, int x, int y, int z)
{
//TODO: isAirBlock()
while (world.func_147437_c(x, y, z) && y > 2)
{
--y;
}
Block var6 = world.func_147439_a(x, y, z);
Block var95 = world.func_147439_a(x - 1, y, z);
Block var96 = world.func_147439_a(x + 1, y, z);
Block var97 = world.func_147439_a(x, y, z - 1);
Block var98 = world.func_147439_a(x, y, z + 1);
if (var6 != BOPBlockHelper.get("driedDirt") || var95 != BOPBlockHelper.get("driedDirt") || var96 != BOPBlockHelper.get("driedDirt") || var97 != BOPBlockHelper.get("driedDirt") || var98 != BOPBlockHelper.get("driedDirt") )
return false;
else
{
for (int var7 = -2; var7 <= 2; ++var7)
{
for (int var8 = -2; var8 <= 2; ++var8)
{
//TODO: isAirBlock() isAirBlock()
if (world.func_147437_c(x + var7, y - 1, z + var8) && world.func_147437_c(x + var7, y - 2, z + var8))
{
return false;
}
}
}
int var999 = random.nextInt(2);
if (var999 == 0)
{
//TODO: setBlock()
this.func_150515_a(world, x, y - 1, z, Blocks.air);
this.func_150515_a(world, x + 1, y - 1, z, Blocks.air);
this.func_150515_a(world, x - 1, y - 1, z, Blocks.air);
this.func_150515_a(world, x, y - 1, z + 1, Blocks.air);
this.func_150515_a(world, x, y - 1, z - 1, Blocks.air);
this.func_150515_a(world, x, y - 2, z, Blocks.air);
return true;
}
if (var999 == 1)
{
this.func_150515_a(world, x, y - 1, z, Blocks.air);
return true;
}
return true;
}
}
@Override
public void doGeneration(World world, Random random, Field worldGeneratorField, WorldGenerator worldGenerator, BiomeGenBase biome, IBOPDecoration bopDecoration, int x, int z) throws Exception
{
for (int i = 0; i < worldGeneratorField.getInt(bopDecoration.getWorldFeatures()); i++)
{
int randX = x + random.nextInt(16) + 8;
int randZ = z + random.nextInt(16) + 8;
int randY = random.nextInt(world.getHeightValue(randX, randZ) * 2);
worldGenerator.generate(world, random, randX, randY, randZ);
}
}
}

View file

@ -18,6 +18,10 @@ import biomesoplenty.common.world.features.WorldGenLog;
import biomesoplenty.common.world.features.WorldGenRiverCane; import biomesoplenty.common.world.features.WorldGenRiverCane;
import biomesoplenty.common.world.features.WorldGenRockpile; import biomesoplenty.common.world.features.WorldGenRockpile;
import biomesoplenty.common.world.features.WorldGenSplotches; import biomesoplenty.common.world.features.WorldGenSplotches;
import biomesoplenty.common.world.features.WorldGenWasteland;
import biomesoplenty.common.world.features.WorldGenWasteland2;
import biomesoplenty.common.world.features.WorldGenWasteland3;
import biomesoplenty.common.world.features.WorldGenWasteland4;
import biomesoplenty.common.world.features.WorldGenWaterReeds; import biomesoplenty.common.world.features.WorldGenWaterReeds;
import biomesoplenty.common.world.features.WorldGenWaterside; import biomesoplenty.common.world.features.WorldGenWaterside;
@ -81,6 +85,10 @@ public class WorldGenFieldAssociation
associateField("lavaSpoutsPerChunk", new WorldGenLavaSpout()); associateField("lavaSpoutsPerChunk", new WorldGenLavaSpout());
associateField("cobwebsPerChunk", new WorldGenBOPFlora(Blocks.web, 0)); associateField("cobwebsPerChunk", new WorldGenBOPFlora(Blocks.web, 0));
associateField("cobwebNestsPerChunk", new WorldGenCobwebNest()); associateField("cobwebNestsPerChunk", new WorldGenCobwebNest());
associateField("wasteland1PerChunk", new WorldGenWasteland());
associateField("wasteland2PerChunk", new WorldGenWasteland2());
associateField("wasteland3PerChunk", new WorldGenWasteland3());
associateField("wasteland4PerChunk", new WorldGenWasteland4());
associateField("doubleTallGrassPerChunk", new WorldGenBOPDoubleFlora(Blocks.double_plant, Blocks.double_plant, 2, 8)); associateField("doubleTallGrassPerChunk", new WorldGenBOPDoubleFlora(Blocks.double_plant, Blocks.double_plant, 2, 8));
associateField("sunflowersPerChunk", new WorldGenBOPDoubleFlora(Blocks.double_plant, Blocks.double_plant, 0, 8)); associateField("sunflowersPerChunk", new WorldGenBOPDoubleFlora(Blocks.double_plant, Blocks.double_plant, 0, 8));