1791 lines
63 KiB
Java
1791 lines
63 KiB
Java
package biomesoplenty.biomes;
|
|
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.BIG_SHROOM;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.CLAY;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.DEAD_BUSH;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FLOWERS;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.GRASS;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.LILYPAD;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.REED;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SAND;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SAND_PASS2;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SHROOM;
|
|
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.TREE;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.COAL;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIAMOND;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIRT;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GOLD;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GRAVEL;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.IRON;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.LAPIS;
|
|
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.REDSTONE;
|
|
|
|
import java.util.Random;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.world.World;
|
|
import net.minecraft.world.biome.BiomeDecorator;
|
|
import net.minecraft.world.biome.BiomeGenBase;
|
|
import net.minecraft.world.gen.feature.WorldGenBigMushroom;
|
|
import net.minecraft.world.gen.feature.WorldGenCactus;
|
|
import net.minecraft.world.gen.feature.WorldGenClay;
|
|
import net.minecraft.world.gen.feature.WorldGenDeadBush;
|
|
import net.minecraft.world.gen.feature.WorldGenLakes;
|
|
import net.minecraft.world.gen.feature.WorldGenLiquids;
|
|
import net.minecraft.world.gen.feature.WorldGenMinable;
|
|
import net.minecraft.world.gen.feature.WorldGenPumpkin;
|
|
import net.minecraft.world.gen.feature.WorldGenReed;
|
|
import net.minecraft.world.gen.feature.WorldGenSand;
|
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
|
import net.minecraft.world.gen.feature.WorldGenWaterlily;
|
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
|
import net.minecraftforge.common.MinecraftForge;
|
|
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
|
|
import net.minecraftforge.event.terraingen.OreGenEvent;
|
|
import net.minecraftforge.event.terraingen.TerrainGen;
|
|
import biomesoplenty.api.Blocks;
|
|
import biomesoplenty.api.Fluids;
|
|
import biomesoplenty.configuration.configfile.BOPConfigurationTerrainGen;
|
|
import biomesoplenty.worldgen.WorldGenAlgae;
|
|
import biomesoplenty.worldgen.WorldGenAsh;
|
|
import biomesoplenty.worldgen.WorldGenBOPBush;
|
|
import biomesoplenty.worldgen.WorldGenBOPFlowers;
|
|
import biomesoplenty.worldgen.WorldGenBOPPumpkin;
|
|
import biomesoplenty.worldgen.WorldGenBadlands;
|
|
import biomesoplenty.worldgen.WorldGenBadlands2;
|
|
import biomesoplenty.worldgen.WorldGenBadlands3;
|
|
import biomesoplenty.worldgen.WorldGenBadlands4;
|
|
import biomesoplenty.worldgen.WorldGenBoneSpine;
|
|
import biomesoplenty.worldgen.WorldGenBoneSpine2;
|
|
import biomesoplenty.worldgen.WorldGenBoulder;
|
|
import biomesoplenty.worldgen.WorldGenCanyon;
|
|
import biomesoplenty.worldgen.WorldGenCanyonGrass;
|
|
import biomesoplenty.worldgen.WorldGenCattail;
|
|
import biomesoplenty.worldgen.WorldGenCloud;
|
|
import biomesoplenty.worldgen.WorldGenCobwebs;
|
|
import biomesoplenty.worldgen.WorldGenCoral;
|
|
import biomesoplenty.worldgen.WorldGenCrystal1;
|
|
import biomesoplenty.worldgen.WorldGenCrystal2;
|
|
import biomesoplenty.worldgen.WorldGenDesertCactus;
|
|
import biomesoplenty.worldgen.WorldGenDriedDirt;
|
|
import biomesoplenty.worldgen.WorldGenGrave;
|
|
import biomesoplenty.worldgen.WorldGenGravel;
|
|
import biomesoplenty.worldgen.WorldGenHighCattail;
|
|
import biomesoplenty.worldgen.WorldGenHighGrass;
|
|
import biomesoplenty.worldgen.WorldGenKelp;
|
|
import biomesoplenty.worldgen.WorldGenLilyflower;
|
|
import biomesoplenty.worldgen.WorldGenMelon;
|
|
import biomesoplenty.worldgen.WorldGenMesa;
|
|
import biomesoplenty.worldgen.WorldGenMud;
|
|
import biomesoplenty.worldgen.WorldGenMycelium;
|
|
import biomesoplenty.worldgen.WorldGenNetherGrass;
|
|
import biomesoplenty.worldgen.WorldGenNetherLava;
|
|
import biomesoplenty.worldgen.WorldGenNetherVines;
|
|
import biomesoplenty.worldgen.WorldGenNetherWart;
|
|
import biomesoplenty.worldgen.WorldGenOasis;
|
|
import biomesoplenty.worldgen.WorldGenOutback;
|
|
import biomesoplenty.worldgen.WorldGenPit;
|
|
import biomesoplenty.worldgen.WorldGenPotatoes;
|
|
import biomesoplenty.worldgen.WorldGenPumpkinAlt;
|
|
import biomesoplenty.worldgen.WorldGenQuagmire;
|
|
import biomesoplenty.worldgen.WorldGenQuicksand;
|
|
import biomesoplenty.worldgen.WorldGenReedBOP;
|
|
import biomesoplenty.worldgen.WorldGenShield;
|
|
import biomesoplenty.worldgen.WorldGenShortKelp;
|
|
import biomesoplenty.worldgen.WorldGenSmolderingGrass;
|
|
import biomesoplenty.worldgen.WorldGenSponge;
|
|
import biomesoplenty.worldgen.WorldGenSprout;
|
|
import biomesoplenty.worldgen.WorldGenSteppe;
|
|
import biomesoplenty.worldgen.WorldGenSunflower;
|
|
import biomesoplenty.worldgen.tree.WorldGenPromisedWillow;
|
|
|
|
public class BiomeDecoratorBOP extends BiomeDecorator
|
|
{
|
|
|
|
/** The world the BiomeDecorator is currently decorating */
|
|
public World currentWorld;
|
|
|
|
/** The Biome Decorator's random number generator. */
|
|
public Random randomGenerator;
|
|
|
|
/** The X-coordinate of the chunk currently being decorated */
|
|
public int chunk_X;
|
|
|
|
/** The Z-coordinate of the chunk currently being decorated */
|
|
public int chunk_Z;
|
|
|
|
/** The biome generator object. */
|
|
public BiomeGenBase biome;
|
|
|
|
/** The clay generator. */
|
|
public WorldGenerator clayGen = new WorldGenClay(4);
|
|
|
|
/** The sand generator. */
|
|
public WorldGenerator sandGen;
|
|
public WorldGenerator mudGen;
|
|
public WorldGenerator oasesGen;
|
|
|
|
/** The gravel generator. */
|
|
public WorldGenerator gravelAsSandGen;
|
|
|
|
/** The dirt generator. */
|
|
public WorldGenerator dirtGen;
|
|
public WorldGenerator gravelGen;
|
|
public WorldGenerator gravelShoreGen;
|
|
public WorldGenerator ashGen;
|
|
public WorldGenerator grassMesaGen;
|
|
public WorldGenerator sandMesaGen;
|
|
public WorldGenerator myceliumGen;
|
|
public WorldGenerator sandInGrassGen;
|
|
public WorldGenerator stoneInGrassGen;
|
|
public WorldGenerator stoneInGrassGen2;
|
|
public WorldGenerator sandInStoneGen;
|
|
public WorldGenerator driedDirtInSandGen;
|
|
public WorldGenerator clayInClayGen;
|
|
public WorldGenerator clayInClay2Gen;
|
|
public WorldGenerator clayInStoneGen;
|
|
public WorldGenerator clayInStone2Gen;
|
|
public WorldGenerator quagmireGen;
|
|
public WorldGenerator quicksandGen;
|
|
public WorldGenerator spongeGen;
|
|
public WorldGenerator canyonGen;
|
|
public WorldGenerator cloudGen;
|
|
public WorldGenerator coalGen;
|
|
public WorldGenerator ironGen;
|
|
|
|
/** Field that holds gold WorldGenMinable */
|
|
public WorldGenerator goldGen;
|
|
|
|
/** Field that holds redstone WorldGenMinable */
|
|
public WorldGenerator redstoneGen;
|
|
|
|
/** Field that holds diamond WorldGenMinable */
|
|
public WorldGenerator diamondGen;
|
|
|
|
/** Field that holds Lapis WorldGenMinable */
|
|
public WorldGenerator lapisGen;
|
|
|
|
/** Field that holds one of the plantYellow WorldGenFlowers */
|
|
public WorldGenerator plantYellowGen;
|
|
public WorldGenerator dandelionGen;
|
|
|
|
/** Field that holds one of the plantRed WorldGenFlowers */
|
|
public WorldGenerator plantRedGen;
|
|
public WorldGenerator plantWhiteGen;
|
|
public WorldGenerator plantBlueGen;
|
|
public WorldGenerator plantPurpleGen;
|
|
public WorldGenerator plantPinkGen;
|
|
public WorldGenerator plantOrangeGen;
|
|
public WorldGenerator plantTinyGen;
|
|
public WorldGenerator plantGlowGen;
|
|
public WorldGenerator plantDeadGen;
|
|
public WorldGenerator plantDesertGen;
|
|
public WorldGenerator cattailGen;
|
|
public WorldGenerator highCattailGen;
|
|
public WorldGenerator outbackGen;
|
|
public WorldGenerator smolderingGrassGen;
|
|
public WorldGenerator canyonGrassGen;
|
|
public WorldGenerator netherGrassGen;
|
|
public WorldGenerator netherWartGen;
|
|
public WorldGenerator steppeGen;
|
|
public WorldGenerator cobwebGen;
|
|
public WorldGenerator thornGen;
|
|
public WorldGenerator toadstoolGen;
|
|
public WorldGenerator portobelloGen;
|
|
public WorldGenerator blueMilkGen;
|
|
public WorldGenerator glowshroomGen;
|
|
public WorldGenerator highGrassGen;
|
|
public WorldGenerator carrotGen;
|
|
public WorldGenerator potatoGen;
|
|
public WorldGenerator sproutGen;
|
|
public WorldGenerator bushGen;
|
|
public WorldGenerator shrubGen;
|
|
public WorldGenerator wheatGrassGen;
|
|
public WorldGenerator wetGrassGen;
|
|
public WorldGenerator berryBushGen;
|
|
public WorldGenerator tinyCactusGen;
|
|
public WorldGenerator aloeGen;
|
|
public WorldGenerator deathbloomGen;
|
|
public WorldGenerator hydrangeaGen;
|
|
public WorldGenerator violetGen;
|
|
public WorldGenerator duneGrassGen;
|
|
public WorldGenerator holyTallGrassGen;
|
|
public WorldGenerator desertSproutsGen;
|
|
public WorldGenerator promisedWillowGen;
|
|
public WorldGenerator netherVineGen;
|
|
public WorldGenerator poisonIvyGen;
|
|
public WorldGenerator sunflowerGen;
|
|
public WorldGenerator rainbowflowerGen;
|
|
public WorldGenerator crystalGen;
|
|
public WorldGenerator crystalGen2;
|
|
public WorldGenerator kelpGen;
|
|
public WorldGenerator shortKelpGen;
|
|
public WorldGenerator graveGen;
|
|
public WorldGenerator pumpkinAltGen;
|
|
public WorldGenerator coralGen;
|
|
public WorldGenerator hibiscusGen;
|
|
public WorldGenerator lilyOfTheValleyGen;
|
|
public WorldGenerator burningBlossomGen;
|
|
public WorldGenerator lavenderGen;
|
|
public WorldGenerator goldenrodGen;
|
|
public WorldGenerator bluebellGen;
|
|
public WorldGenerator minersDelightGen;
|
|
|
|
public WorldGenerator boneSpineGen;
|
|
public WorldGenerator boneSpine2Gen;
|
|
|
|
/** Field that holds mushroomBrown WorldGenFlowers */
|
|
public WorldGenerator mushroomBrownGen;
|
|
|
|
/** Field that holds mushroomRed WorldGenFlowers */
|
|
public WorldGenerator mushroomRedGen;
|
|
|
|
/** Field that holds big mushroom generator */
|
|
public WorldGenerator bigMushroomGen;
|
|
|
|
/** Field that holds WorldGenReed */
|
|
public WorldGenerator reedGen;
|
|
public WorldGenerator reedBOPGen;
|
|
|
|
/** Field that holds WorldGenCactus */
|
|
public WorldGenerator cactusGen;
|
|
public WorldGenerator desertCactusGen;
|
|
|
|
/** The water lily generation! */
|
|
public WorldGenerator waterlilyGen;
|
|
public WorldGenerator lilyflowerGen;
|
|
public WorldGenerator algaeGen;
|
|
public WorldGenerator pitGen;
|
|
|
|
/** Amount of waterlilys per chunk. */
|
|
public int waterlilyPerChunk;
|
|
public int lilyflowersPerChunk;
|
|
public int algaePerChunk;
|
|
public int crystalsPerChunk;
|
|
public int crystals2PerChunk;
|
|
|
|
/**
|
|
* The number of trees to attempt to generate per chunk. Up to 10 in forests, none in deserts.
|
|
*/
|
|
//public int treesPerChunk; fix for bigtrees mod compatibility -ted80
|
|
|
|
/**
|
|
* The number of yellow flower patches to generate per chunk. The game generates much less than this number, since
|
|
* it attempts to generate them at a random altitude.
|
|
*/
|
|
public int flowersPerChunk;
|
|
public int whiteFlowersPerChunk;
|
|
public int blueFlowersPerChunk;
|
|
public int purpleFlowersPerChunk;
|
|
public int pinkFlowersPerChunk;
|
|
public int orangeFlowersPerChunk;
|
|
public int tinyFlowersPerChunk;
|
|
public int glowFlowersPerChunk;
|
|
public int deadGrassPerChunk;
|
|
public int desertGrassPerChunk;
|
|
public int cattailsPerChunk;
|
|
public int highCattailsPerChunk;
|
|
public int carrotsPerChunk;
|
|
public int potatoesPerChunk;
|
|
public int thornsPerChunk;
|
|
public int toadstoolsPerChunk;
|
|
public int portobellosPerChunk;
|
|
public int blueMilksPerChunk;
|
|
public int glowshroomsPerChunk;
|
|
public int sproutsPerChunk;
|
|
public int bushesPerChunk;
|
|
public int berryBushesPerChunk;
|
|
public int shrubsPerChunk;
|
|
public int wheatGrassPerChunk;
|
|
public int tinyCactiPerChunk;
|
|
public int aloePerChunk;
|
|
public int deathbloomsPerChunk;
|
|
public int hydrangeasPerChunk;
|
|
public int violetsPerChunk;
|
|
public int duneGrassPerChunk;
|
|
public int holyTallGrassPerChunk;
|
|
public int desertSproutsPerChunk;
|
|
public int promisedWillowPerChunk;
|
|
public int netherVinesPerChunk;
|
|
public int poisonIvyPerChunk;
|
|
public int sunflowersPerChunk;
|
|
public int rainbowflowersPerChunk;
|
|
public int cobwebsPerChunk;
|
|
public int kelpPerChunk;
|
|
public int kelpThickPerChunk;
|
|
public int shortKelpPerChunk;
|
|
public int gravesPerChunk;
|
|
public int pumpkinsPerChunk;
|
|
public int coralPerChunk;
|
|
public int hibiscusPerChunk;
|
|
public int lilyOfTheValleysPerChunk;
|
|
public int burningBlossomsPerChunk;
|
|
public int lavenderPerChunk;
|
|
public int goldenrodsPerChunk;
|
|
public int bluebellsPerChunk;
|
|
public int minersDelightPerChunk;
|
|
|
|
public int boneSpinesPerChunk;
|
|
public int boneSpines2PerChunk;
|
|
|
|
/** The amount of tall grass to generate per chunk. */
|
|
public int grassPerChunk;
|
|
public int outbackPerChunk;
|
|
public int smolderingGrassPerChunk;
|
|
public int netherGrassPerChunk;
|
|
public int netherWartPerChunk;
|
|
public int canyonGrassPerChunk;
|
|
public int steppePerChunk;
|
|
public int highGrassPerChunk;
|
|
|
|
/**
|
|
* The number of dead bushes to generate per chunk. Used in deserts and swamps.
|
|
*/
|
|
public int deadBushPerChunk;
|
|
|
|
/**
|
|
* The number of extra mushroom patches per chunk. It generates 1/4 this number in brown mushroom patches, and 1/8
|
|
* this number in red mushroom patches. These mushrooms go beyond the default base number of mushrooms.
|
|
*/
|
|
public int mushroomsPerChunk;
|
|
|
|
/**
|
|
* The number of reeds to generate per chunk. Reeds won't generate if the randomly selected placement is unsuitable.
|
|
*/
|
|
public int reedsPerChunk;
|
|
public int reedsBOPPerChunk;
|
|
|
|
/**
|
|
* The number of cactus plants to generate per chunk. Cacti only work on sand.
|
|
*/
|
|
public int cactiPerChunk;
|
|
public int desertCactiPerChunk;
|
|
|
|
/**
|
|
* The number of sand patches to generate per chunk. Sand patches only generate when part of it is underwater.
|
|
*/
|
|
public int sandPerChunk;
|
|
public int oasesPerChunk;
|
|
public int mudPerChunk;
|
|
public int gravelPerChunk;
|
|
|
|
/**
|
|
* The number of sand patches to generate per chunk. Sand patches only generate when part of it is underwater. There
|
|
* appear to be two separate fields for this.
|
|
*/
|
|
public int sandPerChunk2;
|
|
public int oasesPerChunk2;
|
|
public int mudPerChunk2;
|
|
public int gravelPerChunk2;
|
|
|
|
/**
|
|
* The number of clay patches to generate per chunk. Only generates when part of it is underwater.
|
|
*/
|
|
public int clayPerChunk;
|
|
|
|
/** Amount of big mushrooms per chunk */
|
|
public int bigMushroomsPerChunk;
|
|
public int rosesPerChunk;
|
|
public int pondsPerChunk;
|
|
public int waterLakesPerChunk;
|
|
public int lavaLakesPerChunk;
|
|
public int netherLavaPerChunk;
|
|
public int hotSpringsPerChunk;
|
|
public int poisonWaterPerChunk;
|
|
|
|
/** True if decorator should generate surface lava & water */
|
|
public boolean generateLakes;
|
|
public boolean generateAsh;
|
|
public boolean generateGrass;
|
|
public boolean generateSand;
|
|
public boolean generateMycelium;
|
|
public boolean generateSandInGrass;
|
|
public boolean generateStoneInGrass;
|
|
public boolean generateStoneInGrass2;
|
|
public boolean generateSandInStone;
|
|
public boolean generateDriedDirtInSand;
|
|
public boolean generateClayInClay;
|
|
public boolean generateClayInClay2;
|
|
public boolean generateClayInStone;
|
|
public boolean generateClayInStone2;
|
|
public boolean generatePits;
|
|
public boolean generateQuagmire;
|
|
public boolean generateCanyon;
|
|
public boolean generatePumpkins;
|
|
public boolean generateMelons;
|
|
public boolean generateBoulders;
|
|
public boolean generateClouds;
|
|
public boolean generateQuicksand;
|
|
public boolean generateSponge;
|
|
|
|
public BiomeDecoratorBOP(BiomeGenBase par1BiomeGenBase)
|
|
{
|
|
super(par1BiomeGenBase);
|
|
sandGen = new WorldGenSand(7, Block.sand.blockID);
|
|
oasesGen = new WorldGenOasis(7, Block.grass.blockID);
|
|
mudGen = new WorldGenMud(7, Blocks.mud.get().blockID);
|
|
gravelShoreGen = new WorldGenGravel(7, Block.gravel.blockID);
|
|
gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID);
|
|
dirtGen = new WorldGenMinable(Block.dirt.blockID, 32);
|
|
gravelGen = new WorldGenMinable(Block.gravel.blockID, 32);
|
|
ashGen = new WorldGenAsh(Blocks.ash.get().blockID, 32);
|
|
grassMesaGen = new WorldGenMesa(Block.grass.blockID, 48);
|
|
sandMesaGen = new WorldGenMesa(Block.sand.blockID, 32);
|
|
myceliumGen = new WorldGenMycelium(Block.mycelium.blockID, 32);
|
|
sandInGrassGen = new WorldGenMycelium(Block.sand.blockID, 32);
|
|
stoneInGrassGen = new WorldGenMycelium(Block.stone.blockID, 32);
|
|
stoneInGrassGen2 = new WorldGenShield(Block.stone.blockID, 48);
|
|
sandInStoneGen = new WorldGenMinable(Block.sand.blockID, 32);
|
|
clayInClayGen = new WorldGenBadlands2(Block.stainedClay.blockID, 32);
|
|
clayInClay2Gen = new WorldGenBadlands4(Block.blockClay.blockID, 32);
|
|
clayInStoneGen = new WorldGenBadlands3(Block.stainedClay.blockID, 32);
|
|
clayInStone2Gen = new WorldGenBadlands(Block.stainedClay.blockID, 32);
|
|
quagmireGen = new WorldGenQuagmire(Block.grass.blockID, 48);
|
|
quicksandGen = new WorldGenQuicksand(Blocks.mud.get().blockID, 24);
|
|
spongeGen = new WorldGenSponge(Block.sponge.blockID, 24);
|
|
canyonGen = new WorldGenCanyon(Blocks.redRock.get().blockID, 48);
|
|
driedDirtInSandGen = new WorldGenDriedDirt(Blocks.driedDirt.get().blockID, 32);
|
|
cloudGen = new WorldGenCloud(Blocks.cloud.get().blockID, 48);
|
|
coalGen = new WorldGenMinable(Block.oreCoal.blockID, 16);
|
|
ironGen = new WorldGenMinable(Block.oreIron.blockID, 8);
|
|
goldGen = new WorldGenMinable(Block.oreGold.blockID, 8);
|
|
redstoneGen = new WorldGenMinable(Block.oreRedstone.blockID, 7);
|
|
diamondGen = new WorldGenMinable(Block.oreDiamond.blockID, 7);
|
|
lapisGen = new WorldGenMinable(Block.oreLapis.blockID, 6);
|
|
plantYellowGen = new WorldGenBOPFlowers(Block.plantYellow.blockID, 0);
|
|
cobwebGen = new WorldGenCobwebs(Block.web.blockID, 0);
|
|
dandelionGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 15);
|
|
plantRedGen = new WorldGenBOPFlowers(Block.plantRed.blockID, 0);
|
|
plantWhiteGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 9);
|
|
plantBlueGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 1);
|
|
plantPurpleGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 7);
|
|
plantPinkGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 6);
|
|
plantOrangeGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 5);
|
|
rainbowflowerGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 11);
|
|
plantTinyGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 0);
|
|
plantGlowGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 3);
|
|
plantDeadGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 0);
|
|
plantDesertGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 1);
|
|
pumpkinAltGen = new WorldGenPumpkinAlt(Block.pumpkin.blockID, 0);
|
|
thornGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 5);
|
|
bushGen = new WorldGenBOPBush(Blocks.foliage.get().blockID, 4);
|
|
berryBushGen = new WorldGenBOPFlowers(Blocks.foliage.get().blockID, 8);
|
|
shrubGen = new WorldGenBOPBush(Blocks.foliage.get().blockID, 9);
|
|
wheatGrassGen = new WorldGenTallGrass(Blocks.foliage.get().blockID, 10);
|
|
wetGrassGen = new WorldGenTallGrass(Blocks.foliage.get().blockID, 11);
|
|
tinyCactusGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 12);
|
|
aloeGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 12);
|
|
coralGen = new WorldGenCoral(Blocks.coral.get().blockID, 4);
|
|
hibiscusGen = new WorldGenBOPFlowers(Blocks.flowers2.get().blockID, 0);
|
|
lilyOfTheValleyGen = new WorldGenBOPFlowers(Blocks.flowers2.get().blockID, 1);
|
|
burningBlossomGen = new WorldGenBOPFlowers(Blocks.flowers2.get().blockID, 2);
|
|
lavenderGen = new WorldGenBOPFlowers(Blocks.flowers2.get().blockID, 3);
|
|
goldenrodGen = new WorldGenBOPFlowers(Blocks.flowers2.get().blockID, 4);
|
|
bluebellGen = new WorldGenBOPFlowers(Blocks.flowers2.get().blockID, 5);
|
|
minersDelightGen = new WorldGenBOPFlowers(Blocks.flowers2.get().blockID, 6);
|
|
lilyflowerGen = new WorldGenLilyflower();
|
|
deathbloomGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 2);
|
|
hydrangeaGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 4);
|
|
violetGen = new WorldGenBOPFlowers(Blocks.flowers.get().blockID, 8);
|
|
duneGrassGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 3);
|
|
holyTallGrassGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 4);
|
|
desertSproutsGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 2);
|
|
poisonIvyGen = new WorldGenBOPBush(Blocks.foliage.get().blockID, 7);
|
|
sunflowerGen = new WorldGenSunflower(Blocks.flowers.get().blockID, 13);
|
|
promisedWillowGen = new WorldGenPromisedWillow();
|
|
netherVineGen = new WorldGenNetherVines();
|
|
boneSpineGen = new WorldGenBoneSpine();
|
|
boneSpine2Gen = new WorldGenBoneSpine2();
|
|
cattailGen = new WorldGenCattail();
|
|
crystalGen = new WorldGenCrystal1();
|
|
crystalGen2 = new WorldGenCrystal2();
|
|
kelpGen = new WorldGenKelp(false);
|
|
shortKelpGen = new WorldGenShortKelp(false);
|
|
graveGen = new WorldGenGrave();
|
|
mushroomBrownGen = new WorldGenBOPFlowers(Block.mushroomBrown.blockID, 0);
|
|
mushroomRedGen = new WorldGenBOPFlowers(Block.mushroomRed.blockID, 0);
|
|
toadstoolGen = new WorldGenBOPFlowers(Blocks.mushrooms.get().blockID, 0);
|
|
portobelloGen = new WorldGenBOPFlowers(Blocks.mushrooms.get().blockID, 1);
|
|
blueMilkGen = new WorldGenBOPFlowers(Blocks.mushrooms.get().blockID, 2);
|
|
glowshroomGen = new WorldGenBOPFlowers(Blocks.mushrooms.get().blockID, 3);
|
|
sproutGen = new WorldGenSprout(Blocks.foliage.get().blockID, 5);
|
|
highGrassGen = new WorldGenHighGrass(Blocks.foliage.get().blockID, 3);
|
|
highCattailGen = new WorldGenHighCattail(Blocks.plants.get().blockID, 9);
|
|
outbackGen = new WorldGenOutback(Blocks.foliage.get().blockID, 2);
|
|
smolderingGrassGen = new WorldGenSmolderingGrass(Blocks.holyGrass.get().blockID, 1);
|
|
netherGrassGen = new WorldGenNetherGrass(Block.tallGrass.blockID, 1);
|
|
netherWartGen = new WorldGenNetherWart(Block.netherStalk.blockID, 0);
|
|
canyonGrassGen = new WorldGenCanyonGrass(Blocks.foliage.get().blockID, 2);
|
|
steppeGen = new WorldGenSteppe(Block.sand.blockID, 0);
|
|
carrotGen = new WorldGenBOPFlowers(Blocks.plants.get().blockID, 11);
|
|
potatoGen = new WorldGenPotatoes(Block.tallGrass.blockID, 0);
|
|
bigMushroomGen = new WorldGenBigMushroom();
|
|
reedGen = new WorldGenReed();
|
|
reedBOPGen = new WorldGenReedBOP();
|
|
cactusGen = new WorldGenCactus();
|
|
desertCactusGen = new WorldGenDesertCactus();
|
|
waterlilyGen = new WorldGenWaterlily();
|
|
algaeGen = new WorldGenAlgae();
|
|
pitGen = new WorldGenPit(Blocks.ash.get().blockID);
|
|
waterlilyPerChunk = 0;
|
|
lilyflowersPerChunk = 0;
|
|
treesPerChunk = 0;
|
|
flowersPerChunk = 2;
|
|
grassPerChunk = 1;
|
|
deadBushPerChunk = 0;
|
|
mushroomsPerChunk = 0;
|
|
reedsPerChunk = 0;
|
|
reedsBOPPerChunk = 0;
|
|
cactiPerChunk = 0;
|
|
sandPerChunk = 1;
|
|
sandPerChunk2 = 3;
|
|
oasesPerChunk = 0;
|
|
oasesPerChunk2 = 0;
|
|
mudPerChunk = 0;
|
|
mudPerChunk2 = 0;
|
|
gravelPerChunk = 0;
|
|
gravelPerChunk2 = 0;
|
|
clayPerChunk = 1;
|
|
bigMushroomsPerChunk = 0;
|
|
rosesPerChunk = 0;
|
|
whiteFlowersPerChunk = 0;
|
|
blueFlowersPerChunk = 0;
|
|
purpleFlowersPerChunk = 0;
|
|
pinkFlowersPerChunk = 0;
|
|
orangeFlowersPerChunk = 0;
|
|
rainbowflowersPerChunk = 0;
|
|
tinyFlowersPerChunk = 0;
|
|
glowFlowersPerChunk = 0;
|
|
deadGrassPerChunk = 0;
|
|
desertGrassPerChunk = 0;
|
|
cattailsPerChunk = 0;
|
|
highCattailsPerChunk = 0;
|
|
carrotsPerChunk = 0;
|
|
potatoesPerChunk = 0;
|
|
thornsPerChunk = 0;
|
|
toadstoolsPerChunk = 0;
|
|
portobellosPerChunk = 0;
|
|
blueMilksPerChunk = 0;
|
|
glowshroomsPerChunk = 0;
|
|
sunflowersPerChunk = 0;
|
|
sproutsPerChunk = 0;
|
|
bushesPerChunk = 0;
|
|
berryBushesPerChunk = 0;
|
|
shrubsPerChunk = 0;
|
|
wheatGrassPerChunk = 0;
|
|
tinyCactiPerChunk = 0;
|
|
poisonIvyPerChunk = 0;
|
|
aloePerChunk = 0;
|
|
deathbloomsPerChunk = 0;
|
|
hydrangeasPerChunk = 0;
|
|
violetsPerChunk = 0;
|
|
duneGrassPerChunk = 0;
|
|
holyTallGrassPerChunk = 0;
|
|
desertSproutsPerChunk = 0;
|
|
desertCactiPerChunk = 0;
|
|
highGrassPerChunk = 0;
|
|
outbackPerChunk = 0;
|
|
smolderingGrassPerChunk = 0;
|
|
netherGrassPerChunk = 0;
|
|
netherWartPerChunk = 0;
|
|
canyonGrassPerChunk = 0;
|
|
steppePerChunk = 0;
|
|
promisedWillowPerChunk = 0;
|
|
netherVinesPerChunk = 0;
|
|
algaePerChunk = 0;
|
|
pondsPerChunk = 0;
|
|
waterLakesPerChunk = 0;
|
|
lavaLakesPerChunk = 0;
|
|
netherLavaPerChunk = 0;
|
|
hotSpringsPerChunk = 0;
|
|
poisonWaterPerChunk = 0;
|
|
crystalsPerChunk = 0;
|
|
crystals2PerChunk = 0;
|
|
boneSpinesPerChunk = 0;
|
|
boneSpines2PerChunk = 0;
|
|
cobwebsPerChunk = 0;
|
|
kelpPerChunk = 0;
|
|
kelpThickPerChunk = 0;
|
|
shortKelpPerChunk = 0;
|
|
gravesPerChunk = 0;
|
|
pumpkinsPerChunk = 0;
|
|
coralPerChunk = 0;
|
|
hibiscusPerChunk = 0;
|
|
lilyOfTheValleysPerChunk = 0;
|
|
burningBlossomsPerChunk = 0;
|
|
lavenderPerChunk = 0;
|
|
goldenrodsPerChunk = 0;
|
|
bluebellsPerChunk = 0;
|
|
minersDelightPerChunk = 3;
|
|
generateLakes = true;
|
|
generateAsh = false;
|
|
generateMycelium = false;
|
|
generateSandInGrass = false;
|
|
generateStoneInGrass = false;
|
|
generateStoneInGrass2 = false;
|
|
generateSandInStone = false;
|
|
generateDriedDirtInSand = false;
|
|
generateClayInClay = false;
|
|
generateClayInClay2 = false;
|
|
generateClayInStone = false;
|
|
generateClayInStone2 = false;
|
|
generateQuagmire = false;
|
|
generateCanyon = false;
|
|
generatePumpkins = true;
|
|
generateMelons = false;
|
|
generateBoulders = false;
|
|
generateClouds = false;
|
|
generateQuicksand = false;
|
|
generateSponge = false;
|
|
biome = par1BiomeGenBase;
|
|
}
|
|
|
|
/**
|
|
* Decorates the world. Calls code that was formerly (pre-1.8) in ChunkProviderGenerate.populate
|
|
*/
|
|
@Override
|
|
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
|
{
|
|
if (currentWorld != null)
|
|
return ;
|
|
else
|
|
{
|
|
currentWorld = par1World;
|
|
randomGenerator = par2Random;
|
|
chunk_X = par3;
|
|
chunk_Z = par4;
|
|
this.decorate();
|
|
currentWorld = null;
|
|
randomGenerator = null;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
* The method that does the work of actually decorating chunks
|
|
*/
|
|
|
|
@Override
|
|
protected void decorate()
|
|
{
|
|
MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z));
|
|
//Added
|
|
boolean doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND);
|
|
|
|
this.generateOres();
|
|
|
|
int var1;
|
|
int var2;
|
|
int var3;
|
|
int var4;
|
|
int var5;
|
|
|
|
for (var2 = 0; var2 < waterLakesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(240) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLakes(Block.waterMoving.blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < lavaLakesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(randomGenerator.nextInt(112) + 8) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLakes(Block.lavaMoving.blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < netherLavaPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(randomGenerator.nextInt(112) + 8) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenNetherLava(Block.lavaMoving.blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < hotSpringsPerChunk; ++var2)
|
|
{
|
|
if (BOPConfigurationTerrainGen.springWaterGen)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(randomGenerator.nextInt(112) + 8) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLakes(Fluids.springWater.get().blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < 5; ++var2)
|
|
{
|
|
int var9999 = randomGenerator.nextInt(96);
|
|
|
|
if (BOPConfigurationTerrainGen.springWaterGen)
|
|
{
|
|
if (var9999 == 1)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(randomGenerator.nextInt(32) + 8) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLakes(Fluids.springWater.get().blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < poisonWaterPerChunk; ++var2)
|
|
{
|
|
if (BOPConfigurationTerrainGen.poisonWaterGen)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(randomGenerator.nextInt(112) + 8) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLakes(Fluids.liquidPoison.get().blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < 5; ++var2)
|
|
{
|
|
int var9998 = randomGenerator.nextInt(32);
|
|
|
|
if (BOPConfigurationTerrainGen.poisonWaterGen)
|
|
{
|
|
if (var9998 == 1)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(randomGenerator.nextInt(32) + 8) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLakes(Fluids.liquidPoison.get().blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (generateAsh)
|
|
{
|
|
this.genStandardOre1(10, ashGen, 0, 128);
|
|
}
|
|
|
|
if (generateGrass)
|
|
{
|
|
this.genStandardOre1(20, grassMesaGen, 0, 128);
|
|
}
|
|
|
|
if (generateSand)
|
|
{
|
|
this.genStandardOre1(15, sandMesaGen, 0, 128);
|
|
}
|
|
|
|
if (generateMycelium)
|
|
{
|
|
this.genStandardOre1(10, myceliumGen, 0, 128);
|
|
}
|
|
|
|
if (generateSandInGrass)
|
|
{
|
|
this.genStandardOre1(8, sandInGrassGen, 64, 128);
|
|
}
|
|
|
|
if (generateStoneInGrass)
|
|
{
|
|
this.genStandardOre1(15, stoneInGrassGen, 64, 128);
|
|
}
|
|
|
|
if (generateStoneInGrass2)
|
|
{
|
|
this.genStandardOre1(20, stoneInGrassGen2, 64, 128);
|
|
}
|
|
|
|
if (generateSandInStone)
|
|
{
|
|
this.genStandardOre1(10, sandInStoneGen, 64, 128);
|
|
}
|
|
|
|
if (generateDriedDirtInSand)
|
|
{
|
|
this.genStandardOre1(8, driedDirtInSandGen, 64, 128);
|
|
}
|
|
|
|
if (generateClayInClay)
|
|
{
|
|
this.genStandardOre1(20, clayInClayGen, 64, 128);
|
|
}
|
|
|
|
if (generateClayInClay2)
|
|
{
|
|
this.genStandardOre1(20, clayInClay2Gen, 64, 128);
|
|
}
|
|
|
|
if (generateClayInStone)
|
|
{
|
|
this.genStandardOre1(20, clayInStoneGen, 64, 128);
|
|
}
|
|
|
|
if (generateClayInStone2)
|
|
{
|
|
this.genStandardOre1(20, clayInStone2Gen, 64, 128);
|
|
}
|
|
|
|
if (generateQuagmire)
|
|
{
|
|
this.genStandardOre1(15, quagmireGen, 64, 128);
|
|
}
|
|
|
|
if (generateCanyon)
|
|
{
|
|
this.genStandardOre1(15, canyonGen, 64, 128);
|
|
}
|
|
|
|
if (generateQuicksand)
|
|
{
|
|
if (BOPConfigurationTerrainGen.quicksandGen)
|
|
{
|
|
this.genStandardOre1(5, quicksandGen, 64, 128);
|
|
}
|
|
}
|
|
|
|
if (generateSponge)
|
|
{
|
|
this.genStandardOre1(5, spongeGen, 0, 64);
|
|
}
|
|
|
|
if (generateClouds)
|
|
{
|
|
this.genCloudMain(1, cloudGen, 0, 35);
|
|
}
|
|
|
|
if (generatePits)
|
|
{
|
|
var4 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
int var6 = currentWorld.getTopSolidOrLiquidBlock(var4, var5);
|
|
|
|
if (var6 > 0)
|
|
{
|
|
;
|
|
}
|
|
|
|
pitGen.generate(currentWorld, randomGenerator, var4, var6, var5);
|
|
}
|
|
|
|
for (var1 = 0; var1 < sandPerChunk2; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
sandGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
//Added
|
|
for (var1 = 0; doGen && var1 < sandPerChunk2; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
sandGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
for (var1 = 0; var1 < mudPerChunk2; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
mudGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
for (var1 = 0; var1 < gravelPerChunk2; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
gravelShoreGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, CLAY);
|
|
for (var1 = 0; doGen && var1 < clayPerChunk; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
clayGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND_PASS2);
|
|
for (var1 = 0; doGen && var1 < sandPerChunk; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
sandGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
for (var1 = 0; var1 < oasesPerChunk; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
oasesGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
for (var1 = 0; var1 < mudPerChunk; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
mudGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
for (var1 = 0; var1 < gravelPerChunk; ++var1)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
gravelShoreGen.generate(currentWorld, randomGenerator, var2, currentWorld.getTopSolidOrLiquidBlock(var2, var3), var3);
|
|
}
|
|
|
|
var1 = treesPerChunk;
|
|
|
|
if (randomGenerator.nextInt(10) == 0)
|
|
{
|
|
++var1;
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, TREE);
|
|
for (var2 = 0; doGen && var2 < var1; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
WorldGenerator var7 = biome.getRandomWorldGenForTrees(randomGenerator);
|
|
var7.setScale(1.0D, 1.0D, 1.0D);
|
|
var7.generate(currentWorld, randomGenerator, var3, currentWorld.getHeightValue(var3, var4), var4);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, BIG_SHROOM);
|
|
for (var2 = 0; doGen && var2 < bigMushroomsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
bigMushroomGen.generate(currentWorld, randomGenerator, var3, currentWorld.getHeightValue(var3, var4), var4);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, FLOWERS);
|
|
for (var2 = 0; doGen && var2 < flowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantYellowGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
|
|
if (randomGenerator.nextInt(6) == 0)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
dandelionGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
if (randomGenerator.nextInt(4) == 0)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantRedGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < rosesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantRedGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < cobwebsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
cobwebGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < sunflowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
sunflowerGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < gravesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
graveGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < pumpkinsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
pumpkinAltGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < kelpPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16);
|
|
var4 = randomGenerator.nextInt(64);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16);
|
|
kelpGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < kelpThickPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(8);
|
|
var4 = randomGenerator.nextInt(64);
|
|
var5 = chunk_Z + randomGenerator.nextInt(8);
|
|
kelpGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < shortKelpPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16);
|
|
var4 = randomGenerator.nextInt(64);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16);
|
|
shortKelpGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < rainbowflowersPerChunk; ++var2)
|
|
{
|
|
int var956 = randomGenerator.nextInt(10);
|
|
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
|
|
if (var956 == 0)
|
|
{
|
|
rainbowflowerGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < boneSpinesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
boneSpineGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < boneSpines2PerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(64) + 64;
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
boneSpine2Gen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < crystalsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(50);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
crystalGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < crystals2PerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(50);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
crystalGen2.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < promisedWillowPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(70);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
promisedWillowGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < netherVinesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
netherVineGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < whiteFlowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantWhiteGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < coralPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
coralGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < blueFlowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantBlueGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < hibiscusPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
hibiscusGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < lilyOfTheValleysPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
lilyOfTheValleyGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < burningBlossomsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
burningBlossomGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < lavenderPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
lavenderGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < goldenrodsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
goldenrodGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < bluebellsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
bluebellGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < minersDelightPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(64);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
minersDelightGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < hydrangeasPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
hydrangeaGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < violetsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
violetGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < duneGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
duneGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < holyTallGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
holyTallGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < desertSproutsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
desertSproutsGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < purpleFlowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantPurpleGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < pinkFlowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantPinkGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < bushesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
bushGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < berryBushesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
berryBushGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < shrubsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
shrubGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < wheatGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
int var99999 = randomGenerator.nextInt(2);
|
|
|
|
if (var99999 == 0)
|
|
{
|
|
wetGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
else
|
|
{
|
|
wheatGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < poisonIvyPerChunk; ++var2)
|
|
{
|
|
if (BOPConfigurationTerrainGen.poisonIvyGen)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
poisonIvyGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < orangeFlowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantOrangeGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < tinyCactiPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
tinyCactusGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < aloePerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
aloeGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < deathbloomsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
deathbloomGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < toadstoolsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
toadstoolGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < portobellosPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
portobelloGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < blueMilksPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
blueMilkGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < glowshroomsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(80);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
glowshroomGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < sproutsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
sproutGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < tinyFlowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantTinyGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < glowFlowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantGlowGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < deadGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantDeadGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < desertGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
plantDesertGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, GRASS);
|
|
for (var2 = 0; doGen && var2 < grassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
WorldGenerator var6 = biome.getRandomWorldGenForGrass(randomGenerator);
|
|
var6.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < outbackPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
outbackGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < smolderingGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
smolderingGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < netherGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
netherGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < netherWartPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
netherWartGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < canyonGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
canyonGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < steppePerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
steppeGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < highGrassPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
highGrassGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < carrotsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
carrotGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < potatoesPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
potatoGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < reedsBOPPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
var5 = randomGenerator.nextInt(256);
|
|
reedBOPGen.generate(currentWorld, randomGenerator, var3, var5, var4);
|
|
}
|
|
|
|
for (var2 = 0; var2 < thornsPerChunk; ++var2)
|
|
{
|
|
if (BOPConfigurationTerrainGen.thornGen)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
thornGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < cattailsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
cattailGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < highCattailsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
highCattailGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, DEAD_BUSH);
|
|
for (var2 = 0; doGen && var2 < deadBushPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenDeadBush(Block.deadBush.blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SHROOM);
|
|
for (var2 = 0; doGen && var2 < mushroomsPerChunk; ++var2)
|
|
{
|
|
if (randomGenerator.nextInt(4) == 0)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
var5 = currentWorld.getHeightValue(var3, var4);
|
|
mushroomBrownGen.generate(currentWorld, randomGenerator, var3, var5, var4);
|
|
}
|
|
|
|
if (randomGenerator.nextInt(8) == 0)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
var5 = randomGenerator.nextInt(256);
|
|
mushroomRedGen.generate(currentWorld, randomGenerator, var3, var5, var4);
|
|
}
|
|
}
|
|
|
|
if (randomGenerator.nextInt(4) == 0)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = randomGenerator.nextInt(256);
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
mushroomBrownGen.generate(currentWorld, randomGenerator, var2, var3, var4);
|
|
}
|
|
|
|
if (randomGenerator.nextInt(8) == 0)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = randomGenerator.nextInt(256);
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
mushroomRedGen.generate(currentWorld, randomGenerator, var2, var3, var4);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, REED);
|
|
for (var2 = 0; doGen && var2 < reedsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
var5 = randomGenerator.nextInt(256);
|
|
reedGen.generate(currentWorld, randomGenerator, var3, var5, var4);
|
|
}
|
|
|
|
for (var2 = 0; doGen && var2 < 10; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
reedGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
if (generatePumpkins && randomGenerator.nextInt(32) == 0)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = randomGenerator.nextInt(256);
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
|
|
if (BOPConfigurationTerrainGen.pumpkinGen)
|
|
{
|
|
(new WorldGenBOPPumpkin()).generate(currentWorld, randomGenerator, var2, var3, var4);
|
|
}
|
|
else
|
|
{
|
|
(new WorldGenPumpkin()).generate(currentWorld, randomGenerator, var2, var3, var4);
|
|
}
|
|
}
|
|
|
|
if (generateMelons && randomGenerator.nextInt(32) == 0)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = randomGenerator.nextInt(256);
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenMelon()).generate(currentWorld, randomGenerator, var2, var3, var4);
|
|
}
|
|
|
|
if (generateBoulders && randomGenerator.nextInt(32) == 0)
|
|
{
|
|
var2 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var3 = randomGenerator.nextInt(256);
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenBoulder()).generate(currentWorld, randomGenerator, var2, var3, var4);
|
|
}
|
|
|
|
for (var2 = 0; var2 < cactiPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
cactusGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < desertCactiPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
desertCactusGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
if (generateLakes)
|
|
{
|
|
for (var2 = 0; var2 < 50 + pondsPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(120) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLiquids(Block.waterMoving.blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; var2 < 20; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(randomGenerator.nextInt(randomGenerator.nextInt(112) + 8) + 8);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
(new WorldGenLiquids(Block.lavaMoving.blockID)).generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
}
|
|
|
|
for (var2 = 0; var2 < lilyflowersPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = randomGenerator.nextInt(256);
|
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
lilyflowerGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
|
}
|
|
|
|
for (var2 = 0; doGen && var2 < algaePerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
|
|
for (var5 = randomGenerator.nextInt(256); var5 > 0 && currentWorld.getBlockId(var3, var5 - 1, var4) == 0; --var5)
|
|
{
|
|
;
|
|
}
|
|
|
|
algaeGen.generate(currentWorld, randomGenerator, var3, var5, var4);
|
|
}
|
|
|
|
//Added
|
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, LILYPAD);
|
|
for (var2 = 0; doGen && var2 < waterlilyPerChunk; ++var2)
|
|
{
|
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
|
var4 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
|
|
|
for (var5 = randomGenerator.nextInt(256); var5 > 0 && currentWorld.getBlockId(var3, var5 - 1, var4) == 0; --var5)
|
|
{
|
|
;
|
|
}
|
|
|
|
waterlilyGen.generate(currentWorld, randomGenerator, var3, var5, var4);
|
|
}
|
|
|
|
MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z));
|
|
}
|
|
|
|
/**
|
|
* Standard ore generation helper. Generates most ores.
|
|
*/
|
|
protected void genCloudMain(int par1, WorldGenerator par2WorldGenerator, int par3, int par4)
|
|
{
|
|
for (int var5 = 0; var5 < par1; ++var5)
|
|
{
|
|
int var6 = chunk_X + randomGenerator.nextInt(8);
|
|
int var7 = randomGenerator.nextInt(par4 - par3) + par3;
|
|
int var8 = chunk_Z + randomGenerator.nextInt(8);
|
|
int var999 = randomGenerator.nextInt(5);
|
|
if (var999 == 0)
|
|
{
|
|
par2WorldGenerator.generate(currentWorld, randomGenerator, var6, var7, var8);
|
|
par2WorldGenerator.generate(currentWorld, randomGenerator, var6 + 8, var7, var8);
|
|
par2WorldGenerator.generate(currentWorld, randomGenerator, var6, var7, var8 + 8);
|
|
par2WorldGenerator.generate(currentWorld, randomGenerator, var6 + 8, var7, var8 + 8);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Standard ore generation helper. Generates most ores.
|
|
*/
|
|
@Override
|
|
protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4)
|
|
{
|
|
for (int var5 = 0; var5 < par1; ++var5)
|
|
{
|
|
int var6 = chunk_X + randomGenerator.nextInt(16);
|
|
int var7 = randomGenerator.nextInt(par4 - par3) + par3;
|
|
int var8 = chunk_Z + randomGenerator.nextInt(16);
|
|
par2WorldGenerator.generate(currentWorld, randomGenerator, var6, var7, var8);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Standard ore generation helper. Generates Lapis Lazuli.
|
|
*/
|
|
@Override
|
|
protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4)
|
|
{
|
|
for (int var5 = 0; var5 < par1; ++var5)
|
|
{
|
|
int var6 = chunk_X + randomGenerator.nextInt(16);
|
|
int var7 = randomGenerator.nextInt(par4) + randomGenerator.nextInt(par4) + (par3 - par4);
|
|
int var8 = chunk_Z + randomGenerator.nextInt(16);
|
|
par2WorldGenerator.generate(currentWorld, randomGenerator, var6, var7, var8);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Generates ores in the current chunk
|
|
*/
|
|
@Override
|
|
protected void generateOres()
|
|
{
|
|
MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z));
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, dirtGen, chunk_X, chunk_Z, DIRT)) {
|
|
this.genStandardOre1(20, dirtGen, 0, 256);
|
|
}
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, gravelGen, chunk_X, chunk_Z, GRAVEL)) {
|
|
this.genStandardOre1(10, gravelGen, 0, 256);
|
|
}
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, coalGen, chunk_X, chunk_Z, COAL)) {
|
|
this.genStandardOre1(20, coalGen, 0, 128);
|
|
}
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, ironGen, chunk_X, chunk_Z, IRON)) {
|
|
this.genStandardOre1(20, ironGen, 0, 64);
|
|
}
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, goldGen, chunk_X, chunk_Z, GOLD)) {
|
|
this.genStandardOre1(2, goldGen, 0, 32);
|
|
}
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, redstoneGen, chunk_X, chunk_Z, REDSTONE)) {
|
|
this.genStandardOre1(8, redstoneGen, 0, 16);
|
|
}
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, diamondGen, chunk_X, chunk_Z, DIAMOND)) {
|
|
this.genStandardOre1(1, diamondGen, 0, 16);
|
|
}
|
|
|
|
if (TerrainGen.generateOre(currentWorld, randomGenerator, lapisGen, chunk_X, chunk_Z, LAPIS)) {
|
|
this.genStandardOre2(1, lapisGen, 16, 16);
|
|
}
|
|
|
|
MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z));
|
|
}
|
|
}
|