Added Sublime Shrubland biome to Promised Land, fixed violet generation
|
@ -92,6 +92,7 @@ public class Biomes
|
|||
|
||||
public static Optional<? extends BiomeGenBase> promisedLandForest = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> promisedLandPlains = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> promisedLandShrub = Optional.absent();
|
||||
public static Optional<? extends BiomeGenBase> promisedLandSwamp = Optional.absent();
|
||||
|
||||
public static Optional<? extends BiomeGenBase> quagmire = Optional.absent();
|
||||
|
|
|
@ -119,6 +119,7 @@ public class BlockReferences {
|
|||
holyDirt (Blocks.holyDirt, 0),
|
||||
holyStone (Blocks.holyStone, 0),
|
||||
holyStoneCobble (Blocks.holyStone, 1),
|
||||
holyStoneMossy (Blocks.holyStone, 3),
|
||||
crystal (Blocks.crystal, 0),
|
||||
cragRock (Blocks.cragRock, 0),
|
||||
quicksand (Blocks.mud, 1),
|
||||
|
|
|
@ -45,7 +45,6 @@ import net.minecraftforge.event.terraingen.OreGenEvent;
|
|||
import net.minecraftforge.event.terraingen.TerrainGen;
|
||||
import biomesoplenty.api.Blocks;
|
||||
import biomesoplenty.api.Fluids;
|
||||
import biomesoplenty.configuration.configfile.BOPConfiguration;
|
||||
import biomesoplenty.configuration.configfile.BOPConfigurationTerrainGen;
|
||||
import biomesoplenty.worldgen.WorldGenAlgae;
|
||||
import biomesoplenty.worldgen.WorldGenAsh;
|
||||
|
@ -80,10 +79,10 @@ import biomesoplenty.worldgen.WorldGenKelp;
|
|||
import biomesoplenty.worldgen.WorldGenLilyflower;
|
||||
import biomesoplenty.worldgen.WorldGenMelon;
|
||||
import biomesoplenty.worldgen.WorldGenMesa;
|
||||
import biomesoplenty.worldgen.WorldGenMossySkystone;
|
||||
import biomesoplenty.worldgen.WorldGenMud;
|
||||
import biomesoplenty.worldgen.WorldGenMycelium;
|
||||
import biomesoplenty.worldgen.WorldGenNetherGrass;
|
||||
import biomesoplenty.worldgen.WorldGenNetherHive;
|
||||
import biomesoplenty.worldgen.WorldGenNetherLava;
|
||||
import biomesoplenty.worldgen.WorldGenNetherVines;
|
||||
import biomesoplenty.worldgen.WorldGenNetherWart;
|
||||
|
@ -154,7 +153,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
public WorldGenerator clayInStone2Gen;
|
||||
public WorldGenerator quagmireGen;
|
||||
public WorldGenerator quicksandGen;
|
||||
public WorldGenerator hiveGen;
|
||||
public WorldGenerator mossySkystoneGen;
|
||||
public WorldGenerator spongeGen;
|
||||
public WorldGenerator canyonGen;
|
||||
public WorldGenerator cloudGen;
|
||||
|
@ -443,7 +442,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
public boolean generateClouds;
|
||||
public boolean generateQuicksand;
|
||||
public boolean generateSponge;
|
||||
public boolean generateHive;
|
||||
public boolean generateMossySkystone;
|
||||
|
||||
public BiomeDecoratorBOP(BiomeGenBase par1BiomeGenBase)
|
||||
{
|
||||
|
@ -468,7 +467,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
clayInStoneGen = new WorldGenBadlands3(Block.stainedClay.blockID, 32);
|
||||
clayInStone2Gen = new WorldGenBadlands(Block.stainedClay.blockID, 32);
|
||||
quagmireGen = new WorldGenQuagmire(Block.grass.blockID, 48);
|
||||
hiveGen = new WorldGenNetherHive(Blocks.hive.get().blockID, 48);
|
||||
mossySkystoneGen = new WorldGenMossySkystone(Blocks.holyStone.get().blockID, 24);
|
||||
quicksandGen = new WorldGenQuicksand(Blocks.mud.get().blockID, 24);
|
||||
spongeGen = new WorldGenSponge(Block.sponge.blockID, 24);
|
||||
canyonGen = new WorldGenCanyon(Blocks.redRock.get().blockID, 48);
|
||||
|
@ -659,8 +658,8 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
koruPerChunk = 0;
|
||||
waspHivesPerChunk = 0;
|
||||
rootsPerChunk = 9;
|
||||
stalagmitesPerChunk = 5;
|
||||
stalactitesPerChunk = 10;
|
||||
stalagmitesPerChunk = 3;
|
||||
stalactitesPerChunk = 6;
|
||||
cloudsPerChunk = 0;
|
||||
generateLakes = true;
|
||||
generateAsh = false;
|
||||
|
@ -682,7 +681,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
generateClouds = false;
|
||||
generateQuicksand = false;
|
||||
generateSponge = false;
|
||||
generateHive = false;
|
||||
generateMossySkystone = false;
|
||||
biome = par1BiomeGenBase;
|
||||
}
|
||||
|
||||
|
@ -876,9 +875,9 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
this.genStandardOre1(15, quagmireGen, 64, 128);
|
||||
}
|
||||
|
||||
if (generateHive)
|
||||
if (generateMossySkystone)
|
||||
{
|
||||
this.genStandardOre1(5, hiveGen, 0, 128);
|
||||
this.genStandardOre1(15, mossySkystoneGen, 0, 80);
|
||||
}
|
||||
|
||||
if (generateCanyon)
|
||||
|
@ -1357,7 +1356,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
if (BOPConfigurationTerrainGen.stoneFormationGen)
|
||||
{
|
||||
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
||||
var4 = randomGenerator.nextInt(64);
|
||||
var4 = randomGenerator.nextInt(60);
|
||||
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
||||
stalagmiteGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
||||
}
|
||||
|
@ -1368,7 +1367,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
if (BOPConfigurationTerrainGen.stoneFormationGen)
|
||||
{
|
||||
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
||||
var4 = randomGenerator.nextInt(64);
|
||||
var4 = randomGenerator.nextInt(60);
|
||||
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
||||
stalactiteGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
||||
}
|
||||
|
|
|
@ -21,10 +21,11 @@ public class BiomeGenAlpsForest extends BiomeGenBase
|
|||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
customBiomeDecorator.treesPerChunk = 8;
|
||||
customBiomeDecorator.flowersPerChunk = -999;
|
||||
customBiomeDecorator.grassPerChunk = -999;
|
||||
customBiomeDecorator.flowersPerChunk = 2;
|
||||
customBiomeDecorator.grassPerChunk = 3;
|
||||
customBiomeDecorator.sandPerChunk = -999;
|
||||
customBiomeDecorator.sandPerChunk2 = -999;
|
||||
customBiomeDecorator.violetsPerChunk = 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -27,6 +27,7 @@ public class BiomeGenConiferousForestSnow extends BiomeGenBase
|
|||
customBiomeDecorator.flowersPerChunk = -999;
|
||||
customBiomeDecorator.shrubsPerChunk = 4;
|
||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||
customBiomeDecorator.violetsPerChunk = 3;
|
||||
customBiomeDecorator.sandPerChunk = -999;
|
||||
customBiomeDecorator.sandPerChunk2 = -999;
|
||||
customBiomeDecorator.gravelPerChunk = 1;
|
||||
|
|
|
@ -28,6 +28,7 @@ public class BiomeGenDeadForestSnow extends BiomeGenBase
|
|||
customBiomeDecorator.reedsPerChunk = -999;
|
||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||
customBiomeDecorator.shrubsPerChunk = 1;
|
||||
customBiomeDecorator.violetsPerChunk = 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -27,6 +27,7 @@ public class BiomeGenFrostForest extends BiomeGenBase implements IWCFog
|
|||
customBiomeDecorator.shrubsPerChunk = 1;
|
||||
customBiomeDecorator.icyIrisPerChunk = 3;
|
||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||
customBiomeDecorator.violetsPerChunk = 1;
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ public class BiomeGenMapleWoods extends BiomeGenBase
|
|||
customBiomeDecorator.treesPerChunk = 9;
|
||||
customBiomeDecorator.grassPerChunk = 1;
|
||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||
customBiomeDecorator.violetsPerChunk = 1;
|
||||
customBiomeDecorator.violetsPerChunk = 2;
|
||||
customBiomeDecorator.poisonIvyPerChunk = 1;
|
||||
customBiomeDecorator.shrubsPerChunk = 2;
|
||||
}
|
||||
|
|
|
@ -29,7 +29,6 @@ public class BiomeGenSacredSprings extends BiomeGenBase implements IWCFog
|
|||
customBiomeDecorator.grassPerChunk = 4;
|
||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||
customBiomeDecorator.waterlilyPerChunk = 5;
|
||||
customBiomeDecorator.violetsPerChunk = 1;
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
spawnableMonsterList.add(new SpawnListEntry(EntityJungleSpider.class,
|
||||
12, 6, 6));
|
||||
|
|
|
@ -30,6 +30,7 @@ public class BiomeGenTundra extends BiomeGenBase
|
|||
customBiomeDecorator.gravelPerChunk2 = 8;
|
||||
customBiomeDecorator.shrubsPerChunk = 2;
|
||||
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||
customBiomeDecorator.violetsPerChunk = 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -31,7 +31,7 @@ public class BiomeGenPromisedLandForest extends BiomeGenBase implements IWCFog
|
|||
customBiomeDecorator.treesPerChunk = 20;
|
||||
customBiomeDecorator.grassPerChunk = -999;
|
||||
customBiomeDecorator.holyTallGrassPerChunk = 50;
|
||||
customBiomeDecorator.promisedWillowPerChunk = 80;
|
||||
customBiomeDecorator.promisedWillowPerChunk = 40;
|
||||
customBiomeDecorator.pinkFlowersPerChunk = 12;
|
||||
customBiomeDecorator.rainbowflowersPerChunk = 10;
|
||||
customBiomeDecorator.blueMilksPerChunk = 5;
|
||||
|
@ -47,6 +47,7 @@ public class BiomeGenPromisedLandForest extends BiomeGenBase implements IWCFog
|
|||
spawnableMonsterList.clear();
|
||||
spawnableCaveCreatureList.clear();
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
customBiomeDecorator.generateMossySkystone = true;
|
||||
//customBiomeDecorator.generateClouds = true;
|
||||
//this.customBiomeDecorator.generateLakes = false;
|
||||
theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
|
||||
|
@ -71,7 +72,7 @@ public class BiomeGenPromisedLandForest extends BiomeGenBase implements IWCFog
|
|||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(2) == 0 ? new WorldGenPromisedShrub(0,0) : (par1Random.nextInt(8) == 0 ? new WorldGenPromisedTree2(false) : new WorldGenPromisedTree(false));
|
||||
return par1Random.nextInt(8) == 0 ? new WorldGenPromisedTree2(false) : new WorldGenPromisedTree(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -26,7 +26,7 @@ public class BiomeGenPromisedLandPlains extends BiomeGenBase implements IWCFog
|
|||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
topBlock = (byte)Blocks.holyGrass.get().blockID;
|
||||
fillerBlock = (byte)Blocks.holyDirt.get().blockID;
|
||||
customBiomeDecorator.treesPerChunk = 4;
|
||||
customBiomeDecorator.treesPerChunk = -999;
|
||||
customBiomeDecorator.grassPerChunk = -999;
|
||||
customBiomeDecorator.holyTallGrassPerChunk = 999;
|
||||
customBiomeDecorator.promisedWillowPerChunk = 80;
|
||||
|
@ -43,6 +43,7 @@ public class BiomeGenPromisedLandPlains extends BiomeGenBase implements IWCFog
|
|||
spawnableMonsterList.clear();
|
||||
spawnableCaveCreatureList.clear();
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
customBiomeDecorator.generateMossySkystone = true;
|
||||
//customBiomeDecorator.generateClouds = true;
|
||||
//this.customBiomeDecorator.generateLakes = false;
|
||||
theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
|
||||
|
@ -59,15 +60,6 @@ public class BiomeGenPromisedLandPlains extends BiomeGenBase implements IWCFog
|
|||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return new WorldGenPromisedBush();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
|
|
|
@ -0,0 +1,143 @@
|
|||
package biomesoplenty.biomes.promisedland;
|
||||
|
||||
import java.awt.Color;
|
||||
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.WorldGenShrub;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import worldcore.interfaces.IWCFog;
|
||||
import biomesoplenty.api.Blocks;
|
||||
import biomesoplenty.biomes.BiomeDecoratorBOP;
|
||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||
import biomesoplenty.worldgen.WorldGenPromisedShrub;
|
||||
import biomesoplenty.worldgen.WorldGenWaterSpring;
|
||||
|
||||
public class BiomeGenPromisedLandShrub extends BiomeGenBase implements IWCFog
|
||||
{
|
||||
private WorldGenerator theWorldGenerator;
|
||||
private BiomeDecoratorBOP customBiomeDecorator;
|
||||
|
||||
public BiomeGenPromisedLandShrub(int par1)
|
||||
{
|
||||
super(par1);
|
||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||
topBlock = (byte)Blocks.holyGrass.get().blockID;
|
||||
fillerBlock = (byte)Blocks.holyDirt.get().blockID;
|
||||
customBiomeDecorator.treesPerChunk = 50;
|
||||
customBiomeDecorator.grassPerChunk = -999;
|
||||
customBiomeDecorator.holyTallGrassPerChunk = 10;
|
||||
customBiomeDecorator.promisedWillowPerChunk = 80;
|
||||
customBiomeDecorator.rainbowflowersPerChunk = 5;
|
||||
customBiomeDecorator.generateLakes = false;
|
||||
customBiomeDecorator.pondsPerChunk = -100;
|
||||
customBiomeDecorator.crystalsPerChunk = 25;
|
||||
customBiomeDecorator.crystals2PerChunk = 50;
|
||||
customBiomeDecorator.cloudsPerChunk = 1;
|
||||
spawnableCreatureList.clear();
|
||||
spawnableWaterCreatureList.clear();
|
||||
spawnableMonsterList.clear();
|
||||
spawnableCaveCreatureList.clear();
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
customBiomeDecorator.generateMossySkystone = true;
|
||||
//customBiomeDecorator.generateClouds = true;
|
||||
//this.customBiomeDecorator.generateLakes = false;
|
||||
theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
|
||||
|
||||
/*if (Loader.isModLoaded("TwilightForest"))
|
||||
{
|
||||
try {
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(Class.forName("twilightforest.entity.passive.EntityTFBird"), 2, 1, 3));
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(Class.forName("twilightforest.entity.passive.EntityTFBunny"), 4, 1, 3));
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(Class.forName("twilightforest.entity.passive.EntityTFSquirrel"), 4, 1, 2));
|
||||
} catch (ClassNotFoundException e) {
|
||||
System.out.println("[BiomesOPlenty] There was an error while integrating Twilight Forest with Biomes O' Plenty!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a WorldGen appropriate for this biome.
|
||||
*/
|
||||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return new WorldGenPromisedShrub(0, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBiomeGrassColor()
|
||||
{
|
||||
return 7925125;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
||||
*/
|
||||
@Override
|
||||
public int getBiomeFoliageColor()
|
||||
{
|
||||
return 7925125;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFogColour()
|
||||
{
|
||||
return 16754234;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getFogCloseness()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 1.0F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
{
|
||||
super.decorate(par1World, par2Random, par3, par4);
|
||||
int var5 = 100;
|
||||
int var6;
|
||||
int var7;
|
||||
int var8;
|
||||
|
||||
for (var5 = 0; var5 < 10; ++var5)
|
||||
{
|
||||
var6 = par3 + par2Random.nextInt(16);
|
||||
var7 = par2Random.nextInt(60);
|
||||
var8 = par4 + par2Random.nextInt(16);
|
||||
theWorldGenerator.generate(par1World, par2Random, var6, var7, var8);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* takes temperature, returns color
|
||||
*/
|
||||
@Override
|
||||
public int getSkyColorByTemp(float par1)
|
||||
{
|
||||
if (BOPConfigurationMisc.skyColors)
|
||||
return BOPConfigurationMisc.promisedLandSkyColor;
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -30,7 +30,7 @@ public class BiomeGenPromisedLandSwamp extends BiomeGenBase implements IWCFog
|
|||
customBiomeDecorator.treesPerChunk = 12;
|
||||
customBiomeDecorator.grassPerChunk = -999;
|
||||
customBiomeDecorator.holyTallGrassPerChunk = 100;
|
||||
customBiomeDecorator.promisedWillowPerChunk = 80;
|
||||
customBiomeDecorator.promisedWillowPerChunk = 40;
|
||||
customBiomeDecorator.pinkFlowersPerChunk = 6;
|
||||
customBiomeDecorator.rainbowflowersPerChunk = 5;
|
||||
customBiomeDecorator.blueMilksPerChunk = 15;
|
||||
|
@ -48,6 +48,7 @@ public class BiomeGenPromisedLandSwamp extends BiomeGenBase implements IWCFog
|
|||
spawnableMonsterList.clear();
|
||||
spawnableCaveCreatureList.clear();
|
||||
customBiomeDecorator.generatePumpkins = false;
|
||||
customBiomeDecorator.generateMossySkystone = true;
|
||||
//customBiomeDecorator.generateClouds = true;
|
||||
//this.customBiomeDecorator.generateLakes = false;
|
||||
theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
|
||||
|
@ -71,7 +72,7 @@ public class BiomeGenPromisedLandSwamp extends BiomeGenBase implements IWCFog
|
|||
@Override
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return par1Random.nextInt(6) == 0 ? new WorldGenPromisedTree(false) : new WorldGenPromisedWillowTree();
|
||||
return new WorldGenPromisedWillowTree();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -14,7 +14,7 @@ import biomesoplenty.BiomesOPlenty;
|
|||
|
||||
public class BlockBOPSkystone extends Block
|
||||
{
|
||||
private static final String[] types = new String[] {"holystone", "holycobble", "holybrick"};
|
||||
private static final String[] types = new String[] {"holystone", "holycobble", "holybrick", "holystonemossy"};
|
||||
private Icon[] textures = {null, null, null};
|
||||
|
||||
public BlockBOPSkystone(int par1)
|
||||
|
@ -60,7 +60,16 @@ public class BlockBOPSkystone extends Block
|
|||
@Override
|
||||
public int damageDropped(int meta)
|
||||
{
|
||||
return meta == 0 ? 1 : meta;
|
||||
if (meta == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (meta == 3)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return meta;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -82,6 +91,10 @@ public class BlockBOPSkystone extends Block
|
|||
case 2:
|
||||
hardness = 1.1F;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
hardness = 1.0F;
|
||||
break;
|
||||
}
|
||||
|
||||
return hardness;
|
||||
|
|
|
@ -104,6 +104,11 @@ public class BOPAchievements
|
|||
player.addStat(BOPAchievements.achPromised, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.promisedLandShrub.get().biomeID)
|
||||
{
|
||||
player.addStat(BOPAchievements.achPromised, 1);
|
||||
}
|
||||
|
||||
if (biomeID == Biomes.promisedLandSwamp.get().biomeID)
|
||||
{
|
||||
player.addStat(BOPAchievements.achPromised, 1);
|
||||
|
|
|
@ -115,6 +115,7 @@ import biomesoplenty.biomes.ocean.BiomeGenOceanCoral;
|
|||
import biomesoplenty.biomes.ocean.BiomeGenOceanKelp;
|
||||
import biomesoplenty.biomes.promisedland.BiomeGenPromisedLandForest;
|
||||
import biomesoplenty.biomes.promisedland.BiomeGenPromisedLandPlains;
|
||||
import biomesoplenty.biomes.promisedland.BiomeGenPromisedLandShrub;
|
||||
import biomesoplenty.biomes.promisedland.BiomeGenPromisedLandSwamp;
|
||||
import biomesoplenty.biomes.vanilla.BiomeGenDesertNew;
|
||||
import biomesoplenty.biomes.vanilla.BiomeGenForestNew;
|
||||
|
@ -264,6 +265,7 @@ public class BOPBiomes {
|
|||
|
||||
Biomes.promisedLandForest = Optional.of((new BiomeGenPromisedLandForest(BOPConfigurationIDs.promisedLandForestID)).setColor(7925125).setBiomeName("Wonderous Woods").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
|
||||
Biomes.promisedLandPlains = Optional.of((new BiomeGenPromisedLandPlains(BOPConfigurationIDs.promisedLandPlainsID)).setColor(13433204).setBiomeName("Majestic Meadow").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
|
||||
Biomes.promisedLandShrub = Optional.of((new BiomeGenPromisedLandShrub(BOPConfigurationIDs.promisedLandShrubID)).setColor(13433204).setBiomeName("Sublime Shrubland").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
|
||||
Biomes.promisedLandSwamp = Optional.of((new BiomeGenPromisedLandSwamp(BOPConfigurationIDs.promisedLandSwampID)).setColor(3447145).setBiomeName("Blessed Bog").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
|
||||
|
||||
Biomes.quagmire = Optional.of((new BiomeGenQuagmire(BOPConfigurationIDs.quagmireID)).setColor(5257771).setBiomeName("Quagmire").func_76733_a(9154376).setMinMaxHeight(0.2F, 0.3F).setTemperatureRainfall(0.8F, 0.9F));
|
||||
|
@ -410,6 +412,7 @@ public class BOPBiomes {
|
|||
|
||||
BiomeDictionary.registerBiomeType(Biomes.promisedLandForest.get(), Type.FOREST, Type.MAGICAL);
|
||||
BiomeDictionary.registerBiomeType(Biomes.promisedLandPlains.get(), Type.PLAINS, Type.MAGICAL);
|
||||
BiomeDictionary.registerBiomeType(Biomes.promisedLandShrub.get(), Type.PLAINS, Type.FOREST, Type.MAGICAL);
|
||||
BiomeDictionary.registerBiomeType(Biomes.promisedLandSwamp.get(), Type.SWAMP, Type.MAGICAL);
|
||||
|
||||
BiomeDictionary.registerBiomeType(Biomes.quagmire.get(), Type.WASTELAND, Type.SWAMP);
|
||||
|
|
|
@ -106,9 +106,9 @@ public class BOPEntities {
|
|||
|
||||
registerEntityEgg(EntityBird.class, 5277691, 16772788);
|
||||
|
||||
if (Biomes.promisedLandForest.isPresent() && Biomes.promisedLandSwamp.isPresent() && Biomes.promisedLandPlains.isPresent())
|
||||
if (Biomes.promisedLandForest.isPresent() && Biomes.promisedLandSwamp.isPresent() && Biomes.promisedLandPlains.isPresent() && Biomes.promisedLandShrub.isPresent())
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityBird.class, 10, 3, 5, EnumCreatureType.creature, Biomes.promisedLandForest.get(), Biomes.promisedLandSwamp.get(), Biomes.promisedLandPlains.get());
|
||||
EntityRegistry.addSpawn(EntityBird.class, 10, 3, 5, EnumCreatureType.creature, Biomes.promisedLandForest.get(), Biomes.promisedLandSwamp.get(), Biomes.promisedLandPlains.get(), Biomes.promisedLandShrub.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -242,6 +242,7 @@ public class BOPConfigurationIDs
|
|||
|
||||
public static int promisedLandForestID;
|
||||
public static int promisedLandPlainsID;
|
||||
public static int promisedLandShrubID;
|
||||
public static int promisedLandSwampID;
|
||||
|
||||
public static int quagmireID;
|
||||
|
@ -496,6 +497,7 @@ public class BOPConfigurationIDs
|
|||
|
||||
//23-79 ExtraBiomesXL
|
||||
|
||||
promisedLandShrubID = config.get("Biome IDs", "Sublime Shrubland (Promised Land) ID", 28).getInt();
|
||||
mysticGroveThinID = config.get("Biome IDs", "Thinned Mystic Grove (Sub-Biome) ID", 29).getInt();
|
||||
netherBloodID = config.get("Biome IDs", "Bloody Heap (Nether) ID", 30).getInt();
|
||||
lavenderFieldsID = config.get("Biome IDs", "Lavender Fields ID", 31).getInt();
|
||||
|
|
|
@ -16,6 +16,7 @@ public class BCIntegration {
|
|||
{
|
||||
FMLInterModComms.sendMessage("BuildCraft|Energy", "oil-gen-exclude", Integer.toString(Biomes.promisedLandForest.get().biomeID));
|
||||
FMLInterModComms.sendMessage("BuildCraft|Energy", "oil-gen-exclude", Integer.toString(Biomes.promisedLandPlains.get().biomeID));
|
||||
FMLInterModComms.sendMessage("BuildCraft|Energy", "oil-gen-exclude", Integer.toString(Biomes.promisedLandShrub.get().biomeID));
|
||||
FMLInterModComms.sendMessage("BuildCraft|Energy", "oil-gen-exclude", Integer.toString(Biomes.promisedLandSwamp.get().biomeID));
|
||||
|
||||
FMLInterModComms.sendMessage("BuildCraft|Energy", "oil-gen-exclude", Integer.toString(Biomes.netherBase.get().biomeID));
|
||||
|
|
|
@ -58,6 +58,7 @@ public class ForestryIntegration
|
|||
EnumTemperature.hotBiomeIds.add(BOPConfigurationIDs.volcanoID);
|
||||
EnumTemperature.hotBiomeIds.add(BOPConfigurationIDs.wastelandID);
|
||||
EnumTemperature.hotBiomeIds.add(BOPConfigurationIDs.promisedLandPlainsID);
|
||||
EnumTemperature.hotBiomeIds.add(BOPConfigurationIDs.promisedLandShrubID);
|
||||
EnumTemperature.hotBiomeIds.add(BOPConfigurationIDs.deadForestID);
|
||||
EnumTemperature.hotBiomeIds.add(BOPConfigurationIDs.desertNewID);
|
||||
|
||||
|
@ -70,6 +71,7 @@ public class ForestryIntegration
|
|||
EnumHumidity.aridBiomeIds.add(BOPConfigurationIDs.volcanoID);
|
||||
EnumHumidity.aridBiomeIds.add(BOPConfigurationIDs.wastelandID);
|
||||
EnumHumidity.aridBiomeIds.add(BOPConfigurationIDs.promisedLandPlainsID);
|
||||
EnumHumidity.aridBiomeIds.add(BOPConfigurationIDs.promisedLandShrubID);
|
||||
EnumHumidity.aridBiomeIds.add(BOPConfigurationIDs.deadForestID);
|
||||
EnumHumidity.aridBiomeIds.add(BOPConfigurationIDs.desertNewID);
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import net.minecraft.item.ItemStack;
|
|||
|
||||
public class ItemBlockSkystone extends ItemBlock
|
||||
{
|
||||
private static final String[] types = new String[] {"holystone", "holycobble", "holybrick"};
|
||||
private static final String[] types = new String[] {"holystone", "holycobble", "holybrick", "holystonemossy"};
|
||||
|
||||
public ItemBlockSkystone(int par1)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ public class WorldProviderPromised extends WorldProvider
|
|||
@Override
|
||||
public void registerWorldChunkManager()
|
||||
{
|
||||
if (Biomes.promisedLandForest.isPresent() || Biomes.promisedLandPlains.isPresent() || Biomes.promisedLandSwamp.isPresent())
|
||||
if (Biomes.promisedLandForest.isPresent() || Biomes.promisedLandPlains.isPresent() || Biomes.promisedLandShrub.isPresent() || Biomes.promisedLandSwamp.isPresent())
|
||||
{
|
||||
worldChunkMgr = new WorldChunkManagerPromised(worldObj);
|
||||
}
|
||||
|
|
|
@ -104,6 +104,10 @@ public class BiomeLayerBiomes extends BiomeLayer
|
|||
{
|
||||
promisedBiomes.add(Biomes.promisedLandPlains.get());
|
||||
}
|
||||
if (Biomes.promisedLandShrub.isPresent())
|
||||
{
|
||||
promisedBiomes.add(Biomes.promisedLandShrub.get());
|
||||
}
|
||||
if (Biomes.promisedLandSwamp.isPresent())
|
||||
{
|
||||
promisedBiomes.add(Biomes.promisedLandSwamp.get());
|
||||
|
|
79
common/biomesoplenty/worldgen/WorldGenMossySkystone.java
Normal file
|
@ -0,0 +1,79 @@
|
|||
package biomesoplenty.worldgen;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import biomesoplenty.api.Blocks;
|
||||
|
||||
public class WorldGenMossySkystone extends WorldGenerator
|
||||
{
|
||||
/** The block ID of the ore to be placed using this generator. */
|
||||
private int minableBlockId;
|
||||
|
||||
/** The number of blocks to generate. */
|
||||
private int numberOfBlocks;
|
||||
|
||||
public WorldGenMossySkystone(int par1, int par2)
|
||||
{
|
||||
minableBlockId = par1;
|
||||
numberOfBlocks = par2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
||||
{
|
||||
float var6 = par2Random.nextFloat() * (float)Math.PI;
|
||||
double var7 = par3 + 8 + MathHelper.sin(var6) * numberOfBlocks / 8.0F;
|
||||
double var9 = par3 + 8 - MathHelper.sin(var6) * numberOfBlocks / 8.0F;
|
||||
double var11 = par5 + 8 + MathHelper.cos(var6) * numberOfBlocks / 8.0F;
|
||||
double var13 = par5 + 8 - MathHelper.cos(var6) * numberOfBlocks / 8.0F;
|
||||
double var15 = par4 + par2Random.nextInt(3) - 2;
|
||||
double var17 = par4 + par2Random.nextInt(3) - 2;
|
||||
|
||||
for (int var19 = 0; var19 <= numberOfBlocks; ++var19)
|
||||
{
|
||||
double var20 = var7 + (var9 - var7) * var19 / numberOfBlocks;
|
||||
double var22 = var15 + (var17 - var15) * var19 / numberOfBlocks;
|
||||
double var24 = var11 + (var13 - var11) * var19 / numberOfBlocks;
|
||||
double var26 = par2Random.nextDouble() * numberOfBlocks / 16.0D;
|
||||
double var28 = (MathHelper.sin(var19 * (float)Math.PI / numberOfBlocks) + 1.0F) * var26 + 1.0D;
|
||||
double var30 = (MathHelper.sin(var19 * (float)Math.PI / numberOfBlocks) + 1.0F) * var26 + 1.0D;
|
||||
int var32 = MathHelper.floor_double(var20 - var28 / 2.0D);
|
||||
int var33 = MathHelper.floor_double(var22 - var30 / 2.0D);
|
||||
int var34 = MathHelper.floor_double(var24 - var28 / 2.0D);
|
||||
int var35 = MathHelper.floor_double(var20 + var28 / 2.0D);
|
||||
int var36 = MathHelper.floor_double(var22 + var30 / 2.0D);
|
||||
int var37 = MathHelper.floor_double(var24 + var28 / 2.0D);
|
||||
|
||||
for (int var38 = var32; var38 <= var35; ++var38)
|
||||
{
|
||||
double var39 = (var38 + 0.5D - var20) / (var28 / 2.0D);
|
||||
|
||||
if (var39 * var39 < 1.0D)
|
||||
{
|
||||
for (int var41 = var33; var41 <= var36; ++var41)
|
||||
{
|
||||
double var42 = (var41 + 0.5D - var22) / (var30 / 2.0D);
|
||||
|
||||
if (var39 * var39 + var42 * var42 < 1.0D)
|
||||
{
|
||||
for (int var44 = var34; var44 <= var37; ++var44)
|
||||
{
|
||||
double var45 = (var44 + 0.5D - var24) / (var28 / 2.0D);
|
||||
|
||||
if (var39 * var39 + var42 * var42 + var45 * var45 < 1.0D && par1World.getBlockId(var38, var41, var44) == Blocks.holyStone.get().blockID && par1World.getBlockMetadata(var38, var41, var44) == 0)
|
||||
{
|
||||
par1World.setBlock(var38, var41, var44, minableBlockId, 3, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -49,7 +49,7 @@ tile.bop.flowers.rainbowflower.name=Chromaflora
|
|||
tile.bop.flowers.bromeliad.name=Bromeliad
|
||||
tile.bop.flowers.sunflowerbottom.name=Sunflower
|
||||
tile.bop.flowers.sunflowertop.name=Sunflower
|
||||
tile.bop.flowers.dandelion.name=White Dandelion
|
||||
tile.bop.flowers.dandelion.name=Dandelion Puff
|
||||
|
||||
tile.bop.flowers2.hibiscus.name=Pink Hibiscus
|
||||
tile.bop.flowers2.lilyofthevalley.name=Lily of the Valley
|
||||
|
@ -136,6 +136,7 @@ tile.bop.holyGrass.smolderinggrass.name=Smoldering Grass Block
|
|||
tile.bop.holyStone.holystone.name=Skystone
|
||||
tile.bop.holyStone.holycobble.name=Skystone Cobblestone
|
||||
tile.bop.holyStone.holybrick.name=Skystone Bricks
|
||||
tile.bop.holyStone.holystonemossy.name=Mossy Skystone
|
||||
|
||||
tile.bop.holyCobbleStairs.name=Skystone Cobblestone Stairs
|
||||
tile.bop.holyBricksStairs.name=Skystone Bricks Stairs
|
||||
|
|
Before Width: | Height: | Size: 457 B After Width: | Height: | Size: 563 B |
BIN
resources/assets/biomesoplenty/textures/blocks/enderlotus.png
Normal file
After Width: | Height: | Size: 565 B |
Before Width: | Height: | Size: 661 B After Width: | Height: | Size: 695 B |
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 512 B |
After Width: | Height: | Size: 612 B |