Finished up the Promised Land sub-biomes. Added item textures for the flower bands.

This commit is contained in:
Matt Caughey 2013-05-09 09:38:48 -04:00
parent ab65df145f
commit 7823b2c727
40 changed files with 502 additions and 79 deletions

View file

@ -59,7 +59,7 @@ public class Biomes
public static Optional<? extends BiomeGenBase> promisedLandPlains = Optional.absent();
public static Optional<? extends BiomeGenBase> promisedLandDesert = Optional.absent();
public static Optional<? extends BiomeGenBase> promisedLandSwamp = Optional.absent();
public static Optional<? extends BiomeGenBase> promisedLandCrystals = Optional.absent();
public static Optional<? extends BiomeGenBase> promisedLandMushroom = Optional.absent();
public static Optional<? extends BiomeGenBase> quagmire = Optional.absent();
public static Optional<? extends BiomeGenBase> rainforest = Optional.absent();
public static Optional<? extends BiomeGenBase> redwoodForest = Optional.absent();

View file

@ -100,7 +100,9 @@ public class BlockReferences {
hardSand (Blocks.hardSand, 0),
hardDirt (Blocks.hardDirt, 0),
holyGrass (Blocks.holyGrass, 0),
holyDirt (Blocks.holyDirt, 0),
holyStone (Blocks.holyStone, 0),
holySand (Blocks.holySand, 0),
cragRock (Blocks.cragRock, 0),
quicksand (Blocks.mud, 1),
smolderingGrass (Blocks.holyGrass, 1),

View file

@ -19,7 +19,9 @@ public class Blocks
public static Optional<? extends Block> hardIce = Optional.absent();
public static Optional<? extends Block> hardSand = Optional.absent();
public static Optional<? extends Block> holyGrass = Optional.absent();
public static Optional<? extends Block> holyDirt = Optional.absent();
public static Optional<? extends Block> holyStone = Optional.absent();
public static Optional<? extends Block> holySand = Optional.absent();
public static Optional<? extends Block> mud = Optional.absent();
public static Optional<? extends Block> originGrass = Optional.absent();
public static Optional<? extends Block> redRock = Optional.absent();

View file

@ -6,10 +6,13 @@ import java.util.Random;
import biomesoplenty.api.Blocks;
import biomesoplenty.configuration.BOPBlocks;
import biomesoplenty.configuration.BOPConfiguration;
import biomesoplenty.worldgen.WorldGenPalmTree1;
import biomesoplenty.worldgen.WorldGenPalmTree3;
import biomesoplenty.worldgen.WorldGenPromisedShrub;
import biomesoplenty.worldgen.WorldGenPromisedTree;
import biomesoplenty.worldgen.WorldGenPromisedTree2;
import biomesoplenty.worldgen.WorldGenPromisedTree3;
import biomesoplenty.worldgen.WorldGenWaterSpring;
import net.minecraft.block.Block;
import net.minecraft.world.World;
@ -27,22 +30,25 @@ public class BiomeGenPromisedLandDesert extends BiomeGenBase
super(par1);
this.theBiomeDecorator = new BiomeDecoratorBOP(this);
this.customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
this.topBlock = (byte)Block.sand.blockID;
this.fillerBlock = (byte)Block.sand.blockID;
this.customBiomeDecorator.treesPerChunk = -999;
this.topBlock = (byte)Blocks.holySand.get().blockID;
this.fillerBlock = (byte)Blocks.holySand.get().blockID;
this.customBiomeDecorator.treesPerChunk = 4;
this.customBiomeDecorator.grassPerChunk = -999;
this.customBiomeDecorator.cactiPerChunk = 5;
//this.customBiomeDecorator.cactiPerChunk = 5;
this.customBiomeDecorator.promisedWillowPerChunk = 80;
this.customBiomeDecorator.tinyCactiPerChunk = 10;
this.customBiomeDecorator.aloePerChunk = 2;
this.customBiomeDecorator.generateLakes = false;
this.customBiomeDecorator.pondsPerChunk = -100;
this.customBiomeDecorator.waterLakesPerChunk = 2;
this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear();
this.spawnableMonsterList.clear();
this.spawnableCaveCreatureList.clear();
this.customBiomeDecorator.generatePumpkins = false;
this.customBiomeDecorator.generatePumpkins = true;
this.customBiomeDecorator.generateMelons = true;
this.customBiomeDecorator.generateLakes = false;
this.theWorldGenerator = new WorldGenMinable(Block.waterMoving.blockID, 8);
this.theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
}
/**
@ -50,7 +56,7 @@ public class BiomeGenPromisedLandDesert extends BiomeGenBase
*/
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
{
return (WorldGenerator)(par1Random.nextInt(2) == 0 ? new WorldGenPromisedShrub(0, 0) : (par1Random.nextInt(4) == 0 ? new WorldGenPromisedTree3(false) : (par1Random.nextInt(8) == 0 ? new WorldGenPromisedTree2(false) : new WorldGenPromisedTree(false))));
return (WorldGenerator)(par1Random.nextInt(3) == 0 ? new WorldGenPalmTree3() : new WorldGenPalmTree1());
}
/**
@ -69,7 +75,7 @@ public class BiomeGenPromisedLandDesert extends BiomeGenBase
int var7;
int var8;
for (var5 = 0; var5 < 5; ++var5)
for (var5 = 0; var5 < 10; ++var5)
{
var6 = par3 + par2Random.nextInt(16);
var7 = par2Random.nextInt(60);

View file

@ -10,6 +10,7 @@ import biomesoplenty.worldgen.WorldGenPromisedShrub;
import biomesoplenty.worldgen.WorldGenPromisedTree;
import biomesoplenty.worldgen.WorldGenPromisedTree2;
import biomesoplenty.worldgen.WorldGenPromisedTree3;
import biomesoplenty.worldgen.WorldGenWaterSpring;
import net.minecraft.block.Block;
import net.minecraft.world.World;
@ -28,24 +29,23 @@ public class BiomeGenPromisedLandForest extends BiomeGenBase
this.theBiomeDecorator = new BiomeDecoratorBOP(this);
this.customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
this.topBlock = (byte)Blocks.holyGrass.get().blockID;
this.fillerBlock = (byte)Blocks.holyStone.get().blockID;
this.customBiomeDecorator.treesPerChunk = 8;
this.fillerBlock = (byte)Blocks.holyDirt.get().blockID;
this.customBiomeDecorator.treesPerChunk = 12;
this.customBiomeDecorator.grassPerChunk = -999;
this.customBiomeDecorator.holyTallGrassPerChunk = 50;
this.customBiomeDecorator.promisedWillowPerChunk = 40;
this.customBiomeDecorator.promisedWillowPerChunk = 80;
this.customBiomeDecorator.pinkFlowersPerChunk = 6;
this.customBiomeDecorator.glowFlowersPerChunk = 3;
this.customBiomeDecorator.blueMilksPerChunk = 5;
this.customBiomeDecorator.generateLakes = false;
this.customBiomeDecorator.pondsPerChunk = -100;
this.customBiomeDecorator.waterLakesPerChunk = 5;
this.customBiomeDecorator.waterLakesPerChunk = 8;
this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear();
this.spawnableMonsterList.clear();
this.spawnableCaveCreatureList.clear();
this.customBiomeDecorator.generatePumpkins = false;
//this.customBiomeDecorator.generateLakes = false;
this.theWorldGenerator = new WorldGenMinable(Block.waterMoving.blockID, 8);
this.theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
}
/**
@ -72,7 +72,7 @@ public class BiomeGenPromisedLandForest extends BiomeGenBase
int var7;
int var8;
for (var5 = 0; var5 < 5; ++var5)
for (var5 = 0; var5 < 10; ++var5)
{
var6 = par3 + par2Random.nextInt(16);
var7 = par2Random.nextInt(60);

View file

@ -6,37 +6,45 @@ import java.util.Random;
import biomesoplenty.api.Blocks;
import biomesoplenty.configuration.BOPBlocks;
import biomesoplenty.configuration.BOPConfiguration;
import biomesoplenty.worldgen.WorldGenBOPBigMushroom;
import biomesoplenty.worldgen.WorldGenPromisedBush;
import biomesoplenty.worldgen.WorldGenPromisedShrub;
import biomesoplenty.worldgen.WorldGenPromisedTree;
import biomesoplenty.worldgen.WorldGenPromisedTree2;
import biomesoplenty.worldgen.WorldGenPromisedTree3;
import biomesoplenty.worldgen.WorldGenWaterSpring;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.feature.WorldGenBigMushroom;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraft.world.gen.feature.WorldGenerator;
public class BiomeGenPromisedLandCrystals extends BiomeGenBase
public class BiomeGenPromisedLandMushroom extends BiomeGenBase
{
private WorldGenerator theWorldGenerator;
private BiomeDecoratorBOP customBiomeDecorator;
public BiomeGenPromisedLandCrystals(int par1)
public BiomeGenPromisedLandMushroom(int par1)
{
super(par1);
this.theBiomeDecorator = new BiomeDecoratorBOP(this);
this.customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
this.topBlock = (byte)Blocks.holyGrass.get().blockID;
this.fillerBlock = (byte)Blocks.holyStone.get().blockID;
this.customBiomeDecorator.treesPerChunk = -999;
this.fillerBlock = (byte)Blocks.holyDirt.get().blockID;
this.customBiomeDecorator.treesPerChunk = 15;
this.customBiomeDecorator.grassPerChunk = -999;
this.customBiomeDecorator.holyTallGrassPerChunk = 2;
this.customBiomeDecorator.promisedWillowPerChunk = -999;
this.customBiomeDecorator.holyTallGrassPerChunk = 50;
this.customBiomeDecorator.promisedWillowPerChunk = 80;
this.customBiomeDecorator.pinkFlowersPerChunk = 6;
this.customBiomeDecorator.glowFlowersPerChunk = 10;
this.customBiomeDecorator.blueMilksPerChunk = 5;
this.customBiomeDecorator.blueMilksPerChunk = 15;
this.customBiomeDecorator.toadstoolsPerChunk = 15;
this.customBiomeDecorator.portobellosPerChunk = 15;
this.customBiomeDecorator.mushroomsPerChunk = 30;
//this.customBiomeDecorator.bigMushroomsPerChunk = 10;
this.customBiomeDecorator.generateLakes = false;
//this.customBiomeDecorator.generateMycelium = true;
this.customBiomeDecorator.pondsPerChunk = -100;
this.customBiomeDecorator.waterLakesPerChunk = 5;
this.spawnableCreatureList.clear();
@ -45,7 +53,15 @@ public class BiomeGenPromisedLandCrystals extends BiomeGenBase
this.spawnableCaveCreatureList.clear();
this.customBiomeDecorator.generatePumpkins = false;
//this.customBiomeDecorator.generateLakes = false;
this.theWorldGenerator = new WorldGenMinable(Block.waterMoving.blockID, 8);
this.theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
}
/**
* Gets a WorldGen appropriate for this biome.
*/
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
{
return (WorldGenerator)(par1Random.nextInt(2) == 0 ? new WorldGenBOPBigMushroom() : new WorldGenPromisedTree2(false));
}
/**
@ -64,7 +80,7 @@ public class BiomeGenPromisedLandCrystals extends BiomeGenBase
int var7;
int var8;
for (var5 = 0; var5 < 5; ++var5)
for (var5 = 0; var5 < 10; ++var5)
{
var6 = par3 + par2Random.nextInt(16);
var7 = par2Random.nextInt(60);

View file

@ -6,10 +6,12 @@ import java.util.Random;
import biomesoplenty.api.Blocks;
import biomesoplenty.configuration.BOPBlocks;
import biomesoplenty.configuration.BOPConfiguration;
import biomesoplenty.worldgen.WorldGenPromisedBush;
import biomesoplenty.worldgen.WorldGenPromisedShrub;
import biomesoplenty.worldgen.WorldGenPromisedTree;
import biomesoplenty.worldgen.WorldGenPromisedTree2;
import biomesoplenty.worldgen.WorldGenPromisedTree3;
import biomesoplenty.worldgen.WorldGenWaterSpring;
import net.minecraft.block.Block;
import net.minecraft.world.World;
@ -28,21 +30,30 @@ public class BiomeGenPromisedLandPlains extends BiomeGenBase
this.theBiomeDecorator = new BiomeDecoratorBOP(this);
this.customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
this.topBlock = (byte)Blocks.holyGrass.get().blockID;
this.fillerBlock = (byte)Blocks.holyStone.get().blockID;
this.customBiomeDecorator.treesPerChunk = -999;
this.fillerBlock = (byte)Blocks.holyDirt.get().blockID;
this.customBiomeDecorator.treesPerChunk = 4;
this.customBiomeDecorator.grassPerChunk = -999;
this.customBiomeDecorator.holyTallGrassPerChunk = 999;
this.customBiomeDecorator.promisedWillowPerChunk = 20;
this.customBiomeDecorator.promisedWillowPerChunk = 80;
this.customBiomeDecorator.blueMilksPerChunk = 1;
this.customBiomeDecorator.generateLakes = false;
this.customBiomeDecorator.pondsPerChunk = -100;
this.customBiomeDecorator.waterLakesPerChunk = 4;
this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear();
this.spawnableMonsterList.clear();
this.spawnableCaveCreatureList.clear();
this.customBiomeDecorator.generatePumpkins = false;
//this.customBiomeDecorator.generateLakes = false;
this.theWorldGenerator = new WorldGenMinable(Block.waterMoving.blockID, 8);
this.theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
}
/**
* Gets a WorldGen appropriate for this biome.
*/
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
{
return new WorldGenPromisedBush();
}
/**
@ -61,7 +72,7 @@ public class BiomeGenPromisedLandPlains extends BiomeGenBase
int var7;
int var8;
for (var5 = 0; var5 < 5; ++var5)
for (var5 = 0; var5 < 10; ++var5)
{
var6 = par3 + par2Random.nextInt(16);
var7 = par2Random.nextInt(60);

View file

@ -8,11 +8,11 @@ import biomesoplenty.configuration.BOPBlocks;
import biomesoplenty.configuration.BOPConfiguration;
import biomesoplenty.worldgen.WorldGenPromisedShrub;
import biomesoplenty.worldgen.WorldGenPromisedWillowTree;
import biomesoplenty.worldgen.WorldGenWaterSpring;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraft.world.gen.feature.WorldGenerator;
public class BiomeGenPromisedLandSwamp extends BiomeGenBase
@ -26,24 +26,23 @@ public class BiomeGenPromisedLandSwamp extends BiomeGenBase
this.theBiomeDecorator = new BiomeDecoratorBOP(this);
this.customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
this.topBlock = (byte)Blocks.holyGrass.get().blockID;
this.fillerBlock = (byte)Blocks.holyStone.get().blockID;
this.customBiomeDecorator.treesPerChunk = 4;
this.fillerBlock = (byte)Blocks.holyDirt.get().blockID;
this.customBiomeDecorator.treesPerChunk = 24;
this.customBiomeDecorator.grassPerChunk = -999;
this.customBiomeDecorator.holyTallGrassPerChunk = 25;
this.customBiomeDecorator.holyTallGrassPerChunk = 50;
this.customBiomeDecorator.promisedWillowPerChunk = 80;
this.customBiomeDecorator.pinkFlowersPerChunk = 6;
this.customBiomeDecorator.glowFlowersPerChunk = 3;
this.customBiomeDecorator.blueMilksPerChunk = 15;
this.customBiomeDecorator.generateLakes = false;
this.customBiomeDecorator.pondsPerChunk = -100;
this.customBiomeDecorator.waterLakesPerChunk = 10;
this.customBiomeDecorator.waterLakesPerChunk = 17;
this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear();
this.spawnableMonsterList.clear();
this.spawnableCaveCreatureList.clear();
this.customBiomeDecorator.generatePumpkins = false;
//this.customBiomeDecorator.generateLakes = false;
this.theWorldGenerator = new WorldGenMinable(Block.waterMoving.blockID, 8);
this.theWorldGenerator = new WorldGenWaterSpring(Block.waterMoving.blockID, 8);
}
/**

View file

@ -132,13 +132,13 @@ public class BlockBOPFlower extends BlockFlower
protected boolean canThisPlantGrowOnThisBlockID(int id, int metadata)
{
if (metadata == 10) //Toadstool
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
if (metadata == 11) //Cactus
return id == Block.sand.blockID;
return id == Block.sand.blockID || id == Blocks.redRock.get().blockID || id == Blocks.holySand.get().blockID;
if (metadata == 12) //Yucca
return id == Blocks.hardDirt.get().blockID || id == Blocks.redRock.get().blockID || id == Block.sand.blockID;
return id == Blocks.hardDirt.get().blockID || id == Blocks.redRock.get().blockID || id == Block.sand.blockID || id == Blocks.holySand.get().blockID;
if (metadata == 13) //Portobello
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID | id == Blocks.holyGrass.get().blockID;
if (metadata == 14) //Blue Milk Cap
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
else
@ -156,16 +156,16 @@ public class BlockBOPFlower extends BlockFlower
switch (meta)
{
case 10: // Toadstool
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
case 11: // Cactus
return id == Blocks.redRock.get().blockID || id == Block.sand.blockID;
return id == Blocks.redRock.get().blockID || id == Block.sand.blockID || id == Blocks.holySand.get().blockID;
case 12: // Yucca
return id == Blocks.hardDirt.get().blockID || id == Blocks.redRock.get().blockID || id == Block.sand.blockID;
return id == Blocks.hardDirt.get().blockID || id == Blocks.redRock.get().blockID || id == Block.sand.blockID || id == Blocks.holySand.get().blockID;
case 13: // Portobello
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
case 14: // Blue Milk Cap
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;

View file

@ -10,7 +10,7 @@ public class BlockBOPGeneric extends Block
{
public enum BlockType
{
ASH_STONE, HARD_SAND, HARD_DIRT, HARD_ICE, HOLY_STONE, BAMBOO_THATCHING, DRIED_DIRT, CRAG_ROCK, MUD_BRICK;
ASH_STONE, HARD_SAND, HARD_DIRT, HARD_ICE, HOLY_STONE, BAMBOO_THATCHING, DRIED_DIRT, CRAG_ROCK, MUD_BRICK, HOLY_DIRT, HOLY_SAND;
}
private Icon texture;
@ -58,6 +58,14 @@ public class BlockBOPGeneric extends Block
case MUD_BRICK:
setHardness(1.0F).setResistance(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("mudBrick");
break;
case HOLY_DIRT:
setHardness(0.6F).setStepSound(Block.soundGravelFootstep).setUnlocalizedName("holyDirt");
break;
case HOLY_SAND:
setHardness(0.3F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("holySand");
break;
default:
@ -104,6 +112,14 @@ public class BlockBOPGeneric extends Block
case MUD_BRICK:
texture = iconRegister.registerIcon("BiomesOPlenty:mudbrick");
break;
case HOLY_DIRT:
texture = iconRegister.registerIcon("BiomesOPlenty:holydirt");
break;
case HOLY_SAND:
texture = iconRegister.registerIcon("BiomesOPlenty:holysand");
break;
default:

View file

@ -30,13 +30,13 @@ public class BlockBOPGrass extends Block
this.setCreativeTab(BiomesOPlenty.tabBiomesOPlenty);
setStepSound(Block.soundGrassFootstep);
setHardness(0.6F);
setLightValue(0.25F);
//setLightValue(0.25F);
}
@Override
public void registerIcons(IconRegister iconRegister)
{
this.blockIcon[0][0] = iconRegister.registerIcon("BiomesOPlenty:holystone");
this.blockIcon[0][0] = iconRegister.registerIcon("BiomesOPlenty:holydirt");
this.blockIcon[0][1] = iconRegister.registerIcon("BiomesOPlenty:holygrass_top");
this.blockIcon[0][2] = iconRegister.registerIcon("BiomesOPlenty:holygrass_side");
this.blockIcon[0][3] = iconRegister.registerIcon("BiomesOPlenty:holygrass_side");
@ -136,7 +136,7 @@ public class BlockBOPGrass extends Block
{
if (world.getBlockLightValue(x, y + 1, z) < 4 && Block.lightOpacity[world.getBlockId(x, y + 1, z)] > 2)
{
world.setBlock(x, y, z, Blocks.holyStone.get().blockID);
world.setBlock(x, y, z, Blocks.holyDirt.get().blockID);
}
else if (world.getBlockLightValue(x, y + 1, z) >= 9)
{
@ -147,7 +147,7 @@ public class BlockBOPGrass extends Block
int var9 = z + random.nextInt(3) - 1;
int var10 = world.getBlockId(var7, var8 + 1, var9);
if (world.getBlockId(var7, var8, var9) == Blocks.holyStone.get().blockID && world.getBlockLightValue(var7, var8 + 1, var9) >= 4 && Block.lightOpacity[var10] <= 2)
if (world.getBlockId(var7, var8, var9) == Blocks.holyDirt.get().blockID && world.getBlockLightValue(var7, var8 + 1, var9) >= 4 && Block.lightOpacity[var10] <= 2)
{
world.setBlock(var7, var8, var9, Blocks.holyGrass.get().blockID, 0, 2);
}
@ -179,7 +179,7 @@ public class BlockBOPGrass extends Block
@Override
public int idDropped(int meta, Random par2Random, int par3)
{
return meta == 0 ? Blocks.holyStone.get().blockID : Block.dirt.blockID;
return meta == 0 ? Blocks.holyDirt.get().blockID : Block.dirt.blockID;
}
}

View file

@ -116,7 +116,7 @@ public class BOPBiomes {
Biomes.promisedLandPlains = Optional.of((new BiomeGenPromisedLandPlains(BOPConfiguration.promisedLandPlainsID)).setColor(112).setBiomeName("Purified Plains").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
Biomes.promisedLandDesert = Optional.of((new BiomeGenPromisedLandDesert(BOPConfiguration.promisedLandDesertID)).setColor(112).setBiomeName("Divine Desert").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
Biomes.promisedLandSwamp = Optional.of((new BiomeGenPromisedLandSwamp(BOPConfiguration.promisedLandSwampID)).setColor(112).setBiomeName("Blessed Bog").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
Biomes.promisedLandCrystals = Optional.of((new BiomeGenPromisedLandCrystals(BOPConfiguration.promisedLandCrystalsID)).setColor(112).setBiomeName("Celestial Crystals").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
Biomes.promisedLandMushroom = Optional.of((new BiomeGenPromisedLandMushroom(BOPConfiguration.promisedLandMushroomID)).setColor(112).setBiomeName("Majestic Mushrooms").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 2.0F));
Biomes.quagmire = Optional.of((new BiomeGenQuagmire(BOPConfiguration.quagmireID)).setColor(522674).setBiomeName("Quagmire").func_76733_a(9154376).setMinMaxHeight(-0.1F, 0.3F).setTemperatureRainfall(0.8F, 0.9F));
Biomes.rainforest = Optional.of((new BiomeGenRainforest(BOPConfiguration.rainforestID)).setColor(5470985).setBiomeName("Rainforest").func_76733_a(5470985).setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.7F, 1.8F));
Biomes.redwoodForest = Optional.of((new BiomeGenRedwoodForest(BOPConfiguration.redwoodForestID)).setColor(747097).setBiomeName("Redwood Forest").func_76733_a(5159473).setTemperatureRainfall(0.8F, 0.4F).setMinMaxHeight(0.0F, 0.4F));
@ -203,7 +203,7 @@ public class BOPBiomes {
BiomeDictionary.registerBiomeType(Biomes.promisedLandPlains.get(), Type.PLAINS, Type.MAGICAL);
BiomeDictionary.registerBiomeType(Biomes.promisedLandDesert.get(), Type.DESERT, Type.MAGICAL);
BiomeDictionary.registerBiomeType(Biomes.promisedLandSwamp.get(), Type.SWAMP, Type.MAGICAL);
BiomeDictionary.registerBiomeType(Biomes.promisedLandCrystals.get(), Type.MAGICAL);
BiomeDictionary.registerBiomeType(Biomes.promisedLandMushroom.get(), Type.MUSHROOM, Type.MAGICAL);
BiomeDictionary.registerBiomeType(Biomes.quagmire.get(), Type.WASTELAND);
BiomeDictionary.registerBiomeType(Biomes.rainforest.get(), Type.JUNGLE, Type.HILLS, Type.FOREST);
BiomeDictionary.registerBiomeType(Biomes.redwoodForest.get(), Type.FOREST);

View file

@ -123,7 +123,9 @@ public class BOPBlocks {
Blocks.hardSand = Optional.of(new BlockBOPGeneric(BOPConfiguration.hardSandID, Material.sand, BlockType.HARD_SAND));
Blocks.hardDirt = Optional.of(new BlockBOPGeneric(BOPConfiguration.hardDirtID, Material.rock, BlockType.HARD_DIRT));
Blocks.holyGrass = Optional.of(new BlockBOPGrass(BOPConfiguration.holyGrassID).setUnlocalizedName("holyGrass"));
Blocks.holyStone = Optional.of(new BlockBOPGeneric(BOPConfiguration.holyStoneID, Material.rock, BlockType.HOLY_STONE).setLightValue(0.25F));
Blocks.holyDirt = Optional.of(new BlockBOPGeneric(BOPConfiguration.holyDirtID, Material.sand, BlockType.HOLY_DIRT));
Blocks.holySand = Optional.of(new BlockBOPGeneric(BOPConfiguration.holySandID, Material.sand, BlockType.HOLY_SAND));
Blocks.holyStone = Optional.of(new BlockBOPGeneric(BOPConfiguration.holyStoneID, Material.rock, BlockType.HOLY_STONE));
Blocks.promisedPortal = Optional.of(new BlockPromisedPortal(BOPConfiguration.promisedLandPortalID).setUnlocalizedName("promisedPortal").setBlockUnbreakable().setResistance(6000000.0F).setLightValue(1.0F));
// Blocks.amethystOre = Optional.of(new BlockBOPGeneric(BOPConfiguration.amethystOreID, Material.rock, BlockType.AMETHYST_ORE));
// Blocks.amethystBlock = Optional.of(new BlockBOPGeneric(BOPConfiguration.amethystBlockID, Material.iron, BlockType.AMETHYST_BLOCK));
@ -188,6 +190,8 @@ public class BOPBlocks {
GameRegistry.registerBlock(Blocks.hardDirt.get(), "hardDirt");
// GameRegistry.registerBlock(Blocks.holyGrass.get(), "holyGrass");
GameRegistry.registerBlock(Blocks.holyGrass.get(), ItemBOPGrass.class, "holyGrass");
GameRegistry.registerBlock(Blocks.holyDirt.get(), "holyDirt");
GameRegistry.registerBlock(Blocks.holySand.get(), "holySand");
GameRegistry.registerBlock(Blocks.holyStone.get(), "holyStone");
GameRegistry.registerBlock(Blocks.promisedPortal.get(), "promisedPortal");
GameRegistry.registerBlock(Blocks.amethystOre.get(), ItemBOPAmethyst.class, "amethystOre");
@ -314,6 +318,8 @@ public class BOPBlocks {
// LanguageRegistry.addName(Blocks.holyGrass.get(), "Holy Grass");
LanguageRegistry.addName(new ItemStack(Blocks.holyGrass.get(), 1, 0), "Holy Grass");
LanguageRegistry.addName(new ItemStack(Blocks.holyGrass.get(), 1, 1), "Smoldering Grass");
LanguageRegistry.addName(Blocks.holyDirt.get(), "Holy Dirt");
LanguageRegistry.addName(Blocks.holySand.get(), "Holy Sand");
LanguageRegistry.addName(Blocks.holyStone.get(), "Holy Stone");
LanguageRegistry.addName(new ItemStack(Blocks.plants.get(),1,4), "Holy Tall Grass");
LanguageRegistry.addName(Blocks.promisedPortal.get(), "Promised Land Portal");

View file

@ -114,7 +114,9 @@ public class BOPConfiguration {
public static int hardSandID;
public static int hardDirtID;
public static int holyGrassID;
public static int holyDirtID;
public static int holyStoneID;
public static int holySandID;
public static int cragRockID;
public static int plantsID;
@ -268,7 +270,7 @@ public class BOPConfiguration {
public static int promisedLandPlainsID;
public static int promisedLandDesertID;
public static int promisedLandSwampID;
public static int promisedLandCrystalsID;
public static int promisedLandMushroomID;
public static int quagmireID;
public static int rainforestID;
public static int redwoodForestID;
@ -589,8 +591,10 @@ public class BOPConfiguration {
hardSandID = config.getTerrainBlock("Terrain Block IDs", "Hard Sand ID", 167, null).getInt();
hardDirtID = config.getTerrainBlock("Terrain Block IDs", "Hard Dirt ID", 168, null).getInt();
holyGrassID = config.getTerrainBlock("Terrain Block IDs", "Holy Grass ID", 169, null).getInt();
holyStoneID = config.getTerrainBlock("Terrain Block IDs", "Holy Stone ID", 170, null).getInt();
cragRockID = config.getTerrainBlock("Terrain Block IDs", "Crag Rock ID", 171, null).getInt();
holyDirtID = config.getTerrainBlock("Terrain Block IDs", "Holy Dirt ID", 170, null).getInt();
holyStoneID = config.getTerrainBlock("Terrain Block IDs", "Holy Stone ID", 171, null).getInt();
holySandID = config.getTerrainBlock("Terrain Block IDs", "Holy Sand ID", 172, null).getInt();
cragRockID = config.getTerrainBlock("Terrain Block IDs", "Crag Rock ID", 173, null).getInt();
// Get Crafted Block ID's
plantsID = config.getBlock("Plant ID", 1920, null).getInt();
@ -688,11 +692,11 @@ public class BOPConfiguration {
//23-79 ExtraBiomesXL
promisedLandForestID = config.get("Biome IDs", "Promised Land Forest ID", 75).getInt();
promisedLandPlainsID = config.get("Biome IDs", "Promised Land Plains ID", 76).getInt();
promisedLandDesertID = config.get("Biome IDs", "Promised Land Desert ID", 77).getInt();
promisedLandSwampID = config.get("Biome IDs", "Promised Land Swamp ID", 78).getInt();
promisedLandCrystalsID = config.get("Biome IDs", "Promised Land Crystals ID", 79).getInt();
promisedLandForestID = config.get("Biome IDs", "Wonderous Woods (Promised Land) ID", 75).getInt();
promisedLandPlainsID = config.get("Biome IDs", "Purified Plains (Promised Land) ID", 76).getInt();
promisedLandDesertID = config.get("Biome IDs", "Divine Desert (Promised Land) ID", 77).getInt();
promisedLandSwampID = config.get("Biome IDs", "Blessed Bog (Promised Land) ID", 78).getInt();
promisedLandMushroomID = config.get("Biome IDs", "Majestic Mushrooms (Promised Land) ID", 79).getInt();
//80-169 Better World Generation 4

View file

@ -58,7 +58,7 @@ public class ForestryIntegration
EnumTemperature.hotBiomeIds.add(BOPConfiguration.promisedLandPlainsID);
EnumTemperature.hotBiomeIds.add(BOPConfiguration.promisedLandDesertID);
EnumTemperature.hotBiomeIds.add(BOPConfiguration.promisedLandSwampID);
EnumTemperature.hotBiomeIds.add(BOPConfiguration.promisedLandCrystalsID);
EnumTemperature.hotBiomeIds.add(BOPConfiguration.promisedLandMushroomID);
EnumTemperature.hotBiomeIds.add(BOPConfiguration.rainforestID);
EnumTemperature.hotBiomeIds.add(BOPConfiguration.tropicsID);
@ -67,7 +67,7 @@ public class ForestryIntegration
EnumHumidity.dampBiomeIds.add(BOPConfiguration.promisedLandPlainsID);
EnumHumidity.dampBiomeIds.add(BOPConfiguration.promisedLandDesertID);
EnumHumidity.dampBiomeIds.add(BOPConfiguration.promisedLandSwampID);
EnumHumidity.dampBiomeIds.add(BOPConfiguration.promisedLandCrystalsID);
EnumHumidity.dampBiomeIds.add(BOPConfiguration.promisedLandMushroomID);
EnumHumidity.dampBiomeIds.add(BOPConfiguration.rainforestID);
EnumHumidity.dampBiomeIds.add(BOPConfiguration.tropicsID);
@ -279,6 +279,7 @@ public class ForestryIntegration
{
// Miner's Backpack
BackpackManager.backpackItems[MINER].add(new ItemStack(Blocks.amethystOre.get(), 1, 0));
BackpackManager.backpackItems[MINER].add(new ItemStack(Blocks.holyDirt.get(), 1, 0));
BackpackManager.backpackItems[MINER].add(new ItemStack(Blocks.holyStone.get(), 1, 0));
BackpackManager.backpackItems[MINER].add(new ItemStack(Blocks.redRock.get(), 1, OreDictionary.WILDCARD_VALUE));
BackpackManager.backpackItems[MINER].add(new ItemStack(Blocks.driedDirt.get(), 1, 0));

View file

@ -106,6 +106,7 @@ public class ThaumcraftIntegration {
ThaumcraftApi.registerObjectTag(getBID("hardSand"), getBMeta("hardSand"), (new ObjectTags()).add(EnumTag.ROCK, 1).add(EnumTag.EARTH, 2));
ThaumcraftApi.registerObjectTag(getBID("hardDirt"), getBMeta("hardDirt"), (new ObjectTags()).add(EnumTag.ROCK, 1).add(EnumTag.EARTH, 2));
ThaumcraftApi.registerObjectTag(getBID("holyGrass"), getBMeta("holyGrass"), (new ObjectTags()).add(EnumTag.PLANT, 1).add(EnumTag.EARTH, 2).add(EnumTag.LIGHT, 1));
ThaumcraftApi.registerObjectTag(getBID("holyDirt"), getBMeta("holyDirt"), (new ObjectTags()).add(EnumTag.LIGHT, 1).add(EnumTag.EARTH, 2));
ThaumcraftApi.registerObjectTag(getBID("holyStone"), getBMeta("holyStone"), (new ObjectTags()).add(EnumTag.LIGHT, 1).add(EnumTag.ROCK, 2));
ThaumcraftApi.registerObjectTag(getBID("cragRock"), getBMeta("cragRock"), (new ObjectTags()).add(EnumTag.ROCK, 2));
ThaumcraftApi.registerObjectTag(getBID("quicksand"), getBMeta("quicksand"), (new ObjectTags()).add(EnumTag.EARTH, 2).add(EnumTag.TRAP, 4));

View file

@ -17,7 +17,7 @@ public abstract class BiomeLayer
BiomeLayer obj = new BiomeLayerCreate(1L);
obj = new BiomeLayerFuzzyZoom(2000L, (BiomeLayer)(obj));
for(int i = 1; i < 4; i++)
for(int i = 1; i < 1; i++)
{
obj = new BiomeLayerZoom(2000L + i, (BiomeLayer)(obj));
}
@ -26,7 +26,7 @@ public abstract class BiomeLayer
obj = new BiomeLayerBiomes(200L, ((BiomeLayer)(obj)), worldtype);
obj = BiomeLayerZoom.func_75915_a(1000L, ((BiomeLayer)(obj)), 2);
for(int j = 0; j < 4; j++)
for(int j = 0; j < 1; j++)
{
obj = new BiomeLayerZoom(1000L + j, (BiomeLayer)(obj));
}

View file

@ -36,9 +36,9 @@ public class BiomeLayerBiomes extends BiomeLayer
AllowedBiomes.add(Biomes.promisedLandSwamp.get());
}
if (Biomes.promisedLandCrystals.isPresent())
if (Biomes.promisedLandMushroom.isPresent())
{
AllowedBiomes.add(Biomes.promisedLandCrystals.get());
AllowedBiomes.add(Biomes.promisedLandMushroom.get());
}
}

View file

@ -0,0 +1,224 @@
package biomesoplenty.worldgen;
import biomesoplenty.api.Blocks;
import biomesoplenty.configuration.BOPBlocks;
import biomesoplenty.configuration.BOPConfiguration;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
public class WorldGenBOPBigMushroom extends WorldGenerator
{
/** The mushroom type. 0 for brown, 1 for red. */
private int mushroomType = 1;
public WorldGenBOPBigMushroom(int par1)
{
super(true);
this.mushroomType = par1;
}
public WorldGenBOPBigMushroom()
{
super(false);
}
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
{
int l = 1;
if (this.mushroomType >= 0)
{
l = this.mushroomType;
}
int i1 = par2Random.nextInt(3) + 4;
boolean flag = true;
if (par4 >= 1 && par4 + i1 + 1 < 256)
{
int j1;
int k1;
int l1;
int i2;
for (j1 = par4; j1 <= par4 + 1 + i1; ++j1)
{
byte b0 = 3;
if (j1 <= par4 + 3)
{
b0 = 0;
}
for (k1 = par3 - b0; k1 <= par3 + b0 && flag; ++k1)
{
for (l1 = par5 - b0; l1 <= par5 + b0 && flag; ++l1)
{
if (j1 >= 0 && j1 < 256)
{
i2 = par1World.getBlockId(k1, j1, l1);
Block block = Block.blocksList[i2];
if (i2 != 0 && block != null && !block.isLeaves(par1World, k1, j1, l1))
{
flag = false;
}
}
else
{
flag = false;
}
}
}
}
if (!flag)
{
return false;
}
else
{
j1 = par1World.getBlockId(par3, par4 - 1, par5);
if (j1 != Block.dirt.blockID && j1 != Block.grass.blockID && j1 != Block.mycelium.blockID && j1 != Blocks.holyGrass.get().blockID)
{
return false;
}
else
{
int j2 = par4 + i1;
if (l == 1)
{
j2 = par4 + i1 - 3;
}
for (k1 = j2; k1 <= par4 + i1; ++k1)
{
l1 = 1;
if (k1 < par4 + i1)
{
++l1;
}
if (l == 0)
{
l1 = 3;
}
for (i2 = par3 - l1; i2 <= par3 + l1; ++i2)
{
for (int k2 = par5 - l1; k2 <= par5 + l1; ++k2)
{
int l2 = 5;
if (i2 == par3 - l1)
{
--l2;
}
if (i2 == par3 + l1)
{
++l2;
}
if (k2 == par5 - l1)
{
l2 -= 3;
}
if (k2 == par5 + l1)
{
l2 += 3;
}
if (l == 0 || k1 < par4 + i1)
{
if ((i2 == par3 - l1 || i2 == par3 + l1) && (k2 == par5 - l1 || k2 == par5 + l1))
{
continue;
}
if (i2 == par3 - (l1 - 1) && k2 == par5 - l1)
{
l2 = 1;
}
if (i2 == par3 - l1 && k2 == par5 - (l1 - 1))
{
l2 = 1;
}
if (i2 == par3 + (l1 - 1) && k2 == par5 - l1)
{
l2 = 3;
}
if (i2 == par3 + l1 && k2 == par5 - (l1 - 1))
{
l2 = 3;
}
if (i2 == par3 - (l1 - 1) && k2 == par5 + l1)
{
l2 = 7;
}
if (i2 == par3 - l1 && k2 == par5 + (l1 - 1))
{
l2 = 7;
}
if (i2 == par3 + (l1 - 1) && k2 == par5 + l1)
{
l2 = 9;
}
if (i2 == par3 + l1 && k2 == par5 + (l1 - 1))
{
l2 = 9;
}
}
if (l2 == 5 && k1 < par4 + i1)
{
l2 = 0;
}
Block block = Block.blocksList[par1World.getBlockId(i2, k1, k2)];
if ((l2 != 0 || par4 >= par4 + i1 - 1) && (block == null || block.canBeReplacedByLeaves(par1World, i2, k1, k2)))
{
this.setBlockAndMetadata(par1World, i2, k1, k2, Block.mushroomCapBrown.blockID + l, l2);
}
}
}
}
for (k1 = 0; k1 < i1; ++k1)
{
l1 = par1World.getBlockId(par3, par4 + k1, par5);
Block block = Block.blocksList[l1];
if (block == null || block.canBeReplacedByLeaves(par1World, par3, par4 + k1, par5))
{
this.setBlockAndMetadata(par1World, par3, par4 + k1, par5, Block.mushroomCapBrown.blockID + l, 10);
}
}
return true;
}
}
}
else
{
return false;
}
}
}

View file

@ -2,6 +2,9 @@ package biomesoplenty.worldgen;
import java.util.Random;
import biomesoplenty.api.Blocks;
import biomesoplenty.configuration.BOPBlocks;
import net.minecraft.block.Block;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
@ -62,7 +65,7 @@ public class WorldGenMycelium extends WorldGenerator
{
double var45 = ((double)var44 + 0.5D - var24) / (var28 / 2.0D);
if (var39 * var39 + var42 * var42 + var45 * var45 < 1.0D && par1World.getBlockId(var38, var41, var44) == Block.grass.blockID)
if (var39 * var39 + var42 * var42 + var45 * var45 < 1.0D && par1World.getBlockId(var38, var41, var44) == Block.grass.blockID || par1World.getBlockId(var38, var41, var44) == Blocks.holyGrass.get().blockID)
{
par1World.setBlock(var38, var41, var44, this.minableBlockId);
}

View file

@ -20,7 +20,7 @@ public class WorldGenPalmTree1 extends WorldGenerator
int var6 = var1.getBlockId(var3, var4, var5);
if (var6 != Block.grass.blockID)
if (var6 != Block.grass.blockID && var6 != Blocks.holySand.get().blockID)
{
return false;
}

View file

@ -20,7 +20,7 @@ public class WorldGenPalmTree3 extends WorldGenerator
int var6 = var1.getBlockId(var3, var4, var5);
if (var6 != Block.grass.blockID)
if (var6 != Block.grass.blockID && var6 != Blocks.holySand.get().blockID)
{
return false;
}

View file

@ -0,0 +1,51 @@
package biomesoplenty.worldgen;
import java.util.Random;
import biomesoplenty.api.Blocks;
import biomesoplenty.configuration.BOPBlocks;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
public class WorldGenPromisedBush extends WorldGenerator
{
public boolean generate(World var1, Random var2, int var3, int var4, int var5)
{
while (var1.isAirBlock(var3, var4, var5) && var4 > 2)
{
--var4;
}
int var6 = var1.getBlockId(var3, var4, var5);
if (var6 != Blocks.holyGrass.get().blockID)
{
return false;
}
else
{
for (int var7 = -2; var7 <= 2; ++var7)
{
for (int var8 = -2; var8 <= 2; ++var8)
{
if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8))
{
return false;
}
}
}
var1.setBlock(var3, var4, var5, Blocks.holyDirt.get().blockID);
this.setBlockAndMetadata(var1, var3, var4 + 1, var5, Blocks.logs2.get().blockID,0);
this.setBlockAndMetadata(var1, var3, var4 + 2, var5, Blocks.logs2.get().blockID,0);
this.setBlockAndMetadata(var1, var3 + 1, var4 + 2, var5, Blocks.leaves1.get().blockID, 6);
this.setBlockAndMetadata(var1, var3 - 1, var4 + 2, var5, Blocks.leaves1.get().blockID, 6);
this.setBlockAndMetadata(var1, var3, var4 + 2, var5 + 1, Blocks.leaves1.get().blockID, 6);
this.setBlockAndMetadata(var1, var3, var4 + 2, var5 - 1, Blocks.leaves1.get().blockID, 6);
this.setBlockAndMetadata(var1, var3, var4 + 3, var5, Blocks.leaves1.get().blockID, 6);
return true;
}
}
}

View file

@ -76,7 +76,7 @@ public class WorldGenPromisedTree extends WorldGenerator
if ((var11 == Blocks.holyGrass.get().blockID) && par4 < 256 - var6 - 1)
{
this.setBlockAndMetadata(par1World, par3, par4 - 1, par5, Blocks.holyGrass.get().blockID, 0);
this.setBlockAndMetadata(par1World, par3, par4 - 1, par5, Blocks.holyDirt.get().blockID, 0);
var21 = par2Random.nextInt(2);
var13 = 1;
byte var22 = 0;

View file

@ -74,7 +74,7 @@ public class WorldGenPromisedTree2 extends WorldGenerator
if ((var8 == Blocks.holyGrass.get().blockID) && par4 < 256 - var6 - 1)
{
this.setBlockAndMetadata(par1World, par3, par4 - 1, par5, Blocks.holyGrass.get().blockID, 0);
this.setBlockAndMetadata(par1World, par3, par4 - 1, par5, Blocks.holyDirt.get().blockID, 0);
int var16;
for (var16 = par4 - 3 + var6; var16 <= par4 + var6; ++var16)

View file

@ -85,10 +85,10 @@ public class WorldGenPromisedTree3 extends WorldGenerator
{
if ((var14 == Blocks.holyGrass.get().blockID) && var4 < 256 - var6 - 1)
{
var1.setBlock(var3, var4 - 1, var5, Blocks.holyGrass.get().blockID, 0, 2);
var1.setBlock(var3 - 1, var4 - 1, var5, Blocks.holyGrass.get().blockID, 0, 2);
var1.setBlock(var3, var4 - 1, var5 - 1, Blocks.holyGrass.get().blockID, 0, 2);
var1.setBlock(var3 - 1, var4 - 1, var5 - 1, Blocks.holyGrass.get().blockID, 0, 2);
var1.setBlock(var3, var4 - 1, var5, Blocks.holyDirt.get().blockID, 0, 2);
var1.setBlock(var3 - 1, var4 - 1, var5, Blocks.holyDirt.get().blockID, 0, 2);
var1.setBlock(var3, var4 - 1, var5 - 1, Blocks.holyDirt.get().blockID, 0, 2);
var1.setBlock(var3 - 1, var4 - 1, var5 - 1, Blocks.holyDirt.get().blockID, 0, 2);
var15 = var2.nextInt(2);
int var16 = 1;
boolean var17 = false;

View file

@ -16,7 +16,7 @@ public class WorldGenPromisedWillowTree extends WorldGenerator
{
int var6;
for (var6 = par2Random.nextInt(5) + 8; par1World.getBlockMaterial(par3, par4 - 1, par5) == Material.water; --par4)
for (var6 = par2Random.nextInt(12) + 4; par1World.getBlockMaterial(par3, par4 - 1, par5) == Material.water; --par4)
{
;
}

View file

@ -0,0 +1,81 @@
package biomesoplenty.worldgen;
import java.util.Random;
import biomesoplenty.api.Blocks;
import biomesoplenty.configuration.BOPBlocks;
import net.minecraft.block.Block;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
public class WorldGenWaterSpring 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 WorldGenWaterSpring(int par1, int par2)
{
this.minableBlockId = par1;
this.numberOfBlocks = par2;
}
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
{
float var6 = par2Random.nextFloat() * (float)Math.PI;
double var7 = (double)((float)(par3 + 8) + MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F);
double var9 = (double)((float)(par3 + 8) - MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F);
double var11 = (double)((float)(par5 + 8) + MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F);
double var13 = (double)((float)(par5 + 8) - MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F);
double var15 = (double)(par4 + par2Random.nextInt(3) - 2);
double var17 = (double)(par4 + par2Random.nextInt(3) - 2);
for (int var19 = 0; var19 <= this.numberOfBlocks; ++var19)
{
double var20 = var7 + (var9 - var7) * (double)var19 / (double)this.numberOfBlocks;
double var22 = var15 + (var17 - var15) * (double)var19 / (double)this.numberOfBlocks;
double var24 = var11 + (var13 - var11) * (double)var19 / (double)this.numberOfBlocks;
double var26 = par2Random.nextDouble() * (double)this.numberOfBlocks / 16.0D;
double var28 = (double)(MathHelper.sin((float)var19 * (float)Math.PI / (float)this.numberOfBlocks) + 1.0F) * var26 + 1.0D;
double var30 = (double)(MathHelper.sin((float)var19 * (float)Math.PI / (float)this.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 = ((double)var38 + 0.5D - var20) / (var28 / 2.0D);
if (var39 * var39 < 1.0D)
{
for (int var41 = var33; var41 <= var36; ++var41)
{
double var42 = ((double)var41 + 0.5D - var22) / (var30 / 2.0D);
if (var39 * var39 + var42 * var42 < 1.0D)
{
for (int var44 = var34; var44 <= var37; ++var44)
{
double var45 = ((double)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.setBlock(var38, var41, var44, this.minableBlockId);
}
}
}
}
}
}
}
return true;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 376 B

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 628 B

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B