Added sub-biomes
This commit is contained in:
parent
e502c5ec6f
commit
8ee0b6a329
18 changed files with 962 additions and 29 deletions
|
@ -22,6 +22,7 @@ public class Biomes
|
|||
public static Optional<? extends BiomeGenBase> borealForest = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> brushland = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> canyon = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> canyonRavine = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> chaparral = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> cherryBlossomGrove = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> coniferousForest = Optional.absent();
|
||||
|
@ -52,6 +53,7 @@ public class Biomes
|
|||
public static Optional<? extends BiomeGenBase> mapleWoods = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> marsh = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> meadow = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> meadowForest = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> mesa = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> moor = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> mountain = Optional.absent();
|
||||
|
@ -69,10 +71,13 @@ public class Biomes
|
|||
public static Optional<? extends BiomeGenBase> oceanKelp = Optional.absent();
|
||||
|
||||
public static Optional<? extends BiomeGenBase> ominousWoods = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> ominousWoodsThick = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> orchard = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> originValley = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> outback = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> pasture = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> pastureMeadow = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> pastureThin = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> polar = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> prairie = Optional.absent();
|
||||
|
||||
|
@ -90,12 +95,14 @@ public class Biomes
|
|||
public static Optional<? extends BiomeGenBase> shield = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> shore = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> shrubland = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> shrublandForest = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> sludgepit = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> spruceWoods = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> steppe = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> temperateRainforest = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> thicket = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> timber = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> timberThin = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> tropicalRainforest = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> tropics = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> tundra = Optional.absent();
|
||||
|
|
79
src/minecraft/biomesoplenty/biomes/BiomeGenCanyonRavine.java
Normal file
79
src/minecraft/biomesoplenty/biomes/BiomeGenCanyonRavine.java
Normal file
|
@ -0,0 +1,79 @@
|
|||
package biomesoplenty.biomes;
|
||||
|
||||
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.Blocks;
|
||||
import biomesoplenty.worldgen.WorldGenCanyonShrub;
|
||||
import biomesoplenty.worldgen.WorldGenPineTree;
|
||||
|
||||
public class BiomeGenCanyonRavine extends BiomeGenBase
|
||||
{
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
public BiomeGenCanyonRavine(int par1)
|
||||
{
|
||||
super(par1);
|
||||
spawnableCreatureList.clear();
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
topBlock = (byte)Blocks.hardDirt.get().blockID;
|
||||
fillerBlock = (byte)Blocks.hardDirt.get().blockID;
|
||||
customBiomeDecorator.treesPerChunk = 4;
|
||||
customBiomeDecorator.flowersPerChunk = -999;
|
||||
customBiomeDecorator.canyonGrassPerChunk = 3;
|
||||
customBiomeDecorator.aloePerChunk = 2;
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
customBiomeDecorator.generateCanyon = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(9) == 0 ? new WorldGenPineTree() : new WorldGenCanyonShrub(0,0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
{
|
||||
super.decorate(par1World, par2Random, par3, par4);
|
||||
int var5 = 12 + par2Random.nextInt(6);
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6)
|
||||
{
|
||||
int var7 = par3 + par2Random.nextInt(16);
|
||||
int var8 = par2Random.nextInt(28) + 4;
|
||||
int var9 = par4 + par2Random.nextInt(16);
|
||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
||||
|
||||
if (var10 == Block.stone.blockID)
|
||||
{
|
||||
par1World.setBlock(var7, var8, var9, Blocks.amethystOre.get().blockID, 2, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 11123300;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 11123300;
|
||||
}
|
||||
}
|
|
@ -87,22 +87,4 @@ public class BiomeGenJungleNew extends BiomeGenBase
|
|||
var5.generate(par1World, par2Random, var7, var8, var9);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic grass color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 5232218;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 3266623;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public class BiomeGenMeadow extends BiomeGenBase
|
|||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(3) == 0 ? new WorldGenTaiga2(false) : new WorldGenShrub(0, 1);
|
||||
return par1Random.nextInt(5) == 0 ? new WorldGenTaiga2(false) : new WorldGenShrub(0, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
75
src/minecraft/biomesoplenty/biomes/BiomeGenMeadowForest.java
Normal file
75
src/minecraft/biomesoplenty/biomes/BiomeGenMeadowForest.java
Normal file
|
@ -0,0 +1,75 @@
|
|||
package biomesoplenty.biomes;
|
||||
|
||||
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.WorldGenTaiga2;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class BiomeGenMeadowForest extends BiomeGenBase
|
||||
{
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
public BiomeGenMeadowForest(int par1)
|
||||
{
|
||||
super(par1);
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
customBiomeDecorator.treesPerChunk = 7;
|
||||
customBiomeDecorator.grassPerChunk = 10;
|
||||
customBiomeDecorator.tinyFlowersPerChunk = 7;
|
||||
customBiomeDecorator.flowersPerChunk = 10;
|
||||
customBiomeDecorator.carrotsPerChunk = -999;
|
||||
customBiomeDecorator.sandPerChunk = -999;
|
||||
customBiomeDecorator.sandPerChunk2 = -999;
|
||||
customBiomeDecorator.hydrangeasPerChunk = 3;
|
||||
customBiomeDecorator.generatePumpkins = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
{
|
||||
super.decorate(par1World, par2Random, par3, par4);
|
||||
int var5 = 12 + par2Random.nextInt(6);
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6)
|
||||
{
|
||||
int var7 = par3 + par2Random.nextInt(16);
|
||||
int var8 = par2Random.nextInt(28) + 4;
|
||||
int var9 = par4 + par2Random.nextInt(16);
|
||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
||||
|
||||
if (var10 == Block.stone.blockID)
|
||||
{
|
||||
par1World.setBlock(var7, var8, var9, Blocks.amethystOre.get().blockID, 4, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return new WorldGenTaiga2(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic grass color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 6533741;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 6533741;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
package biomesoplenty.biomes;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.entity.monster.EntityCaveSpider;
|
||||
import net.minecraft.entity.monster.EntityEnderman;
|
||||
import net.minecraft.entity.monster.EntitySpider;
|
||||
import net.minecraft.entity.passive.EntityBat;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.biome.SpawnListEntry;
|
||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.configuration.BOPConfiguration;
|
||||
import biomesoplenty.worldgen.WorldGenOminous1;
|
||||
import biomesoplenty.worldgen.WorldGenOminous3;
|
||||
import biomesoplenty.worldgen.WorldGenOminous4;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class BiomeGenOminousWoodsThick extends BiomeGenBase
|
||||
{
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public BiomeGenOminousWoodsThick(int par1)
|
||||
{
|
||||
super(par1);
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
customBiomeDecorator.treesPerChunk = 14;
|
||||
customBiomeDecorator.grassPerChunk = 4;
|
||||
customBiomeDecorator.highGrassPerChunk = 4;
|
||||
customBiomeDecorator.flowersPerChunk = -999;
|
||||
customBiomeDecorator.deathbloomsPerChunk = 2;
|
||||
customBiomeDecorator.mushroomsPerChunk = 8;
|
||||
customBiomeDecorator.reedsPerChunk = -999;
|
||||
customBiomeDecorator.sandPerChunk = -999;
|
||||
customBiomeDecorator.sandPerChunk2 = -999;
|
||||
customBiomeDecorator.thornsPerChunk = 14;
|
||||
customBiomeDecorator.poisonIvyPerChunk = 6;
|
||||
customBiomeDecorator.poisonWaterPerChunk = 5;
|
||||
waterColorMultiplier = 1973030;
|
||||
spawnableMonsterList.clear();
|
||||
spawnableCreatureList.clear();
|
||||
spawnableWaterCreatureList.clear();
|
||||
spawnableMonsterList.add(new SpawnListEntry(EntityCaveSpider.class, 5, 1, 2));
|
||||
spawnableMonsterList.add(new SpawnListEntry(EntitySpider.class, 7, 1, 2));
|
||||
spawnableMonsterList.add(new SpawnListEntry(EntityEnderman.class, 10, 1, 4));
|
||||
spawnableCaveCreatureList.add(new SpawnListEntry(EntityBat.class, 10, 8, 8));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
//return (WorldGenerator)(par1Random.nextInt(3) == 0 ? new WorldGenWillow2() : (par1Random.nextInt(7) == 0 ? new WorldGenDarkTree1() : (par1Random.nextInt(5) == 0 ? new WorldGenWillow1() : new WorldGenDarkTree2())));
|
||||
return par1Random.nextInt(5) == 0 ? new WorldGenOminous3(false) : (par1Random.nextInt(3) == 0 ? new WorldGenOminous4(false) : new WorldGenOminous1(false));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(6) == 0 ? new WorldGenTallGrass(Blocks.foliage.get().blockID, 1) : new WorldGenTallGrass(Blocks.foliage.get().blockID, 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic grass color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 4145489;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 4145489;
|
||||
}
|
||||
|
||||
/**
|
||||
* takes temperature, returns color
|
||||
*/
|
||||
@Override
|
||||
public int getSkyColorByTemp(float par1)
|
||||
{
|
||||
if (BOPConfiguration.skyColors = true)
|
||||
return 5069168;
|
||||
else
|
||||
{
|
||||
par1 /= 3.0F;
|
||||
|
||||
if (par1 < -1.0F)
|
||||
{
|
||||
par1 = -1.0F;
|
||||
}
|
||||
|
||||
if (par1 > 1.0F)
|
||||
{
|
||||
par1 = 1.0F;
|
||||
}
|
||||
|
||||
return Color.getHSBColor(0.62222224F - par1 * 0.05F, 0.5F + par1 * 0.1F, 1.0F).getRGB();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
package biomesoplenty.biomes;
|
||||
|
||||
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.WorldGenTallGrass;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class BiomeGenPastureMeadow extends BiomeGenBase
|
||||
{
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
public BiomeGenPastureMeadow(int par1)
|
||||
{
|
||||
super(par1);
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
customBiomeDecorator.treesPerChunk = 1;
|
||||
customBiomeDecorator.grassPerChunk = 15;
|
||||
customBiomeDecorator.sunflowersPerChunk = 40;
|
||||
customBiomeDecorator.whiteFlowersPerChunk = 20;
|
||||
spawnableCreatureList.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
{
|
||||
super.decorate(par1World, par2Random, par3, par4);
|
||||
int var5 = 12 + par2Random.nextInt(6);
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6)
|
||||
{
|
||||
int var7 = par3 + par2Random.nextInt(16);
|
||||
int var8 = par2Random.nextInt(28) + 4;
|
||||
int var9 = par4 + par2Random.nextInt(16);
|
||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
||||
|
||||
if (var10 == Block.stone.blockID)
|
||||
{
|
||||
par1World.setBlock(var7, var8, var9, Blocks.amethystOre.get().blockID, 4, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(8) == 0 ? new WorldGenTallGrass(Blocks.plants.get().blockID, 6) : new WorldGenTallGrass(Block.tallGrass.blockID, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic grass color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 13166666;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 13166666;
|
||||
}
|
||||
}
|
73
src/minecraft/biomesoplenty/biomes/BiomeGenPastureThin.java
Normal file
73
src/minecraft/biomesoplenty/biomes/BiomeGenPastureThin.java
Normal file
|
@ -0,0 +1,73 @@
|
|||
package biomesoplenty.biomes;
|
||||
|
||||
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.WorldGenTallGrass;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class BiomeGenPastureThin extends BiomeGenBase
|
||||
{
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
public BiomeGenPastureThin(int par1)
|
||||
{
|
||||
super(par1);
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
customBiomeDecorator.treesPerChunk = 0;
|
||||
customBiomeDecorator.grassPerChunk = 50;
|
||||
customBiomeDecorator.flowersPerChunk = -999;
|
||||
spawnableCreatureList.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
{
|
||||
super.decorate(par1World, par2Random, par3, par4);
|
||||
int var5 = 12 + par2Random.nextInt(6);
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6)
|
||||
{
|
||||
int var7 = par3 + par2Random.nextInt(16);
|
||||
int var8 = par2Random.nextInt(28) + 4;
|
||||
int var9 = par4 + par2Random.nextInt(16);
|
||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
||||
|
||||
if (var10 == Block.stone.blockID)
|
||||
{
|
||||
par1World.setBlock(var7, var8, var9, Blocks.amethystOre.get().blockID, 4, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(3) == 0 ? new WorldGenTallGrass(Block.tallGrass.blockID, 1) : new WorldGenTallGrass(Blocks.plants.get().blockID, 6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic grass color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 13166666;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 13166666;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
package biomesoplenty.biomes;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.passive.EntityHorse;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.biome.SpawnListEntry;
|
||||
import net.minecraft.world.gen.feature.WorldGenShrub;
|
||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class BiomeGenShrublandForest extends BiomeGenBase
|
||||
{
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
public BiomeGenShrublandForest(int par1)
|
||||
{
|
||||
super(par1);
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
customBiomeDecorator.treesPerChunk = 2;
|
||||
customBiomeDecorator.flowersPerChunk = 0;
|
||||
customBiomeDecorator.grassPerChunk = 10;
|
||||
customBiomeDecorator.bushesPerChunk = 7;
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
{
|
||||
super.decorate(par1World, par2Random, par3, par4);
|
||||
int var5 = 12 + par2Random.nextInt(6);
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6)
|
||||
{
|
||||
int var7 = par3 + par2Random.nextInt(16);
|
||||
int var8 = par2Random.nextInt(28) + 4;
|
||||
int var9 = par4 + par2Random.nextInt(16);
|
||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
||||
|
||||
if (var10 == Block.stone.blockID)
|
||||
{
|
||||
par1World.setBlock(var7, var8, var9, Blocks.amethystOre.get().blockID, 4, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return new WorldGenShrub(0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
||||
{
|
||||
return new WorldGenTallGrass(Blocks.foliage.get().blockID, 1);
|
||||
}
|
||||
}
|
86
src/minecraft/biomesoplenty/biomes/BiomeGenTimberThin.java
Normal file
86
src/minecraft/biomesoplenty/biomes/BiomeGenTimberThin.java
Normal file
|
@ -0,0 +1,86 @@
|
|||
package biomesoplenty.biomes;
|
||||
|
||||
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.WorldGenTallGrass;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
import biomesoplenty.worldgen.WorldGenChaparral2;
|
||||
import biomesoplenty.worldgen.WorldGenChaparral3;
|
||||
import biomesoplenty.worldgen.WorldGenDeciduous2;
|
||||
|
||||
public class BiomeGenTimberThin extends BiomeGenBase
|
||||
{
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
public BiomeGenTimberThin(int par1)
|
||||
{
|
||||
super(par1);
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
customBiomeDecorator.treesPerChunk = 5;
|
||||
customBiomeDecorator.grassPerChunk = 8;
|
||||
customBiomeDecorator.thornsPerChunk = 2;
|
||||
customBiomeDecorator.flowersPerChunk = -999;
|
||||
customBiomeDecorator.toadstoolsPerChunk = 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(4) == 0 ? new WorldGenChaparral3() : (par1Random.nextInt(8) == 0 ? new WorldGenChaparral2() : new WorldGenDeciduous2(false));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(5) == 0 ? new WorldGenTallGrass(Blocks.foliage.get().blockID, 2) : new WorldGenTallGrass(Blocks.foliage.get().blockID, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
{
|
||||
super.decorate(par1World, par2Random, par3, par4);
|
||||
int var5 = 3 + par2Random.nextInt(6);
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6)
|
||||
{
|
||||
int var7 = par3 + par2Random.nextInt(16);
|
||||
int var8 = par2Random.nextInt(28) + 4;
|
||||
int var9 = par4 + par2Random.nextInt(16);
|
||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
||||
|
||||
if (var10 == Block.stone.blockID)
|
||||
{
|
||||
par1World.setBlock(var7, var8, var9, Block.oreEmerald.blockID, 0, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic grass color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 10923366;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 11049817;
|
||||
}
|
||||
}
|
|
@ -22,6 +22,7 @@ import biomesoplenty.biomes.BiomeGenBog;
|
|||
import biomesoplenty.biomes.BiomeGenBorealForest;
|
||||
import biomesoplenty.biomes.BiomeGenBrushland;
|
||||
import biomesoplenty.biomes.BiomeGenCanyon;
|
||||
import biomesoplenty.biomes.BiomeGenCanyonRavine;
|
||||
import biomesoplenty.biomes.BiomeGenChaparral;
|
||||
import biomesoplenty.biomes.BiomeGenCherryBlossomGrove;
|
||||
import biomesoplenty.biomes.BiomeGenConiferousForest;
|
||||
|
@ -56,6 +57,7 @@ import biomesoplenty.biomes.BiomeGenMangrove;
|
|||
import biomesoplenty.biomes.BiomeGenMapleWoods;
|
||||
import biomesoplenty.biomes.BiomeGenMarsh;
|
||||
import biomesoplenty.biomes.BiomeGenMeadow;
|
||||
import biomesoplenty.biomes.BiomeGenMeadowForest;
|
||||
import biomesoplenty.biomes.BiomeGenMesa;
|
||||
import biomesoplenty.biomes.BiomeGenMoor;
|
||||
import biomesoplenty.biomes.BiomeGenMountain;
|
||||
|
@ -69,10 +71,13 @@ import biomesoplenty.biomes.BiomeGenOasis;
|
|||
import biomesoplenty.biomes.BiomeGenOceanCoral;
|
||||
import biomesoplenty.biomes.BiomeGenOceanKelp;
|
||||
import biomesoplenty.biomes.BiomeGenOminousWoods;
|
||||
import biomesoplenty.biomes.BiomeGenOminousWoodsThick;
|
||||
import biomesoplenty.biomes.BiomeGenOrchard;
|
||||
import biomesoplenty.biomes.BiomeGenOriginValley;
|
||||
import biomesoplenty.biomes.BiomeGenOutback;
|
||||
import biomesoplenty.biomes.BiomeGenPasture;
|
||||
import biomesoplenty.biomes.BiomeGenPastureMeadow;
|
||||
import biomesoplenty.biomes.BiomeGenPastureThin;
|
||||
import biomesoplenty.biomes.BiomeGenPlainsNew;
|
||||
import biomesoplenty.biomes.BiomeGenPolar;
|
||||
import biomesoplenty.biomes.BiomeGenPrairie;
|
||||
|
@ -89,6 +94,7 @@ import biomesoplenty.biomes.BiomeGenSeasonalForest;
|
|||
import biomesoplenty.biomes.BiomeGenShield;
|
||||
import biomesoplenty.biomes.BiomeGenShore;
|
||||
import biomesoplenty.biomes.BiomeGenShrubland;
|
||||
import biomesoplenty.biomes.BiomeGenShrublandForest;
|
||||
import biomesoplenty.biomes.BiomeGenSludgepit;
|
||||
import biomesoplenty.biomes.BiomeGenSpruceWoods;
|
||||
import biomesoplenty.biomes.BiomeGenSteppe;
|
||||
|
@ -97,6 +103,7 @@ import biomesoplenty.biomes.BiomeGenTaigaNew;
|
|||
import biomesoplenty.biomes.BiomeGenTemperateRainforest;
|
||||
import biomesoplenty.biomes.BiomeGenThicket;
|
||||
import biomesoplenty.biomes.BiomeGenTimber;
|
||||
import biomesoplenty.biomes.BiomeGenTimberThin;
|
||||
import biomesoplenty.biomes.BiomeGenTropicalRainforest;
|
||||
import biomesoplenty.biomes.BiomeGenTropics;
|
||||
import biomesoplenty.biomes.BiomeGenTundra;
|
||||
|
@ -170,7 +177,8 @@ public class BOPBiomes {
|
|||
Biomes.bog = Optional.of((new BiomeGenBog(BOPConfiguration.bogID)).setColor(522674).setBiomeName("Bog").func_76733_a(9154376).setMinMaxHeight(-0.1F, 0.1F).setTemperatureRainfall(0.8F, 0.9F));
|
||||
Biomes.borealForest = Optional.of((new BiomeGenBorealForest(BOPConfiguration.borealForestID)).setColor(353825).setBiomeName("Boreal Forest").func_76733_a(5159473).setMinMaxHeight(0.0F, 1.0F).setTemperatureRainfall(0.6F, 0.7F));
|
||||
Biomes.brushland = Optional.of((new BiomeGenBrushland(BOPConfiguration.brushlandID)).setColor(16421912).setBiomeName("Brushland").setTemperatureRainfall(2.0F, 0.0F).setMinMaxHeight(0.0F, 0.5F));
|
||||
Biomes.canyon = Optional.of((new BiomeGenCanyon(BOPConfiguration.canyonID)).setColor(9286496).setBiomeName("Canyon").setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(0.4F, 2.0F));
|
||||
Biomes.canyon = Optional.of((new BiomeGenCanyon(BOPConfiguration.canyonID)).setColor(9286496).setBiomeName("Canyon").setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(1.5F, 2.0F));
|
||||
Biomes.canyonRavine = Optional.of((new BiomeGenCanyonRavine(BOPConfiguration.canyonRavineID)).setColor(9286496).setBiomeName("Canyon Ravine").setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(0.1F, 0.2F));
|
||||
Biomes.chaparral = Optional.of((new BiomeGenChaparral(BOPConfiguration.chaparralID)).setColor(9286496).setBiomeName("Chaparral").setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(0.3F, 0.6F));
|
||||
Biomes.cherryBlossomGrove = Optional.of((new BiomeGenCherryBlossomGrove(BOPConfiguration.cherryBlossomGroveID)).setColor(9286496).setBiomeName("Cherry Blossom Grove").setMinMaxHeight(0.1F, 0.2F).setTemperatureRainfall(0.7F, 0.8F));
|
||||
Biomes.coniferousForest = Optional.of((new BiomeGenConiferousForest(BOPConfiguration.coniferousForestID)).setColor(747097).setBiomeName("Coniferous Forest").func_76733_a(5159473).setTemperatureRainfall(0.5F, 0.4F).setMinMaxHeight(0.1F, 0.8F));
|
||||
|
@ -201,6 +209,7 @@ public class BOPBiomes {
|
|||
Biomes.mapleWoods = Optional.of((new BiomeGenMapleWoods(BOPConfiguration.mapleWoodsID)).setColor(747097).setBiomeName("Maple Woods").func_76733_a(5159473).setTemperatureRainfall(0.2F, 0.8F).setMinMaxHeight(0.1F, 0.6F));
|
||||
Biomes.marsh = Optional.of((new BiomeGenMarsh(BOPConfiguration.marshID)).setColor(10486015).setBiomeName("Marsh").setMinMaxHeight(-0.5F, 0.0F).setTemperatureRainfall(0.5F, 0.9F));
|
||||
Biomes.meadow = Optional.of((new BiomeGenMeadow(BOPConfiguration.meadowID)).setColor(9286496).setBiomeName("Meadow").setTemperatureRainfall(0.7F, 0.7F));
|
||||
Biomes.meadowForest = Optional.of((new BiomeGenMeadowForest(BOPConfiguration.meadowForestID)).setColor(9286496).setBiomeName("Meadow Forest").setTemperatureRainfall(0.7F, 0.7F));
|
||||
Biomes.mesa = Optional.of((new BiomeGenMesa(BOPConfiguration.mesaID)).setColor(16421912).setBiomeName("Mesa").setDisableRain().setTemperatureRainfall(2.0F, 0.0F).setMinMaxHeight(0.4F, 2.0F));
|
||||
Biomes.moor = Optional.of((new BiomeGenMoor(BOPConfiguration.moorID)).setColor(16421912).setBiomeName("Moor").setTemperatureRainfall(0.5F, 1.0F).setMinMaxHeight(0.7F, 0.8F));
|
||||
Biomes.mountain = Optional.of((new BiomeGenMountain(BOPConfiguration.mountainID)).setColor(14090235).setBiomeName("Mountain").setTemperatureRainfall(0.5F, 0.1F).setMinMaxHeight(1.2F, 1.2F));
|
||||
|
@ -218,10 +227,13 @@ public class BOPBiomes {
|
|||
Biomes.oceanKelp = Optional.of((new BiomeGenOceanKelp(BOPConfiguration.oceanKelpID)).setColor(10486015).setBiomeName("Kelp Forest").setMinMaxHeight(-0.4F, -0.1F).setTemperatureRainfall(0.5F, 0.9F));
|
||||
|
||||
Biomes.ominousWoods = Optional.of((new BiomeGenOminousWoods(BOPConfiguration.ominousWoodsID)).setColor(353825).setBiomeName("Ominous Woods").setDisableRain().func_76733_a(5159473).setTemperatureRainfall(0.8F, 0.9F));
|
||||
Biomes.ominousWoodsThick = Optional.of((new BiomeGenOminousWoodsThick(BOPConfiguration.ominousWoodsThickID)).setColor(353825).setBiomeName("Thick Ominous Woods").setDisableRain().func_76733_a(5159473).setTemperatureRainfall(0.8F, 0.9F));
|
||||
Biomes.orchard = Optional.of((new BiomeGenOrchard(BOPConfiguration.orchardID)).setColor(9286496).setBiomeName("Orchard").setTemperatureRainfall(0.8F, 0.4F));
|
||||
Biomes.originValley = Optional.of((new BiomeGenOriginValley(BOPConfiguration.originValleyID)).setColor(353825).setBiomeName("Origin Valley").func_76733_a(5159473).setTemperatureRainfall(0.7F, 0.8F).setMinMaxHeight(-0.1F, 0.6F));
|
||||
Biomes.outback = Optional.of((new BiomeGenOutback(BOPConfiguration.outbackID)).setColor(9286496).setBiomeName("Outback").setTemperatureRainfall(0.8F, 0.0F).setMinMaxHeight(0.1F, 0.1F));
|
||||
Biomes.pasture = Optional.of((new BiomeGenPasture(BOPConfiguration.pastureID)).setColor(9286496).setBiomeName("Pasture").setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(0.1F, 0.1F));
|
||||
Biomes.pastureMeadow = Optional.of((new BiomeGenPastureMeadow(BOPConfiguration.pastureMeadowID)).setColor(9286496).setBiomeName("Pasture Meadow").setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(0.1F, 0.1F));
|
||||
Biomes.pastureThin = Optional.of((new BiomeGenPastureThin(BOPConfiguration.pastureThinID)).setColor(9286496).setBiomeName("Thinned Pasture").setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(0.1F, 0.1F));
|
||||
Biomes.polar = Optional.of((new BiomeGenPolar(BOPConfiguration.polarID)).setColor(6316128).setBiomeName("Polar").setMinMaxHeight(-0.5F, 0.0F).setTemperatureRainfall(0.0F, 0.0F));
|
||||
Biomes.prairie = Optional.of((new BiomeGenPrairie(BOPConfiguration.prairieID)).setColor(353825).setBiomeName("Prairie").func_76733_a(5159473).setTemperatureRainfall(0.9F, 0.6F).setMinMaxHeight(0.1F, 0.1F));
|
||||
|
||||
|
@ -239,12 +251,14 @@ public class BOPBiomes {
|
|||
Biomes.shield = Optional.of((new BiomeGenShield(BOPConfiguration.shieldID)).setColor(522674).setBiomeName("Shield").func_76733_a(9154376).setMinMaxHeight(-0.2F, 0.4F).setTemperatureRainfall(0.5F, 0.8F));
|
||||
Biomes.shore = Optional.of((new BiomeGenShore(BOPConfiguration.shoreID)).setColor(9286496).setBiomeName("Shore").setMinMaxHeight(-1.0F, 0.4F).setTemperatureRainfall(0.8F, 0.4F));
|
||||
Biomes.shrubland = Optional.of((new BiomeGenShrubland(BOPConfiguration.shrublandID)).setColor(9286496).setBiomeName("Shrubland").setMinMaxHeight(0.1F, 0.2F).setTemperatureRainfall(0.6F, 0.0F));
|
||||
Biomes.shrublandForest = Optional.of((new BiomeGenShrublandForest(BOPConfiguration.shrublandForestID)).setColor(9286496).setBiomeName("Thick Shrubland").setMinMaxHeight(0.1F, 0.2F).setTemperatureRainfall(0.6F, 0.0F));
|
||||
Biomes.sludgepit = Optional.of((new BiomeGenSludgepit(BOPConfiguration.sludgepitID)).setColor(522674).setBiomeName("Sludgepit").func_76733_a(9154376).setMinMaxHeight(-0.3F, -0.1F).setTemperatureRainfall(0.8F, 0.9F));
|
||||
Biomes.spruceWoods = Optional.of((new BiomeGenSpruceWoods(BOPConfiguration.spruceWoodsID)).setColor(353825).setBiomeName("Spruce Woods").func_76733_a(5159473).setTemperatureRainfall(0.6F, 0.7F));
|
||||
Biomes.steppe = Optional.of((new BiomeGenSteppe(BOPConfiguration.steppeID)).setColor(9286496).setBiomeName("Steppe").setTemperatureRainfall(2.0F, 0.0F).setMinMaxHeight(0.1F, 0.2F));
|
||||
Biomes.temperateRainforest = Optional.of((new BiomeGenTemperateRainforest(BOPConfiguration.temperateRainforestID)).setColor(353825).setBiomeName("Temperate Rainforest").func_76733_a(5159473).setTemperatureRainfall(0.7F, 0.8F).setMinMaxHeight(0.2F, 1.2F));
|
||||
Biomes.thicket = Optional.of((new BiomeGenThicket(BOPConfiguration.thicketID)).setColor(353825).setBiomeName("Thicket").func_76733_a(5159473).setTemperatureRainfall(0.6F, 0.2F).setMinMaxHeight(0.0F, 0.2F));
|
||||
Biomes.timber = Optional.of((new BiomeGenTimber(BOPConfiguration.timberID)).setColor(353825).setBiomeName("Timber").func_76733_a(5159473).setTemperatureRainfall(0.7F, 0.8F).setMinMaxHeight(0.0F, 0.2F));
|
||||
Biomes.timberThin = Optional.of((new BiomeGenTimberThin(BOPConfiguration.timberThinID)).setColor(353825).setBiomeName("Thinned Timber").func_76733_a(5159473).setTemperatureRainfall(0.7F, 0.8F).setMinMaxHeight(0.0F, 0.2F));
|
||||
Biomes.tropicalRainforest = Optional.of((new BiomeGenTropicalRainforest(BOPConfiguration.tropicalRainforestID)).setColor(9286496).setBiomeName("Tropical Rainforest").setTemperatureRainfall(1.2F, 0.9F).setMinMaxHeight(0.3F, 0.7F));
|
||||
Biomes.tropics = Optional.of((new BiomeGenTropics(BOPConfiguration.tropicsID)).setColor(9286496).setBiomeName("Tropics").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 1.5F));
|
||||
Biomes.tundra = Optional.of((new BiomeGenTundra(BOPConfiguration.tundraID)).setColor(14090235).setBiomeName("Tundra").setTemperatureRainfall(0.2F, 0.8F).setMinMaxHeight(-0.2F, 0.4F));
|
||||
|
|
|
@ -302,6 +302,7 @@ public class BOPConfiguration {
|
|||
public static int borealForestID;
|
||||
public static int brushlandID;
|
||||
public static int canyonID;
|
||||
public static int canyonRavineID;
|
||||
public static int chaparralID;
|
||||
public static int cherryBlossomGroveID;
|
||||
public static int coniferousForestID;
|
||||
|
@ -332,6 +333,7 @@ public class BOPConfiguration {
|
|||
public static int mapleWoodsID;
|
||||
public static int marshID;
|
||||
public static int meadowID;
|
||||
public static int meadowForestID;
|
||||
public static int mesaID;
|
||||
public static int moorID;
|
||||
public static int mountainID;
|
||||
|
@ -349,10 +351,13 @@ public class BOPConfiguration {
|
|||
public static int oceanKelpID;
|
||||
|
||||
public static int ominousWoodsID;
|
||||
public static int ominousWoodsThickID;
|
||||
public static int orchardID;
|
||||
public static int originValleyID;
|
||||
public static int outbackID;
|
||||
public static int pastureID;
|
||||
public static int pastureMeadowID;
|
||||
public static int pastureThinID;
|
||||
public static int polarID;
|
||||
public static int prairieID;
|
||||
|
||||
|
@ -371,12 +376,14 @@ public class BOPConfiguration {
|
|||
public static int shieldID;
|
||||
public static int shoreID;
|
||||
public static int shrublandID;
|
||||
public static int shrublandForestID;
|
||||
public static int sludgepitID;
|
||||
public static int spruceWoodsID;
|
||||
public static int steppeID;
|
||||
public static int temperateRainforestID;
|
||||
public static int thicketID;
|
||||
public static int timberID;
|
||||
public static int timberThinID;
|
||||
public static int tropicalRainforestID;
|
||||
public static int tropicsID;
|
||||
public static int tundraID;
|
||||
|
@ -892,6 +899,14 @@ public class BOPConfiguration {
|
|||
FMLCommonHandler.instance().getFMLLogger().log(Level.INFO, "[BiomesOPlenty] Generating Biome ID's");
|
||||
|
||||
//23-79 ExtraBiomesXL
|
||||
|
||||
timberThinID = config.get("Biome IDs", "Thinned Timber (Sub-Biome) ID", 44).getInt();
|
||||
pastureThinID = config.get("Biome IDs", "Thinned Pasture (Sub-Biome) ID", 45).getInt();
|
||||
pastureMeadowID = config.get("Biome IDs", "Pasture Meadow (Sub-Biome) ID", 46).getInt();
|
||||
ominousWoodsThickID = config.get("Biome IDs", "Thick Ominous Woods (Sub-Biome) ID", 47).getInt();
|
||||
shrublandForestID = config.get("Biome IDs", "Thick Shrubland (Sub-Biome) ID", 48).getInt();
|
||||
canyonRavineID = config.get("Biome IDs", "Canyon Ravine (Sub-Biome) ID", 49).getInt();
|
||||
meadowForestID = config.get("Biome IDs", "Meadow Forest (Sub-Biome) ID", 50).getInt();
|
||||
|
||||
oceanCoralID = config.get("Biome IDs", "Coral Reef (Ocean) ID", 58).getInt();
|
||||
oceanKelpID = config.get("Biome IDs", "Kelp Forest (Ocean) ID", 59).getInt();
|
||||
|
|
|
@ -487,6 +487,12 @@ public class AchievementHelper
|
|||
{
|
||||
player.addStat(AchievementHelper.achCanyon, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.canyonRavine.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achCanyon, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.chaparral.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achChaparral, 1);
|
||||
|
@ -635,6 +641,11 @@ public class AchievementHelper
|
|||
{
|
||||
player.addStat(AchievementHelper.achMeadow, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.meadowForest.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achMeadow, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.mesa.get().biomeID)
|
||||
{
|
||||
|
@ -660,6 +671,11 @@ public class AchievementHelper
|
|||
{
|
||||
player.addStat(AchievementHelper.achOminousWoods, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.ominousWoodsThick.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achOminousWoods, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.orchard.get().biomeID)
|
||||
{
|
||||
|
@ -680,6 +696,16 @@ public class AchievementHelper
|
|||
{
|
||||
player.addStat(AchievementHelper.achPasture, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.pastureMeadow.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achPasture, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.pastureThin.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achPasture, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.polar.get().biomeID)
|
||||
{
|
||||
|
@ -735,6 +761,11 @@ public class AchievementHelper
|
|||
{
|
||||
player.addStat(AchievementHelper.achShrubland, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.shrublandForest.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achShrubland, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.sludgepit.get().biomeID)
|
||||
{
|
||||
|
@ -765,6 +796,11 @@ public class AchievementHelper
|
|||
{
|
||||
player.addStat(AchievementHelper.achTimber, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.timberThin.get().biomeID)
|
||||
{
|
||||
player.addStat(AchievementHelper.achTimber, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.tropicalRainforest.get().biomeID)
|
||||
{
|
||||
|
|
|
@ -38,6 +38,7 @@ import net.minecraftforge.event.Event.Result;
|
|||
import net.minecraftforge.event.terraingen.ChunkProviderEvent;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
import net.minecraftforge.event.terraingen.TerrainGen;
|
||||
import biomesoplenty.api.Biomes;
|
||||
import biomesoplenty.configuration.BOPConfiguration;
|
||||
import biomesoplenty.world.noise.NoiseOctaves;
|
||||
import biomesoplenty.worldgen.structure.BOPMapGenScatteredFeature;
|
||||
|
@ -549,14 +550,14 @@ public class ChunkProviderBOP implements IChunkProvider
|
|||
int l1;
|
||||
int i2;
|
||||
|
||||
if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAKE) &&
|
||||
!flag && rand.nextInt(4) == 0)
|
||||
{
|
||||
k1 = k + rand.nextInt(16) + 8;
|
||||
l1 = rand.nextInt(128);
|
||||
i2 = l + rand.nextInt(16) + 8;
|
||||
(new WorldGenLakes(Block.waterStill.blockID)).generate(worldObj, rand, k1, l1, i2);
|
||||
}
|
||||
if (biomegenbase != BiomeGenBase.desert && biomegenbase != BiomeGenBase.desertHills && biomegenbase != Biomes.desertNew.get() && biomegenbase != Biomes.glacier.get() && biomegenbase != Biomes.volcano.get() && biomegenbase != Biomes.scrubland.get() && biomegenbase != Biomes.dunes.get() && biomegenbase != Biomes.arctic.get() && biomegenbase != Biomes.pasture.get() && !flag && this.rand.nextInt(4) == 0
|
||||
&& TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAKE))
|
||||
{
|
||||
k1 = k + this.rand.nextInt(16) + 8;
|
||||
l1 = this.rand.nextInt(128);
|
||||
i2 = l + this.rand.nextInt(16) + 8;
|
||||
(new WorldGenLakes(Block.waterStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2);
|
||||
}
|
||||
|
||||
if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAVA) &&
|
||||
!flag && rand.nextInt(8) == 0)
|
||||
|
|
|
@ -24,7 +24,7 @@ public class BiomeLayerShore extends BiomeLayer
|
|||
}
|
||||
if (Biomes.beachOvergrown.isPresent())
|
||||
{
|
||||
beachBiomes.add(Biomes.beachOvergrown.get());
|
||||
//beachBiomes.add(Biomes.beachOvergrown.get());
|
||||
}
|
||||
|
||||
//OCEAN BIOMES
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package biomesoplenty.world.layer;
|
||||
|
||||
import biomesoplenty.api.Biomes;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.gen.layer.GenLayer;
|
||||
import net.minecraft.world.gen.layer.IntCache;
|
||||
|
@ -28,6 +29,13 @@ public class BiomeLayerSub extends BiomeLayer
|
|||
|
||||
//LIST
|
||||
if (k1 == BiomeGenBase.desert.biomeID && nextInt(3) == 0) { l1 = BiomeGenBase.desertHills.biomeID; }
|
||||
if (k1 == Biomes.meadow.get().biomeID && nextInt(2) == 0) { l1 = Biomes.meadowForest.get().biomeID; }
|
||||
if (k1 == Biomes.canyon.get().biomeID && nextInt(2) == 0) { l1 = Biomes.canyonRavine.get().biomeID; }
|
||||
if (k1 == Biomes.shrubland.get().biomeID && nextInt(3) == 0) { l1 = Biomes.shrublandForest.get().biomeID; }
|
||||
if (k1 == Biomes.ominousWoods.get().biomeID && nextInt(3) == 0) { l1 = Biomes.ominousWoodsThick.get().biomeID; }
|
||||
if (k1 == Biomes.pasture.get().biomeID && nextInt(2) == 0) { l1 = Biomes.pastureMeadow.get().biomeID; }
|
||||
if (k1 == Biomes.pasture.get().biomeID && nextInt(3) == 0) { l1 = Biomes.pastureThin.get().biomeID; }
|
||||
if (k1 == Biomes.timber.get().biomeID && nextInt(3) == 0) { l1 = Biomes.timberThin.get().biomeID; }
|
||||
|
||||
if (l1 == k1)
|
||||
{
|
||||
|
|
137
src/minecraft/biomesoplenty/worldgen/WorldGenOminous3.java
Normal file
137
src/minecraft/biomesoplenty/worldgen/WorldGenOminous3.java
Normal file
|
@ -0,0 +1,137 @@
|
|||
package biomesoplenty.worldgen;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class WorldGenOminous3 extends WorldGenerator
|
||||
{
|
||||
public WorldGenOminous3(boolean par1)
|
||||
{
|
||||
super(par1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
||||
{
|
||||
int var6 = par2Random.nextInt(15) + 10;
|
||||
int var7 = 2 + par2Random.nextInt(4);
|
||||
int var8 = var6 - var7;
|
||||
int var9 = 2 + par2Random.nextInt(3);
|
||||
boolean var10 = true;
|
||||
|
||||
if (par4 >= 1 && par4 + var6 + 1 <= 256)
|
||||
{
|
||||
int var11;
|
||||
int var13;
|
||||
int var15;
|
||||
int var21;
|
||||
|
||||
for (var11 = par4; var11 <= par4 + 1 + var6 && var10; ++var11)
|
||||
{
|
||||
boolean var12 = true;
|
||||
|
||||
if (var11 - par4 < var7)
|
||||
{
|
||||
var21 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
var21 = var9;
|
||||
}
|
||||
|
||||
for (var13 = par3 - var21; var13 <= par3 + var21 && var10; ++var13)
|
||||
{
|
||||
for (int var14 = par5 - var21; var14 <= par5 + var21 && var10; ++var14)
|
||||
{
|
||||
if (var11 >= 0 && var11 < 256)
|
||||
{
|
||||
var15 = par1World.getBlockId(var13, var11, var14);
|
||||
|
||||
if (var15 != 0 && var15 != Blocks.leaves1.get().blockID)
|
||||
{
|
||||
var10 = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var10 = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!var10)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
var11 = par1World.getBlockId(par3, par4 - 1, par5);
|
||||
|
||||
if ((var11 == Block.grass.blockID || var11 == Block.dirt.blockID) && par4 < 256 - var6 - 1)
|
||||
{
|
||||
this.setBlock(par1World, par3, par4 - 1, par5, Block.dirt.blockID);
|
||||
var21 = par2Random.nextInt(2);
|
||||
var13 = 1;
|
||||
byte var22 = 0;
|
||||
int var17;
|
||||
int var16;
|
||||
|
||||
for (var15 = 0; var15 <= var8; ++var15)
|
||||
{
|
||||
var16 = par4 + var6 - var15;
|
||||
|
||||
for (var17 = par3 - var21; var17 <= par3 + var21; ++var17)
|
||||
{
|
||||
int var18 = var17 - par3;
|
||||
|
||||
for (int var19 = par5 - var21; var19 <= par5 + var21; ++var19)
|
||||
{
|
||||
int var20 = var19 - par5;
|
||||
|
||||
if ((Math.abs(var18) != var21 || Math.abs(var20) != var21 || var21 <= 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var17, var16, var19)])
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, var17, var16, var19, Blocks.leaves1.get().blockID, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var21 >= var13)
|
||||
{
|
||||
var21 = var22;
|
||||
var22 = 1;
|
||||
++var13;
|
||||
|
||||
if (var13 > var9)
|
||||
{
|
||||
var13 = var9;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
++var21;
|
||||
}
|
||||
}
|
||||
|
||||
var15 = par2Random.nextInt(3);
|
||||
|
||||
for (var16 = 0; var16 < var6 - var15; ++var16)
|
||||
{
|
||||
var17 = par1World.getBlockId(par3, par4 + var16, par5);
|
||||
|
||||
if (var17 == 0 || var17 == Blocks.leaves1.get().blockID)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, par3, par4 + var16, par5, Blocks.logs1.get().blockID, 2);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
}
|
163
src/minecraft/biomesoplenty/worldgen/WorldGenOminous4.java
Normal file
163
src/minecraft/biomesoplenty/worldgen/WorldGenOminous4.java
Normal file
|
@ -0,0 +1,163 @@
|
|||
package biomesoplenty.worldgen;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class WorldGenOminous4 extends WorldGenerator
|
||||
{
|
||||
public WorldGenOminous4(boolean var1)
|
||||
{
|
||||
super(var1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generate(World var1, Random var2, int var3, int var4, int var5)
|
||||
{
|
||||
int var6 = var2.nextInt(20) + 15;
|
||||
int var7 = var2.nextInt(10) + 5;
|
||||
int var8 = var6 - var7;
|
||||
int var9 = 3 + var2.nextInt(1);
|
||||
boolean var10 = true;
|
||||
|
||||
if (var4 >= 1 && var4 + var6 + 1 <= 256)
|
||||
{
|
||||
int var11;
|
||||
int var13;
|
||||
int var14;
|
||||
int var15;
|
||||
int var24;
|
||||
|
||||
for (var11 = var4; var11 <= var4 + 1 + var6 && var10; ++var11)
|
||||
{
|
||||
boolean var12 = true;
|
||||
|
||||
if (var11 - var4 < var7)
|
||||
{
|
||||
var24 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
var24 = var9;
|
||||
}
|
||||
|
||||
for (var13 = var3 - var24; var13 <= var3 + var24 && var10; ++var13)
|
||||
{
|
||||
for (var14 = var5 - var24; var14 <= var5 + var24 && var10; ++var14)
|
||||
{
|
||||
if (var11 >= 0 && var11 < 256)
|
||||
{
|
||||
var15 = var1.getBlockId(var13, var11, var14);
|
||||
|
||||
if (var15 != 0 && var15 != Blocks.leaves1.get().blockID)
|
||||
{
|
||||
var10 = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var10 = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!var10)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
var11 = var1.getBlockId(var3, var4 - 1, var5);
|
||||
var24 = var1.getBlockId(var3 - 1, var4 - 1, var5);
|
||||
var13 = var1.getBlockId(var3, var4 - 1, var5 - 1);
|
||||
var14 = var1.getBlockId(var3 - 1, var4 - 1, var5 - 1);
|
||||
|
||||
if ((var11 == Block.grass.blockID || var11 == Block.dirt.blockID) && var4 < 256 - var6 - 1)
|
||||
{
|
||||
if ((var24 == Block.grass.blockID || var24 == Block.dirt.blockID) && var4 < 256 - var6 - 1)
|
||||
{
|
||||
if ((var13 == Block.grass.blockID || var24 == Block.dirt.blockID) && var4 < 256 - var6 - 1)
|
||||
{
|
||||
if ((var14 == Block.grass.blockID || var24 == Block.dirt.blockID) && var4 < 256 - var6 - 1)
|
||||
{
|
||||
var1.setBlock(var3, var4 - 1, var5, Block.dirt.blockID);
|
||||
var1.setBlock(var3 - 1, var4 - 1, var5, Block.dirt.blockID);
|
||||
var1.setBlock(var3, var4 - 1, var5 - 1, Block.dirt.blockID);
|
||||
var1.setBlock(var3 - 1, var4 - 1, var5 - 1, Block.dirt.blockID);
|
||||
var15 = var2.nextInt(2);
|
||||
int var16 = 1;
|
||||
boolean var17 = false;
|
||||
int var19;
|
||||
int var18;
|
||||
int var20;
|
||||
|
||||
for (var18 = 0; var18 <= var8; ++var18)
|
||||
{
|
||||
var19 = var4 + var6 - var18;
|
||||
|
||||
for (var20 = var3 - var15; var20 <= var3 + var15; ++var20)
|
||||
{
|
||||
int var21 = var20 - var3;
|
||||
|
||||
for (int var22 = var5 - var15; var22 <= var5 + var15; ++var22)
|
||||
{
|
||||
int var23 = var22 - var5;
|
||||
|
||||
if ((Math.abs(var21) != var15 || Math.abs(var23) != var15 || var15 <= 0) && !Block.opaqueCubeLookup[var1.getBlockId(var20, var19, var22)])
|
||||
{
|
||||
this.setBlockAndMetadata(var1, var20, var19, var22, Blocks.leaves1.get().blockID, 3);
|
||||
this.setBlockAndMetadata(var1, var20 - 1, var19, var22, Blocks.leaves1.get().blockID, 3);
|
||||
this.setBlockAndMetadata(var1, var20, var19, var22 - 1, Blocks.leaves1.get().blockID, 3);
|
||||
this.setBlockAndMetadata(var1, var20 - 1, var19, var22 - 1, Blocks.leaves1.get().blockID, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var15 >= var16)
|
||||
{
|
||||
var15 = var17 ? 1 : 0;
|
||||
var17 = true;
|
||||
++var16;
|
||||
|
||||
if (var16 > var9)
|
||||
{
|
||||
var16 = var9;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
++var15;
|
||||
}
|
||||
}
|
||||
|
||||
var18 = var2.nextInt(3);
|
||||
|
||||
for (var19 = 0; var19 < var6 - var18; ++var19)
|
||||
{
|
||||
var20 = var1.getBlockId(var3, var4 + var19, var5);
|
||||
|
||||
if (var20 == 0 || var20 == Blocks.leaves1.get().blockID)
|
||||
{
|
||||
this.setBlockAndMetadata(var1, var3, var4 + var19, var5, Blocks.logs1.get().blockID, 2);
|
||||
this.setBlockAndMetadata(var1, var3 - 1, var4 + var19, var5, Blocks.logs1.get().blockID, 2);
|
||||
this.setBlockAndMetadata(var1, var3, var4 + var19, var5 - 1, Blocks.logs1.get().blockID, 2);
|
||||
this.setBlockAndMetadata(var1, var3 - 1, var4 + var19, var5 - 1, Blocks.logs1.get().blockID, 2);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
} else
|
||||
return false;
|
||||
} else
|
||||
return false;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue