Merge branch 'master' of https://github.com/BiomesOPlenty/BiomesOPlenty
This commit is contained in:
commit
e61e91ff08
53 changed files with 1008 additions and 520 deletions
|
@ -91,6 +91,7 @@ public class BlockReferences {
|
||||||
redwoodSapling (Blocks.colorizedSaplings, 3),
|
redwoodSapling (Blocks.colorizedSaplings, 3),
|
||||||
willowSapling (Blocks.colorizedSaplings, 4),
|
willowSapling (Blocks.colorizedSaplings, 4),
|
||||||
pineSapling (Blocks.colorizedSaplings, 5),
|
pineSapling (Blocks.colorizedSaplings, 5),
|
||||||
|
sacredoakSapling (Blocks.colorizedSaplings, 6),
|
||||||
mapleSapling (Blocks.saplings, 11),
|
mapleSapling (Blocks.saplings, 11),
|
||||||
orangeAutumnSapling (Blocks.saplings, 8),
|
orangeAutumnSapling (Blocks.saplings, 8),
|
||||||
pinkCherrySapling (Blocks.saplings, 10),
|
pinkCherrySapling (Blocks.saplings, 10),
|
||||||
|
|
|
@ -90,6 +90,7 @@ import biomesoplenty.worldgen.WorldGenPotatoes;
|
||||||
import biomesoplenty.worldgen.WorldGenPumpkinAlt;
|
import biomesoplenty.worldgen.WorldGenPumpkinAlt;
|
||||||
import biomesoplenty.worldgen.WorldGenQuagmire;
|
import biomesoplenty.worldgen.WorldGenQuagmire;
|
||||||
import biomesoplenty.worldgen.WorldGenQuicksand;
|
import biomesoplenty.worldgen.WorldGenQuicksand;
|
||||||
|
import biomesoplenty.worldgen.WorldGenRedwoodShrub;
|
||||||
import biomesoplenty.worldgen.WorldGenReedBOP;
|
import biomesoplenty.worldgen.WorldGenReedBOP;
|
||||||
import biomesoplenty.worldgen.WorldGenShield;
|
import biomesoplenty.worldgen.WorldGenShield;
|
||||||
import biomesoplenty.worldgen.WorldGenShortKelp;
|
import biomesoplenty.worldgen.WorldGenShortKelp;
|
||||||
|
@ -234,6 +235,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
public WorldGenerator bluebellGen;
|
public WorldGenerator bluebellGen;
|
||||||
public WorldGenerator minersDelightGen;
|
public WorldGenerator minersDelightGen;
|
||||||
public WorldGenerator icyIrisGen;
|
public WorldGenerator icyIrisGen;
|
||||||
|
public WorldGenerator redwoodShrubGen;
|
||||||
|
|
||||||
public WorldGenerator boneSpineGen;
|
public WorldGenerator boneSpineGen;
|
||||||
public WorldGenerator boneSpine2Gen;
|
public WorldGenerator boneSpine2Gen;
|
||||||
|
@ -331,6 +333,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
public int minersDelightPerChunk;
|
public int minersDelightPerChunk;
|
||||||
public int icyIrisPerChunk;
|
public int icyIrisPerChunk;
|
||||||
public int waterReedsPerChunk;
|
public int waterReedsPerChunk;
|
||||||
|
public int redwoodShrubsPerChunk;
|
||||||
|
|
||||||
public int boneSpinesPerChunk;
|
public int boneSpinesPerChunk;
|
||||||
public int boneSpines2PerChunk;
|
public int boneSpines2PerChunk;
|
||||||
|
@ -536,6 +539,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
waterlilyGen = new WorldGenWaterlily();
|
waterlilyGen = new WorldGenWaterlily();
|
||||||
algaeGen = new WorldGenAlgae();
|
algaeGen = new WorldGenAlgae();
|
||||||
waterReedGen = new WorldGenWaterReeds();
|
waterReedGen = new WorldGenWaterReeds();
|
||||||
|
redwoodShrubGen = new WorldGenRedwoodShrub(0,0);
|
||||||
pitGen = new WorldGenPit(Blocks.ash.get().blockID);
|
pitGen = new WorldGenPit(Blocks.ash.get().blockID);
|
||||||
waterlilyPerChunk = 0;
|
waterlilyPerChunk = 0;
|
||||||
lilyflowersPerChunk = 0;
|
lilyflowersPerChunk = 0;
|
||||||
|
@ -628,6 +632,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
minersDelightPerChunk = 2;
|
minersDelightPerChunk = 2;
|
||||||
icyIrisPerChunk = 0;
|
icyIrisPerChunk = 0;
|
||||||
waterReedsPerChunk = 0;
|
waterReedsPerChunk = 0;
|
||||||
|
redwoodShrubsPerChunk = 0;
|
||||||
generateLakes = true;
|
generateLakes = true;
|
||||||
generateAsh = false;
|
generateAsh = false;
|
||||||
generateMycelium = false;
|
generateMycelium = false;
|
||||||
|
@ -1546,6 +1551,14 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
highCattailGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
highCattailGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var2 = 0; var2 < redwoodShrubsPerChunk; ++var2)
|
||||||
|
{
|
||||||
|
var3 = chunk_X + randomGenerator.nextInt(16) + 8;
|
||||||
|
var4 = randomGenerator.nextInt(50) + 70;
|
||||||
|
var5 = chunk_Z + randomGenerator.nextInt(16) + 8;
|
||||||
|
redwoodShrubGen.generate(currentWorld, randomGenerator, var3, var4, var5);
|
||||||
|
}
|
||||||
|
|
||||||
//Added
|
//Added
|
||||||
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, DEAD_BUSH);
|
doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, DEAD_BUSH);
|
||||||
for (var2 = 0; doGen && var2 < deadBushPerChunk; ++var2)
|
for (var2 = 0; doGen && var2 < deadBushPerChunk; ++var2)
|
||||||
|
|
|
@ -32,6 +32,7 @@ public class BiomeGenAutumnHills extends BiomeGenBase
|
||||||
customBiomeDecorator.sproutsPerChunk = 2;
|
customBiomeDecorator.sproutsPerChunk = 2;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 16;
|
customBiomeDecorator.wheatGrassPerChunk = 16;
|
||||||
customBiomeDecorator.shrubsPerChunk = 20;
|
customBiomeDecorator.shrubsPerChunk = 20;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class BiomeGenBorealForest extends BiomeGenBase
|
||||||
customBiomeDecorator.grassPerChunk = 50;
|
customBiomeDecorator.grassPerChunk = 50;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 25;
|
customBiomeDecorator.wheatGrassPerChunk = 25;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
customBiomeDecorator.waterReedsPerChunk = 2;
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -23,6 +23,7 @@ public class BiomeGenBrushland extends BiomeGenBase
|
||||||
customBiomeDecorator.flowersPerChunk = -999;
|
customBiomeDecorator.flowersPerChunk = -999;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 3;
|
customBiomeDecorator.wheatGrassPerChunk = 3;
|
||||||
customBiomeDecorator.shrubsPerChunk = 30;
|
customBiomeDecorator.shrubsPerChunk = 30;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
customBiomeDecorator.generateQuicksand = true;
|
customBiomeDecorator.generateQuicksand = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ public class BiomeGenCanyon extends BiomeGenBase
|
||||||
customBiomeDecorator.flowersPerChunk = -999;
|
customBiomeDecorator.flowersPerChunk = -999;
|
||||||
customBiomeDecorator.canyonGrassPerChunk = 5;
|
customBiomeDecorator.canyonGrassPerChunk = 5;
|
||||||
customBiomeDecorator.aloePerChunk = 2;
|
customBiomeDecorator.aloePerChunk = 2;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
customBiomeDecorator.generatePumpkins = false;
|
||||||
customBiomeDecorator.generateCanyon = true;
|
customBiomeDecorator.generateCanyon = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ public class BiomeGenCanyonRavine extends BiomeGenBase
|
||||||
customBiomeDecorator.flowersPerChunk = -999;
|
customBiomeDecorator.flowersPerChunk = -999;
|
||||||
customBiomeDecorator.canyonGrassPerChunk = 3;
|
customBiomeDecorator.canyonGrassPerChunk = 3;
|
||||||
customBiomeDecorator.aloePerChunk = 2;
|
customBiomeDecorator.aloePerChunk = 2;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
customBiomeDecorator.generatePumpkins = false;
|
||||||
customBiomeDecorator.generateCanyon = true;
|
customBiomeDecorator.generateCanyon = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ public class BiomeGenChaparral extends BiomeGenBase
|
||||||
customBiomeDecorator.carrotsPerChunk = 1;
|
customBiomeDecorator.carrotsPerChunk = 1;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 10;
|
customBiomeDecorator.wheatGrassPerChunk = 10;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,11 @@ public class BiomeGenConiferousForest extends BiomeGenBase
|
||||||
customBiomeDecorator.berryBushesPerChunk = 1;
|
customBiomeDecorator.berryBushesPerChunk = 1;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 5;
|
customBiomeDecorator.wheatGrassPerChunk = 5;
|
||||||
customBiomeDecorator.shrubsPerChunk = 8;
|
customBiomeDecorator.shrubsPerChunk = 8;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
|
customBiomeDecorator.sandPerChunk = -999;
|
||||||
|
customBiomeDecorator.sandPerChunk2 = -999;
|
||||||
|
customBiomeDecorator.gravelPerChunk = 1;
|
||||||
|
customBiomeDecorator.gravelPerChunk2 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -25,10 +25,12 @@ public class BiomeGenConiferousForestSnow extends BiomeGenBase
|
||||||
customBiomeDecorator.treesPerChunk = 2;
|
customBiomeDecorator.treesPerChunk = 2;
|
||||||
customBiomeDecorator.mushroomsPerChunk = 4;
|
customBiomeDecorator.mushroomsPerChunk = 4;
|
||||||
customBiomeDecorator.flowersPerChunk = -999;
|
customBiomeDecorator.flowersPerChunk = -999;
|
||||||
customBiomeDecorator.sandPerChunk = -999;
|
|
||||||
customBiomeDecorator.sandPerChunk2 = -999;
|
|
||||||
customBiomeDecorator.shrubsPerChunk = 4;
|
customBiomeDecorator.shrubsPerChunk = 4;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||||
|
customBiomeDecorator.sandPerChunk = -999;
|
||||||
|
customBiomeDecorator.sandPerChunk2 = -999;
|
||||||
|
customBiomeDecorator.gravelPerChunk = 1;
|
||||||
|
customBiomeDecorator.gravelPerChunk2 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,6 +25,7 @@ public class BiomeGenField extends BiomeGenBase
|
||||||
customBiomeDecorator.bushesPerChunk = 8;
|
customBiomeDecorator.bushesPerChunk = 8;
|
||||||
customBiomeDecorator.berryBushesPerChunk = 5;
|
customBiomeDecorator.berryBushesPerChunk = 5;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 4;
|
customBiomeDecorator.wheatGrassPerChunk = 4;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
customBiomeDecorator.generatePumpkins = true;
|
customBiomeDecorator.generatePumpkins = true;
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ public class BiomeGenFieldForest extends BiomeGenBase
|
||||||
customBiomeDecorator.berryBushesPerChunk = 5;
|
customBiomeDecorator.berryBushesPerChunk = 5;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 4;
|
customBiomeDecorator.wheatGrassPerChunk = 4;
|
||||||
customBiomeDecorator.shrubsPerChunk = 2;
|
customBiomeDecorator.shrubsPerChunk = 2;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
customBiomeDecorator.generatePumpkins = true;
|
customBiomeDecorator.generatePumpkins = true;
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,7 @@ public class BiomeGenGarden extends BiomeGenBase
|
||||||
customBiomeDecorator.lilyflowersPerChunk = 4;
|
customBiomeDecorator.lilyflowersPerChunk = 4;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 10;
|
customBiomeDecorator.wheatGrassPerChunk = 10;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
customBiomeDecorator.generatePumpkins = true;
|
customBiomeDecorator.generatePumpkins = true;
|
||||||
customBiomeDecorator.generateMelons = true;
|
customBiomeDecorator.generateMelons = true;
|
||||||
spawnableCreatureList.clear();
|
spawnableCreatureList.clear();
|
||||||
|
|
|
@ -34,6 +34,7 @@ public class BiomeGenGrassland extends BiomeGenBase
|
||||||
customBiomeDecorator.waterLakesPerChunk = 15;
|
customBiomeDecorator.waterLakesPerChunk = 15;
|
||||||
customBiomeDecorator.portobellosPerChunk = 3;
|
customBiomeDecorator.portobellosPerChunk = 3;
|
||||||
customBiomeDecorator.reedsBOPPerChunk = 5;
|
customBiomeDecorator.reedsBOPPerChunk = 5;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
customBiomeDecorator.generatePumpkins = false;
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntitySheep.class, 14, 4, 4));
|
spawnableCreatureList.add(new SpawnListEntry(EntitySheep.class, 14, 4, 4));
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityPig.class, 12, 4, 4));
|
spawnableCreatureList.add(new SpawnListEntry(EntityPig.class, 12, 4, 4));
|
||||||
|
|
|
@ -36,6 +36,7 @@ public class BiomeGenLushDesert extends BiomeGenBase
|
||||||
customBiomeDecorator.cactiPerChunk = 20;
|
customBiomeDecorator.cactiPerChunk = 20;
|
||||||
customBiomeDecorator.tinyCactiPerChunk = 5;
|
customBiomeDecorator.tinyCactiPerChunk = 5;
|
||||||
customBiomeDecorator.waterLakesPerChunk = 5;
|
customBiomeDecorator.waterLakesPerChunk = 5;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
customBiomeDecorator.aloePerChunk = 3;
|
customBiomeDecorator.aloePerChunk = 3;
|
||||||
customBiomeDecorator.generateGrass = true;
|
customBiomeDecorator.generateGrass = true;
|
||||||
customBiomeDecorator.generateSand = true;
|
customBiomeDecorator.generateSand = true;
|
||||||
|
|
|
@ -28,6 +28,7 @@ public class BiomeGenMesa extends BiomeGenBase
|
||||||
customBiomeDecorator.deadBushPerChunk = 2;
|
customBiomeDecorator.deadBushPerChunk = 2;
|
||||||
customBiomeDecorator.desertGrassPerChunk = 10;
|
customBiomeDecorator.desertGrassPerChunk = 10;
|
||||||
customBiomeDecorator.tinyCactiPerChunk = 2;
|
customBiomeDecorator.tinyCactiPerChunk = 2;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
spawnableMonsterList.add(new SpawnListEntry(EntitySpider.class, 15, 2, 6));
|
spawnableMonsterList.add(new SpawnListEntry(EntitySpider.class, 15, 2, 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ public class BiomeGenMountain extends BiomeGenBase
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||||
customBiomeDecorator.berryBushesPerChunk = 3;
|
customBiomeDecorator.berryBushesPerChunk = 3;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -32,6 +32,7 @@ public class BiomeGenOrchard extends BiomeGenBase
|
||||||
customBiomeDecorator.berryBushesPerChunk = 3;
|
customBiomeDecorator.berryBushesPerChunk = 3;
|
||||||
customBiomeDecorator.carrotsPerChunk = 1;
|
customBiomeDecorator.carrotsPerChunk = 1;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ public class BiomeGenOvergrownGreens extends BiomeGenBase
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 10;
|
customBiomeDecorator.wheatGrassPerChunk = 10;
|
||||||
customBiomeDecorator.highGrassPerChunk = 15;
|
customBiomeDecorator.highGrassPerChunk = 15;
|
||||||
customBiomeDecorator.shrubsPerChunk = 5;
|
customBiomeDecorator.shrubsPerChunk = 5;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -30,6 +30,7 @@ public class BiomeGenPrairie extends BiomeGenBase
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 25;
|
customBiomeDecorator.wheatGrassPerChunk = 25;
|
||||||
customBiomeDecorator.carrotsPerChunk = 1;
|
customBiomeDecorator.carrotsPerChunk = 1;
|
||||||
customBiomeDecorator.shrubsPerChunk = 3;
|
customBiomeDecorator.shrubsPerChunk = 3;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import net.minecraft.world.gen.feature.WorldGenShrub;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMain;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMain;
|
||||||
|
import biomesoplenty.worldgen.WorldGenRedwoodShrub;
|
||||||
import biomesoplenty.worldgen.realtree.WorldGenRealRedwood;
|
import biomesoplenty.worldgen.realtree.WorldGenRealRedwood;
|
||||||
import biomesoplenty.worldgen.realtree.WorldGenRealRedwood2;
|
import biomesoplenty.worldgen.realtree.WorldGenRealRedwood2;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenRedwoodTree;
|
import biomesoplenty.worldgen.tree.WorldGenRedwoodTree;
|
||||||
|
@ -23,12 +24,14 @@ public class BiomeGenRedwoodForest extends BiomeGenBase
|
||||||
super(par1);
|
super(par1);
|
||||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||||
customBiomeDecorator.treesPerChunk = 6;
|
customBiomeDecorator.treesPerChunk = 75;
|
||||||
customBiomeDecorator.grassPerChunk = 16;
|
customBiomeDecorator.grassPerChunk = 16;
|
||||||
customBiomeDecorator.bushesPerChunk = 4;
|
customBiomeDecorator.bushesPerChunk = 4;
|
||||||
customBiomeDecorator.berryBushesPerChunk = 1;
|
customBiomeDecorator.berryBushesPerChunk = 1;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 7;
|
customBiomeDecorator.wheatGrassPerChunk = 7;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
|
customBiomeDecorator.redwoodShrubsPerChunk = 100;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
customBiomeDecorator.generatePumpkins = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +46,7 @@ public class BiomeGenRedwoodForest extends BiomeGenBase
|
||||||
return par1Random.nextInt(4) == 0 ? new WorldGenRealRedwood() : (par1Random.nextInt(2) == 0 ? new WorldGenShrub(0,0) : new WorldGenRealRedwood2());
|
return par1Random.nextInt(4) == 0 ? new WorldGenRealRedwood() : (par1Random.nextInt(2) == 0 ? new WorldGenShrub(0,0) : new WorldGenRealRedwood2());
|
||||||
}
|
}
|
||||||
|
|
||||||
return par1Random.nextInt(4) == 0 ? new WorldGenRedwoodTree(false) : (par1Random.nextInt(2) == 0 ? new WorldGenShrub(0,0) : new WorldGenRedwoodTree2(false));
|
return par1Random.nextInt(4) == 0 ? new WorldGenRedwoodTree(false) : (par1Random.nextInt(8) == 0 ? new WorldGenShrub(0,0) : new WorldGenRedwoodTree2(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.entities.EntityJungleSpider;
|
import biomesoplenty.entities.EntityJungleSpider;
|
||||||
|
import biomesoplenty.worldgen.tree.WorldGenMassiveTree;
|
||||||
|
|
||||||
public class BiomeGenSacredSprings extends BiomeGenBase
|
public class BiomeGenSacredSprings extends BiomeGenBase
|
||||||
{
|
{
|
||||||
|
@ -39,7 +40,7 @@ public class BiomeGenSacredSprings extends BiomeGenBase
|
||||||
@Override
|
@Override
|
||||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||||
{
|
{
|
||||||
return new WorldGenShrub(0, 0);
|
return par1Random.nextInt(150) == 0 ? new WorldGenMassiveTree(false) : new WorldGenShrub(0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -28,6 +28,7 @@ public class BiomeGenSavanna extends BiomeGenBase
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 10;
|
customBiomeDecorator.wheatGrassPerChunk = 10;
|
||||||
customBiomeDecorator.bushesPerChunk = 10;
|
customBiomeDecorator.bushesPerChunk = 10;
|
||||||
customBiomeDecorator.shrubsPerChunk = 3;
|
customBiomeDecorator.shrubsPerChunk = 3;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
customBiomeDecorator.generatePumpkins = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ public class BiomeGenScrubland extends BiomeGenBase
|
||||||
customBiomeDecorator.grassPerChunk = 30;
|
customBiomeDecorator.grassPerChunk = 30;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 10;
|
customBiomeDecorator.wheatGrassPerChunk = 10;
|
||||||
customBiomeDecorator.shrubsPerChunk = 2;
|
customBiomeDecorator.shrubsPerChunk = 2;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
customBiomeDecorator.generatePumpkins = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ public class BiomeGenSeasonalForest extends BiomeGenBase
|
||||||
customBiomeDecorator.toadstoolsPerChunk = 4;
|
customBiomeDecorator.toadstoolsPerChunk = 4;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 4;
|
customBiomeDecorator.wheatGrassPerChunk = 4;
|
||||||
customBiomeDecorator.shrubsPerChunk = 15;
|
customBiomeDecorator.shrubsPerChunk = 15;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -34,6 +34,7 @@ public class BiomeGenSeasonalSpruceForest extends BiomeGenBase
|
||||||
customBiomeDecorator.toadstoolsPerChunk = 4;
|
customBiomeDecorator.toadstoolsPerChunk = 4;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 4;
|
customBiomeDecorator.wheatGrassPerChunk = 4;
|
||||||
customBiomeDecorator.shrubsPerChunk = 15;
|
customBiomeDecorator.shrubsPerChunk = 15;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -32,6 +32,7 @@ public class BiomeGenSpruceWoods extends BiomeGenBase
|
||||||
customBiomeDecorator.carrotsPerChunk = 1;
|
customBiomeDecorator.carrotsPerChunk = 1;
|
||||||
customBiomeDecorator.bluebellsPerChunk = 100;
|
customBiomeDecorator.bluebellsPerChunk = 100;
|
||||||
customBiomeDecorator.shrubsPerChunk = 5;
|
customBiomeDecorator.shrubsPerChunk = 5;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -36,6 +36,7 @@ public class BiomeGenTemperateRainforest extends BiomeGenBase
|
||||||
customBiomeDecorator.sandPerChunk = -999;
|
customBiomeDecorator.sandPerChunk = -999;
|
||||||
customBiomeDecorator.sandPerChunk2 = -999;
|
customBiomeDecorator.sandPerChunk2 = -999;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class BiomeGenTimber extends BiomeGenBase
|
||||||
customBiomeDecorator.thornsPerChunk = 2;
|
customBiomeDecorator.thornsPerChunk = 2;
|
||||||
customBiomeDecorator.flowersPerChunk = -999;
|
customBiomeDecorator.flowersPerChunk = -999;
|
||||||
customBiomeDecorator.toadstoolsPerChunk = 2;
|
customBiomeDecorator.toadstoolsPerChunk = 2;
|
||||||
customBiomeDecorator.waterReedsPerChunk = 2;
|
customBiomeDecorator.waterReedsPerChunk = 4;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ public class BiomeGenTimberThin extends BiomeGenBase
|
||||||
customBiomeDecorator.flowersPerChunk = -999;
|
customBiomeDecorator.flowersPerChunk = -999;
|
||||||
customBiomeDecorator.toadstoolsPerChunk = 2;
|
customBiomeDecorator.toadstoolsPerChunk = 2;
|
||||||
customBiomeDecorator.shrubsPerChunk = 5;
|
customBiomeDecorator.shrubsPerChunk = 5;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -11,6 +11,7 @@ import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.entities.EntityJungleSpider;
|
import biomesoplenty.entities.EntityJungleSpider;
|
||||||
|
import biomesoplenty.worldgen.WorldGenTropicsShrub;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenPalmTree1;
|
import biomesoplenty.worldgen.tree.WorldGenPalmTree1;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenPalmTree3;
|
import biomesoplenty.worldgen.tree.WorldGenPalmTree3;
|
||||||
|
|
||||||
|
@ -24,7 +25,7 @@ public class BiomeGenTropics extends BiomeGenBase
|
||||||
super(par1);
|
super(par1);
|
||||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
||||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||||
customBiomeDecorator.treesPerChunk = 4;
|
customBiomeDecorator.treesPerChunk = 6;
|
||||||
customBiomeDecorator.grassPerChunk = 7;
|
customBiomeDecorator.grassPerChunk = 7;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 4;
|
customBiomeDecorator.wheatGrassPerChunk = 4;
|
||||||
customBiomeDecorator.flowersPerChunk = 10;
|
customBiomeDecorator.flowersPerChunk = 10;
|
||||||
|
@ -67,7 +68,7 @@ public class BiomeGenTropics extends BiomeGenBase
|
||||||
@Override
|
@Override
|
||||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||||
{
|
{
|
||||||
return par1Random.nextInt(3) == 0 ? new WorldGenPalmTree1() : new WorldGenPalmTree3();
|
return par1Random.nextInt(3) == 0 ? new WorldGenPalmTree1() : (par1Random.nextInt(2) == 0 ? new WorldGenTropicsShrub() : new WorldGenPalmTree3());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -77,7 +78,7 @@ public class BiomeGenTropics extends BiomeGenBase
|
||||||
public int getSkyColorByTemp(float par1)
|
public int getSkyColorByTemp(float par1)
|
||||||
{
|
{
|
||||||
if (BOPConfigurationMisc.skyColors)
|
if (BOPConfigurationMisc.skyColors)
|
||||||
return 3333631;
|
return 507391;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
par1 /= 3.0F;
|
par1 /= 3.0F;
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class BiomeGenTundra extends BiomeGenBase
|
||||||
customBiomeDecorator.gravelPerChunk = 8;
|
customBiomeDecorator.gravelPerChunk = 8;
|
||||||
customBiomeDecorator.gravelPerChunk2 = 8;
|
customBiomeDecorator.gravelPerChunk2 = 8;
|
||||||
customBiomeDecorator.shrubsPerChunk = 2;
|
customBiomeDecorator.shrubsPerChunk = 2;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class BiomeGenWasteland extends BiomeGenBase
|
||||||
@Override
|
@Override
|
||||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||||
{
|
{
|
||||||
return par1Random.nextInt(4) == 0 ? new WorldGenDeadTree3(false) : (par1Random.nextInt(2) == 0 ? new WorldGenWasteland2() : new WorldGenWasteland());
|
return par1Random.nextInt(4) == 0 ? new WorldGenWasteland() : (par1Random.nextInt(4) == 0 ? new WorldGenWasteland2() : new WorldGenDeadTree3(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -23,6 +23,7 @@ public class BiomeGenWoodland extends BiomeGenBase
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 3;
|
customBiomeDecorator.wheatGrassPerChunk = 3;
|
||||||
customBiomeDecorator.toadstoolsPerChunk = 3;
|
customBiomeDecorator.toadstoolsPerChunk = 3;
|
||||||
customBiomeDecorator.shrubsPerChunk = 20;
|
customBiomeDecorator.shrubsPerChunk = 20;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -33,6 +33,7 @@ public class BiomeGenForestNew extends BiomeGenBase
|
||||||
customBiomeDecorator.carrotsPerChunk = 1;
|
customBiomeDecorator.carrotsPerChunk = 1;
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 1;
|
customBiomeDecorator.wheatGrassPerChunk = 1;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
customBiomeDecorator.shrubsPerChunk = 10;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -28,6 +28,7 @@ public class BiomeGenPlainsNew extends BiomeGenBase
|
||||||
customBiomeDecorator.tinyFlowersPerChunk = 1;
|
customBiomeDecorator.tinyFlowersPerChunk = 1;
|
||||||
customBiomeDecorator.portobellosPerChunk = 1;
|
customBiomeDecorator.portobellosPerChunk = 1;
|
||||||
customBiomeDecorator.sunflowersPerChunk = 2;
|
customBiomeDecorator.sunflowersPerChunk = 2;
|
||||||
|
customBiomeDecorator.waterReedsPerChunk = 2;
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,9 +13,9 @@ import net.minecraft.world.World;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import biomesoplenty.BiomesOPlenty;
|
import biomesoplenty.BiomesOPlenty;
|
||||||
import biomesoplenty.worldgen.WorldGenNetherBush;
|
|
||||||
import biomesoplenty.worldgen.tree.WorldGenAcacia;
|
import biomesoplenty.worldgen.tree.WorldGenAcacia;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenMangrove;
|
import biomesoplenty.worldgen.tree.WorldGenMangrove;
|
||||||
|
import biomesoplenty.worldgen.tree.WorldGenMassiveTree;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenPalmTree1;
|
import biomesoplenty.worldgen.tree.WorldGenPalmTree1;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenPalmTree3;
|
import biomesoplenty.worldgen.tree.WorldGenPalmTree3;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenPineTree;
|
import biomesoplenty.worldgen.tree.WorldGenPineTree;
|
||||||
|
@ -26,7 +26,7 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class BlockBOPColorizedSapling extends BlockSapling
|
public class BlockBOPColorizedSapling extends BlockSapling
|
||||||
{
|
{
|
||||||
private static final String[] saplings = new String[] {"acacia", "mangrove", "palm", "redwood", "willow", "pine"};
|
private static final String[] saplings = new String[] {"acacia", "mangrove", "palm", "redwood", "willow", "pine", "sacredoak"};
|
||||||
private Icon[] textures;
|
private Icon[] textures;
|
||||||
private static final int TYPES = 15;
|
private static final int TYPES = 15;
|
||||||
|
|
||||||
|
@ -163,8 +163,8 @@ public class BlockBOPColorizedSapling extends BlockSapling
|
||||||
obj = new WorldGenPineTree();
|
obj = new WorldGenPineTree();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6: // Hellbark
|
case 6: // Sacred Oak
|
||||||
obj = new WorldGenNetherBush();
|
obj = new WorldGenMassiveTree(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,7 +226,7 @@ public class BOPBiomes {
|
||||||
Biomes.lushSwamp = Optional.of((new BiomeGenLushSwamp(BOPConfigurationIDs.lushSwampID)).setColor(522674).setBiomeName("Lush Swamp").func_76733_a(9154376).setMinMaxHeight(0.2F, 0.3F).setTemperatureRainfall(0.7F, 1.0F));
|
Biomes.lushSwamp = Optional.of((new BiomeGenLushSwamp(BOPConfigurationIDs.lushSwampID)).setColor(522674).setBiomeName("Lush Swamp").func_76733_a(9154376).setMinMaxHeight(0.2F, 0.3F).setTemperatureRainfall(0.7F, 1.0F));
|
||||||
Biomes.mangrove = Optional.of((new BiomeGenMangrove(BOPConfigurationIDs.mangroveID)).setColor(16440917).setBiomeName("Mangrove").setMinMaxHeight(0.1F, 0.3F).setTemperatureRainfall(0.8F, 0.9F));
|
Biomes.mangrove = Optional.of((new BiomeGenMangrove(BOPConfigurationIDs.mangroveID)).setColor(16440917).setBiomeName("Mangrove").setMinMaxHeight(0.1F, 0.3F).setTemperatureRainfall(0.8F, 0.9F));
|
||||||
Biomes.mapleWoods = Optional.of((new BiomeGenMapleWoods(BOPConfigurationIDs.mapleWoodsID)).setColor(747097).setBiomeName("Maple Woods").func_76733_a(5159473).setTemperatureRainfall(0.2F, 0.8F).setMinMaxHeight(0.3F, 0.6F));
|
Biomes.mapleWoods = Optional.of((new BiomeGenMapleWoods(BOPConfigurationIDs.mapleWoodsID)).setColor(747097).setBiomeName("Maple Woods").func_76733_a(5159473).setTemperatureRainfall(0.2F, 0.8F).setMinMaxHeight(0.3F, 0.6F));
|
||||||
Biomes.marsh = Optional.of((new BiomeGenMarsh(BOPConfigurationIDs.marshID)).setColor(10486015).setBiomeName("Marsh").setMinMaxHeight(0.2F, 0.3F).setTemperatureRainfall(0.5F, 0.9F));
|
Biomes.marsh = Optional.of((new BiomeGenMarsh(BOPConfigurationIDs.marshID)).setColor(10486015).setBiomeName("Marsh").setMinMaxHeight(0.2F, 0.2F).setTemperatureRainfall(0.5F, 0.9F));
|
||||||
Biomes.meadow = Optional.of((new BiomeGenMeadow(BOPConfigurationIDs.meadowID)).setColor(9286496).setBiomeName("Meadow").setTemperatureRainfall(0.7F, 0.7F));
|
Biomes.meadow = Optional.of((new BiomeGenMeadow(BOPConfigurationIDs.meadowID)).setColor(9286496).setBiomeName("Meadow").setTemperatureRainfall(0.7F, 0.7F));
|
||||||
Biomes.meadowForest = Optional.of((new BiomeGenMeadowForest(BOPConfigurationIDs.meadowForestID)).setColor(9286496).setBiomeName("Meadow Forest").setTemperatureRainfall(0.7F, 0.7F));
|
Biomes.meadowForest = Optional.of((new BiomeGenMeadowForest(BOPConfigurationIDs.meadowForestID)).setColor(9286496).setBiomeName("Meadow Forest").setTemperatureRainfall(0.7F, 0.7F));
|
||||||
Biomes.mesa = Optional.of((new BiomeGenMesa(BOPConfigurationIDs.mesaID)).setColor(16421912).setBiomeName("Mesa").setDisableRain().setTemperatureRainfall(2.0F, 0.05F).setMinMaxHeight(0.4F, 2.0F));
|
Biomes.mesa = Optional.of((new BiomeGenMesa(BOPConfigurationIDs.mesaID)).setColor(16421912).setBiomeName("Mesa").setDisableRain().setTemperatureRainfall(2.0F, 0.05F).setMinMaxHeight(0.4F, 2.0F));
|
||||||
|
@ -285,8 +285,8 @@ public class BOPBiomes {
|
||||||
Biomes.timberThin = Optional.of((new BiomeGenTimberThin(BOPConfigurationIDs.timberThinID)).setColor(353825).setBiomeName("Thinned Timber").func_76733_a(5159473).setTemperatureRainfall(0.7F, 0.8F).setMinMaxHeight(0.3F, 0.4F));
|
Biomes.timberThin = Optional.of((new BiomeGenTimberThin(BOPConfigurationIDs.timberThinID)).setColor(353825).setBiomeName("Thinned Timber").func_76733_a(5159473).setTemperatureRainfall(0.7F, 0.8F).setMinMaxHeight(0.3F, 0.4F));
|
||||||
Biomes.tropicalRainforest = Optional.of((new BiomeGenTropicalRainforest(BOPConfigurationIDs.tropicalRainforestID)).setColor(9286496).setBiomeName("Tropical Rainforest").setTemperatureRainfall(1.2F, 0.9F).setMinMaxHeight(0.3F, 0.7F));
|
Biomes.tropicalRainforest = Optional.of((new BiomeGenTropicalRainforest(BOPConfigurationIDs.tropicalRainforestID)).setColor(9286496).setBiomeName("Tropical Rainforest").setTemperatureRainfall(1.2F, 0.9F).setMinMaxHeight(0.3F, 0.7F));
|
||||||
|
|
||||||
Biomes.tropics = Optional.of((new BiomeGenTropics(BOPConfigurationIDs.tropicsID)).setColor(9286496).setBiomeName("Tropics").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.1F, 0.5F));
|
Biomes.tropics = Optional.of((new BiomeGenTropics(BOPConfigurationIDs.tropicsID)).setColor(9286496).setBiomeName("Tropics").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.0F, 0.4F));
|
||||||
Biomes.tropicsMountain = Optional.of((new BiomeGenTropics(BOPConfigurationIDs.tropicsMountainID)).setColor(9286496).setBiomeName("Tropics Mountain").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.5F, 1.1F));
|
Biomes.tropicsMountain = Optional.of((new BiomeGenTropics(BOPConfigurationIDs.tropicsMountainID)).setColor(9286496).setBiomeName("Tropics Mountain").setTemperatureRainfall(2.0F, 2.0F).setMinMaxHeight(0.4F, 1.2F));
|
||||||
|
|
||||||
Biomes.tundra = Optional.of((new BiomeGenTundra(BOPConfigurationIDs.tundraID)).setColor(14090235).setBiomeName("Tundra").setTemperatureRainfall(0.2F, 0.8F).setMinMaxHeight(0.1F, 0.3F));
|
Biomes.tundra = Optional.of((new BiomeGenTundra(BOPConfigurationIDs.tundraID)).setColor(14090235).setBiomeName("Tundra").setTemperatureRainfall(0.2F, 0.8F).setMinMaxHeight(0.1F, 0.3F));
|
||||||
Biomes.volcano = Optional.of((new BiomeGenVolcano(BOPConfigurationIDs.volcanoID)).setColor(9286496).setBiomeName("Volcano").setDisableRain().setMinMaxHeight(0.6F, 0.9F).setTemperatureRainfall(2.0F, 0.05F));
|
Biomes.volcano = Optional.of((new BiomeGenVolcano(BOPConfigurationIDs.volcanoID)).setColor(9286496).setBiomeName("Volcano").setDisableRain().setMinMaxHeight(0.6F, 0.9F).setTemperatureRainfall(2.0F, 0.05F));
|
||||||
|
|
|
@ -47,6 +47,7 @@ public class BOPVanillaCompat {
|
||||||
dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 15), 1, 2, 5));
|
dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 15), 1, 2, 5));
|
||||||
dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(), 1, 0), 1, 1, 15));
|
dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(), 1, 0), 1, 1, 15));
|
||||||
dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(), 1, 0), 1, 1, 10));
|
dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(), 1, 0), 1, 1, 10));
|
||||||
|
dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.colorizedSaplings.get(),1,6), 1, 1, 1));
|
||||||
|
|
||||||
mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 1), 2, 8, 25));
|
mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 1), 2, 8, 25));
|
||||||
mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 10), 1, 3, 10));
|
mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 10), 1, 3, 10));
|
||||||
|
@ -70,9 +71,11 @@ public class BOPVanillaCompat {
|
||||||
|
|
||||||
desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 20));
|
desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 20));
|
||||||
desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 15));
|
desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 15));
|
||||||
|
desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.colorizedSaplings.get(),1,6), 1, 1, 1));
|
||||||
|
|
||||||
jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 20));
|
jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 20));
|
||||||
jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 15));
|
jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 15));
|
||||||
|
jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.colorizedSaplings.get(),1,6), 1, 1, 1));
|
||||||
|
|
||||||
village.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.plants.get(),1,5), 2, 6, 25));
|
village.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.plants.get(),1,5), 2, 6, 25));
|
||||||
village.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 1), 2, 8, 25));
|
village.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 1), 2, 8, 25));
|
||||||
|
|
|
@ -164,7 +164,7 @@ public class AchievementHelper
|
||||||
achLushSwamp = (new Achievement(3118, "achLushSwamp", -4, 0, new ItemStack(Blocks.ivy.get(), 1, 0), achBOP)).registerAchievement();
|
achLushSwamp = (new Achievement(3118, "achLushSwamp", -4, 0, new ItemStack(Blocks.ivy.get(), 1, 0), achBOP)).registerAchievement();
|
||||||
achMangrove = (new Achievement(3119, "achMangrove", -2, 0, new ItemStack(Blocks.colorizedSaplings.get(), 1, 1), achBOP)).registerAchievement();
|
achMangrove = (new Achievement(3119, "achMangrove", -2, 0, new ItemStack(Blocks.colorizedSaplings.get(), 1, 1), achBOP)).registerAchievement();
|
||||||
achMapleWoods = (new Achievement(3120, "achMapleWoods", 0, 0, new ItemStack(Blocks.saplings.get(), 1, 11), achBOP)).registerAchievement();
|
achMapleWoods = (new Achievement(3120, "achMapleWoods", 0, 0, new ItemStack(Blocks.saplings.get(), 1, 11), achBOP)).registerAchievement();
|
||||||
achMarsh = (new Achievement(3121, "achMarsh", 2, 0, new ItemStack(Item.bucketWater, 1, 0), achBOP)).registerAchievement();
|
achMarsh = (new Achievement(3121, "achMarsh", 2, 0, new ItemStack(Blocks.plants.get(), 1, 14), achBOP)).registerAchievement();
|
||||||
achMeadow = (new Achievement(3122, "achMeadow", 4, 0, new ItemStack(Blocks.flowers.get(), 1, 4), achBOP)).registerAchievement();
|
achMeadow = (new Achievement(3122, "achMeadow", 4, 0, new ItemStack(Blocks.flowers.get(), 1, 4), achBOP)).registerAchievement();
|
||||||
achMesa = (new Achievement(3123, "achMesa", 6, 0, new ItemStack(Blocks.redRock.get(), 1, 0), achBOP)).registerAchievement();
|
achMesa = (new Achievement(3123, "achMesa", 6, 0, new ItemStack(Blocks.redRock.get(), 1, 0), achBOP)).registerAchievement();
|
||||||
achMoor = (new Achievement(3124, "achMoor", 8, 0, new ItemStack(Blocks.flowers.get(), 1, 1), achBOP)).registerAchievement();
|
achMoor = (new Achievement(3124, "achMoor", 8, 0, new ItemStack(Blocks.flowers.get(), 1, 1), achBOP)).registerAchievement();
|
||||||
|
@ -189,7 +189,7 @@ public class AchievementHelper
|
||||||
achScrubland = (new Achievement(3141, "achScrubland", -2, 4, new ItemStack(Block.tallGrass, 1, 0), achBOP)).registerAchievement();
|
achScrubland = (new Achievement(3141, "achScrubland", -2, 4, new ItemStack(Block.tallGrass, 1, 0), achBOP)).registerAchievement();
|
||||||
achSeasonalForest = (new Achievement(3142, "achSeasonalForest", 0, 4, new ItemStack(Blocks.saplings.get(), 1, 8), achBOP)).registerAchievement();
|
achSeasonalForest = (new Achievement(3142, "achSeasonalForest", 0, 4, new ItemStack(Blocks.saplings.get(), 1, 8), achBOP)).registerAchievement();
|
||||||
achShield = (new Achievement(3143, "achShield", 2, 4, new ItemStack(Blocks.moss.get(), 1, 0), achBOP)).registerAchievement();
|
achShield = (new Achievement(3143, "achShield", 2, 4, new ItemStack(Blocks.moss.get(), 1, 0), achBOP)).registerAchievement();
|
||||||
achShrubland = (new Achievement(3144, "achShrubland", 4, 4, new ItemStack(Blocks.foliage.get(), 1, 1), achBOP)).registerAchievement();
|
achShrubland = (new Achievement(3144, "achShrubland", 4, 4, new ItemStack(Blocks.foliage.get(), 1, 9), achBOP)).registerAchievement();
|
||||||
achSilkglades = (new Achievement(3145, "achSilkglades", 6, 4, new ItemStack(Block.web, 1, 0), achBOP)).registerAchievement();
|
achSilkglades = (new Achievement(3145, "achSilkglades", 6, 4, new ItemStack(Block.web, 1, 0), achBOP)).registerAchievement();
|
||||||
achSludgepit = (new Achievement(3146, "achSludgepit", 8, 4, new ItemStack(Blocks.foliage.get(), 1, 0), achBOP)).registerAchievement().setSpecial();
|
achSludgepit = (new Achievement(3146, "achSludgepit", 8, 4, new ItemStack(Blocks.foliage.get(), 1, 0), achBOP)).registerAchievement().setSpecial();
|
||||||
achSpruceWoods = (new Achievement(3147, "achSpruceWoods", 10, 4, new ItemStack(Blocks.flowers2.get(), 1, 5), achBOP)).registerAchievement();
|
achSpruceWoods = (new Achievement(3147, "achSpruceWoods", 10, 4, new ItemStack(Blocks.flowers2.get(), 1, 5), achBOP)).registerAchievement();
|
||||||
|
@ -201,7 +201,7 @@ public class AchievementHelper
|
||||||
achTropicalRainforest = (new Achievement(3152, "achTropicalRainforest", -2, 6, new ItemStack(Blocks.flowers.get(), 1, 5), achBOP)).registerAchievement();
|
achTropicalRainforest = (new Achievement(3152, "achTropicalRainforest", -2, 6, new ItemStack(Blocks.flowers.get(), 1, 5), achBOP)).registerAchievement();
|
||||||
achTropics = (new Achievement(3153, "achTropics", 0, 6, new ItemStack(Blocks.colorizedSaplings.get(), 1, 2), achBOP)).registerAchievement();
|
achTropics = (new Achievement(3153, "achTropics", 0, 6, new ItemStack(Blocks.colorizedSaplings.get(), 1, 2), achBOP)).registerAchievement();
|
||||||
achTundra = (new Achievement(3154, "achTundra", 2, 6, new ItemStack(Block.gravel, 1, 0), achBOP)).registerAchievement();
|
achTundra = (new Achievement(3154, "achTundra", 2, 6, new ItemStack(Block.gravel, 1, 0), achBOP)).registerAchievement();
|
||||||
achVolcano = (new Achievement(3155, "achVolcano", 4, 6, new ItemStack(Item.bucketLava, 1, 0), achBOP)).registerAchievement();
|
achVolcano = (new Achievement(3155, "achVolcano", 4, 6, new ItemStack(Blocks.ash.get(), 1, 0), achBOP)).registerAchievement();
|
||||||
achWasteland = (new Achievement(3156, "achWasteland", 6, 6, new ItemStack(Blocks.driedDirt.get(), 1, 0), achBOP)).registerAchievement().setSpecial();
|
achWasteland = (new Achievement(3156, "achWasteland", 6, 6, new ItemStack(Blocks.driedDirt.get(), 1, 0), achBOP)).registerAchievement().setSpecial();
|
||||||
achWetland = (new Achievement(3157, "achWetland", 8, 6, new ItemStack(Blocks.plants.get(), 1, 7), achBOP)).registerAchievement();
|
achWetland = (new Achievement(3157, "achWetland", 8, 6, new ItemStack(Blocks.plants.get(), 1, 7), achBOP)).registerAchievement();
|
||||||
achWoodland = (new Achievement(3158, "achWoodland", 10, 6, new ItemStack(Blocks.mushrooms.get(), 1, 0), achBOP)).registerAchievement();
|
achWoodland = (new Achievement(3158, "achWoodland", 10, 6, new ItemStack(Blocks.mushrooms.get(), 1, 0), achBOP)).registerAchievement();
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.util.Icon;
|
||||||
|
|
||||||
public class ItemBlockColorizedSapling extends ItemBlock
|
public class ItemBlockColorizedSapling extends ItemBlock
|
||||||
{
|
{
|
||||||
private static final String[] saplings = new String[] {"acacia", "mangrove", "palm", "redwood", "willow", "pine"};
|
private static final String[] saplings = new String[] {"acacia", "mangrove", "palm", "redwood", "willow", "pine", "sacredoak"};
|
||||||
|
|
||||||
public ItemBlockColorizedSapling(int par1)
|
public ItemBlockColorizedSapling(int par1)
|
||||||
{
|
{
|
||||||
|
|
69
common/biomesoplenty/worldgen/WorldGenRedwoodShrub.java
Normal file
69
common/biomesoplenty/worldgen/WorldGenRedwoodShrub.java
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
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 WorldGenRedwoodShrub extends WorldGenerator
|
||||||
|
{
|
||||||
|
private int field_76527_a;
|
||||||
|
private int field_76526_b;
|
||||||
|
|
||||||
|
public WorldGenRedwoodShrub(int par1, int par2)
|
||||||
|
{
|
||||||
|
field_76526_b = par1;
|
||||||
|
field_76527_a = par2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
||||||
|
{
|
||||||
|
int var15;
|
||||||
|
|
||||||
|
for (boolean var6 = false; ((var15 = par1World.getBlockId(par3, par4, par5)) == 0 || var15 == Blocks.leavesColorized.get().blockID) && par4 > 0; --par4)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
int var7 = par1World.getBlockId(par3, par4, par5);
|
||||||
|
int var77 = par1World.getBlockMetadata(par3, par4, par5);
|
||||||
|
|
||||||
|
if (var7 == Blocks.logs3.get().blockID)
|
||||||
|
{
|
||||||
|
if (var77 == 0)
|
||||||
|
{
|
||||||
|
if (par1World.isAirBlock(par3 - 1, par4, par5) || par1World.isAirBlock(par3 + 1, par4, par5) || par1World.isAirBlock(par3, par4, par5 - 1) || par1World.isAirBlock(par3, par4, par5 + 1))
|
||||||
|
{
|
||||||
|
++par4;
|
||||||
|
this.setBlockAndMetadata(par1World, par3, par4, par5, Blocks.logs3.get().blockID,0);
|
||||||
|
|
||||||
|
for (int var8 = par4; var8 <= par4 + 1; ++var8)
|
||||||
|
{
|
||||||
|
int var9 = var8 - par4;
|
||||||
|
int var10 = 2 - var9;
|
||||||
|
|
||||||
|
for (int var11 = par3 - var10; var11 <= par3 + var10; ++var11)
|
||||||
|
{
|
||||||
|
int var12 = var11 - par3;
|
||||||
|
|
||||||
|
for (int var13 = par5 - var10; var13 <= par5 + var10; ++var13)
|
||||||
|
{
|
||||||
|
int var14 = var13 - par5;
|
||||||
|
|
||||||
|
if ((Math.abs(var12) != var10 || Math.abs(var14) != var10 || par2Random.nextInt(2) != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var11, var8, var13)])
|
||||||
|
{
|
||||||
|
this.setBlockAndMetadata(par1World, var11, var8, var13, Blocks.leavesColorized.get().blockID, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
106
common/biomesoplenty/worldgen/WorldGenTropicsShrub.java
Normal file
106
common/biomesoplenty/worldgen/WorldGenTropicsShrub.java
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
package biomesoplenty.worldgen;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
|
||||||
|
public class WorldGenTropicsShrub extends WorldGenerator
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
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 != Block.grass.blockID && var6 != Block.sand.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, Block.dirt.blockID);
|
||||||
|
var1.setBlock(var3, var4 + 1, var5, Block.wood.blockID, 3, 2);
|
||||||
|
var1.setBlock(var3, var4 + 2, var5, Block.wood.blockID, 3, 2);
|
||||||
|
var1.setBlock(var3 + 1, var4 + 2, var5, Block.leaves.blockID, 3, 2);
|
||||||
|
var1.setBlock(var3 - 1, var4 + 2, var5, Block.leaves.blockID, 3, 2);
|
||||||
|
var1.setBlock(var3, var4 + 2, var5 + 1, Block.leaves.blockID, 3, 2);
|
||||||
|
var1.setBlock(var3, var4 + 2, var5 - 1, Block.leaves.blockID, 3, 2);
|
||||||
|
var1.setBlock(var3, var4 + 3, var5, Block.leaves.blockID, 3, 2);
|
||||||
|
|
||||||
|
int var999 = var2.nextInt(12);
|
||||||
|
int var998 = var2.nextInt(4);
|
||||||
|
|
||||||
|
if (var998 == 0)
|
||||||
|
{
|
||||||
|
if (var999 == 0)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3 - 1, var4 + 1, var5, Block.cocoaPlant.blockID, 11, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 1)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3 + 1, var4 + 1, var5, Block.cocoaPlant.blockID, 9, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 2)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3, var4 + 1, var5 - 1, Block.cocoaPlant.blockID, 8, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 3)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3, var4 + 1, var5 + 1, Block.cocoaPlant.blockID, 10, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (var998 == 1)
|
||||||
|
{
|
||||||
|
if (var999 == 0)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3 - 1, var4 + 1, var5, Block.cocoaPlant.blockID, 7, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 1)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3 + 1, var4 + 1, var5, Block.cocoaPlant.blockID, 5, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 2)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3, var4 + 1, var5 - 1, Block.cocoaPlant.blockID, 4, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 3)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3, var4 + 1, var5 + 1, Block.cocoaPlant.blockID, 6, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (var998 == 2)
|
||||||
|
{
|
||||||
|
if (var999 == 0)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3 - 1, var4 + 1, var5, Block.cocoaPlant.blockID, 3, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 1)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3 + 1, var4 + 1, var5, Block.cocoaPlant.blockID, 1, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 2)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3, var4 + 1, var5 - 1, Block.cocoaPlant.blockID, 0, 2);
|
||||||
|
}
|
||||||
|
if (var999 == 3)
|
||||||
|
{
|
||||||
|
var1.setBlock(var3, var4 + 1, var5 + 1, Block.cocoaPlant.blockID, 2, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,37 +15,17 @@ public class WorldGenWaterReeds extends WorldGenerator
|
||||||
for (int var6 = 0; var6 < 64; ++var6)
|
for (int var6 = 0; var6 < 64; ++var6)
|
||||||
{
|
{
|
||||||
int var7 = par3 + par2Random.nextInt(8) - par2Random.nextInt(8);
|
int var7 = par3 + par2Random.nextInt(8) - par2Random.nextInt(8);
|
||||||
int var8 = par4 + par2Random.nextInt(4) - par2Random.nextInt(4);
|
int var8 = par4 + par2Random.nextInt(2) - par2Random.nextInt(2);
|
||||||
int var9 = par5 + par2Random.nextInt(8) - par2Random.nextInt(8);
|
int var9 = par5 + par2Random.nextInt(8) - par2Random.nextInt(8);
|
||||||
|
|
||||||
int var998 = par2Random.nextInt(64);
|
|
||||||
int var999 = par2Random.nextInt(32);
|
|
||||||
|
|
||||||
if (par1World.isAirBlock(var7, var8, var9) && par1World.getBlockId(var7, var8 - 1, var9) == Block.waterStill.blockID)
|
if (par1World.isAirBlock(var7, var8, var9) && par1World.getBlockId(var7, var8 - 1, var9) == Block.waterStill.blockID)
|
||||||
{
|
{
|
||||||
if (par1World.getBlockId(var7, var8 - 2, var9) != Block.waterStill.blockID)
|
for (int var900 = 5; var900 > -5; --var900)
|
||||||
|
{
|
||||||
|
if (par1World.getBlockId(var7 - var900, var8 - 1, var9 - var900) != Block.waterStill.blockID && par1World.getBlockId(var7 - var900, var8 - 1, var9 - var900) != Block.waterMoving.blockID)
|
||||||
{
|
{
|
||||||
par1World.setBlock(var7, var8, var9, Blocks.plants.get().blockID, 14, 2);
|
par1World.setBlock(var7, var8, var9, Blocks.plants.get().blockID, 14, 2);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (par1World.getBlockId(var7, var8 - 3, var9) != Block.waterStill.blockID)
|
|
||||||
{
|
|
||||||
if (var999 == 0)
|
|
||||||
{
|
|
||||||
par1World.setBlock(var7, var8, var9, Blocks.plants.get().blockID, 14, 2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (par1World.getBlockId(var7, var8 - 4, var9) != Block.waterStill.blockID)
|
|
||||||
{
|
|
||||||
if (var998 == 0)
|
|
||||||
{
|
|
||||||
par1World.setBlock(var7, var8, var9, Blocks.plants.get().blockID, 14, 2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
514
common/biomesoplenty/worldgen/tree/WorldGenMassiveTree.java
Normal file
514
common/biomesoplenty/worldgen/tree/WorldGenMassiveTree.java
Normal file
|
@ -0,0 +1,514 @@
|
||||||
|
package biomesoplenty.worldgen.tree;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
|
||||||
|
public class WorldGenMassiveTree extends WorldGenerator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Contains three sets of two values that provide complimentary indices for a given 'major' index - 1 and 2 for 0, 0
|
||||||
|
* and 2 for 1, and 0 and 1 for 2.
|
||||||
|
*/
|
||||||
|
static final byte[] otherCoordPairs = new byte[] {(byte)2, (byte)0, (byte)0, (byte)1, (byte)2, (byte)1};
|
||||||
|
|
||||||
|
/** random seed for GenBigTree */
|
||||||
|
Random rand = new Random();
|
||||||
|
|
||||||
|
/** Reference to the World object. */
|
||||||
|
World worldObj;
|
||||||
|
int[] basePos = new int[] {0, 0, 0};
|
||||||
|
int heightLimit = 0;
|
||||||
|
int height;
|
||||||
|
double heightAttenuation = 0.45D;
|
||||||
|
double branchDensity = 5.0D;
|
||||||
|
double branchSlope = 0.45D;
|
||||||
|
double scaleWidth = 4.0D;
|
||||||
|
double leafDensity = 5.0D;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Currently always 1, can be set to 2 in the class constructor to generate a double-sized tree trunk for big trees.
|
||||||
|
*/
|
||||||
|
int trunkSize = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the limit of the random value used to initialize the height limit.
|
||||||
|
*/
|
||||||
|
int heightLimitLimit = 45;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the distance limit for how far away the generator will populate leaves from the base leaf node.
|
||||||
|
*/
|
||||||
|
int leafDistanceLimit = 4;
|
||||||
|
|
||||||
|
/** Contains a list of a points at which to generate groups of leaves. */
|
||||||
|
int[][] leafNodes;
|
||||||
|
|
||||||
|
public WorldGenMassiveTree(boolean par1)
|
||||||
|
{
|
||||||
|
super(par1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates a list of leaf nodes for the tree, to be populated by generateLeaves.
|
||||||
|
*/
|
||||||
|
void generateLeafNodeList()
|
||||||
|
{
|
||||||
|
height = (int)(heightLimit * heightAttenuation);
|
||||||
|
|
||||||
|
if (height >= heightLimit)
|
||||||
|
{
|
||||||
|
height = heightLimit - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int var1 = (int)(1.382D + Math.pow(leafDensity * heightLimit / 13.0D, 2.0D));
|
||||||
|
|
||||||
|
if (var1 < 1)
|
||||||
|
{
|
||||||
|
var1 = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int[][] var2 = new int[var1 * heightLimit][4];
|
||||||
|
int var3 = basePos[1] + heightLimit - leafDistanceLimit;
|
||||||
|
int var4 = 1;
|
||||||
|
int var5 = basePos[1] + height;
|
||||||
|
int var6 = var3 - basePos[1];
|
||||||
|
var2[0][0] = basePos[0];
|
||||||
|
var2[0][1] = var3;
|
||||||
|
var2[0][2] = basePos[2];
|
||||||
|
var2[0][3] = var5;
|
||||||
|
--var3;
|
||||||
|
|
||||||
|
while (var6 >= 0)
|
||||||
|
{
|
||||||
|
int var7 = 0;
|
||||||
|
float var8 = this.layerSize(var6);
|
||||||
|
|
||||||
|
if (var8 < 0.0F)
|
||||||
|
{
|
||||||
|
--var3;
|
||||||
|
--var6;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (double var9 = 0.5D; var7 < var1; ++var7)
|
||||||
|
{
|
||||||
|
double var11 = scaleWidth * var8 * (rand.nextFloat() + 0.328D);
|
||||||
|
double var13 = rand.nextFloat() * 2.0D * Math.PI;
|
||||||
|
int var15 = MathHelper.floor_double(var11 * Math.sin(var13) + basePos[0] + var9);
|
||||||
|
int var16 = MathHelper.floor_double(var11 * Math.cos(var13) + basePos[2] + var9);
|
||||||
|
int[] var17 = new int[] {var15, var3, var16};
|
||||||
|
int[] var18 = new int[] {var15, var3 + leafDistanceLimit, var16};
|
||||||
|
|
||||||
|
if (this.checkBlockLine(var17, var18) == -1)
|
||||||
|
{
|
||||||
|
int[] var19 = new int[] {basePos[0], basePos[1], basePos[2]};
|
||||||
|
double var20 = Math.sqrt(Math.pow(Math.abs(basePos[0] - var17[0]), 2.0D) + Math.pow(Math.abs(basePos[2] - var17[2]), 2.0D));
|
||||||
|
double var22 = var20 * branchSlope;
|
||||||
|
|
||||||
|
if (var17[1] - var22 > var5)
|
||||||
|
{
|
||||||
|
var19[1] = var5;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var19[1] = (int)(var17[1] - var22);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.checkBlockLine(var19, var17) == -1)
|
||||||
|
{
|
||||||
|
var2[var4][0] = var15;
|
||||||
|
var2[var4][1] = var3;
|
||||||
|
var2[var4][2] = var16;
|
||||||
|
var2[var4][3] = var19[1];
|
||||||
|
++var4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--var3;
|
||||||
|
--var6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
leafNodes = new int[var4][4];
|
||||||
|
System.arraycopy(var2, 0, leafNodes, 0, var4);
|
||||||
|
}
|
||||||
|
|
||||||
|
void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6)
|
||||||
|
{
|
||||||
|
int var7 = (int)(par4 + 0.618D);
|
||||||
|
byte var8 = otherCoordPairs[par5];
|
||||||
|
byte var9 = otherCoordPairs[par5 + 3];
|
||||||
|
int[] var10 = new int[] {par1, par2, par3};
|
||||||
|
int[] var11 = new int[] {0, 0, 0};
|
||||||
|
int var12 = -var7;
|
||||||
|
int var13 = -var7;
|
||||||
|
|
||||||
|
for (var11[par5] = var10[par5]; var12 <= var7; ++var12)
|
||||||
|
{
|
||||||
|
var11[var8] = var10[var8] + var12;
|
||||||
|
var13 = -var7;
|
||||||
|
|
||||||
|
while (var13 <= var7)
|
||||||
|
{
|
||||||
|
double var15 = Math.pow(Math.abs(var12) + 0.5D, 2.0D) + Math.pow(Math.abs(var13) + 0.5D, 2.0D);
|
||||||
|
|
||||||
|
if (var15 > par4 * par4)
|
||||||
|
{
|
||||||
|
++var13;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var11[var9] = var10[var9] + var13;
|
||||||
|
int var14 = worldObj.getBlockId(var11[0], var11[1], var11[2]);
|
||||||
|
|
||||||
|
if (var14 != 0 && var14 != Block.leaves.blockID)
|
||||||
|
{
|
||||||
|
++var13;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.setBlockAndMetadata(worldObj, var11[0], var11[1], var11[2], par6, 4);
|
||||||
|
++var13;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the rough size of a layer of the tree.
|
||||||
|
*/
|
||||||
|
float layerSize(int par1)
|
||||||
|
{
|
||||||
|
if (par1 < (heightLimit) * 0.3D)
|
||||||
|
return -1.618F;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
float var2 = heightLimit / 2.0F;
|
||||||
|
float var3 = heightLimit / 2.0F - par1;
|
||||||
|
float var4;
|
||||||
|
|
||||||
|
if (var3 == 0.0F)
|
||||||
|
{
|
||||||
|
var4 = var2;
|
||||||
|
}
|
||||||
|
else if (Math.abs(var3) >= var2)
|
||||||
|
{
|
||||||
|
var4 = 0.0F;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var4 = (float)Math.sqrt(Math.pow(Math.abs(var2), 2.0D) - Math.pow(Math.abs(var3), 2.0D));
|
||||||
|
}
|
||||||
|
|
||||||
|
var4 *= 0.5F;
|
||||||
|
return var4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float leafSize(int par1)
|
||||||
|
{
|
||||||
|
return par1 >= 0 && par1 < leafDistanceLimit ? (par1 != 0 && par1 != leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates the leaves surrounding an individual entry in the leafNodes list.
|
||||||
|
*/
|
||||||
|
void generateLeafNode(int par1, int par2, int par3)
|
||||||
|
{
|
||||||
|
int var4 = par2;
|
||||||
|
|
||||||
|
for (int var5 = par2 + leafDistanceLimit; var4 < var5; ++var4)
|
||||||
|
{
|
||||||
|
float var6 = this.leafSize(var4 - par2);
|
||||||
|
this.genTreeLayer(par1, var4, par3, var6, (byte)1, Block.leaves.blockID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Places a line of the specified block ID into the world from the first coordinate triplet to the second.
|
||||||
|
*/
|
||||||
|
void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3)
|
||||||
|
{
|
||||||
|
int[] var4 = new int[] {0, 0, 0};
|
||||||
|
byte var5 = 0;
|
||||||
|
byte var6;
|
||||||
|
|
||||||
|
for (var6 = 0; var5 < 3; ++var5)
|
||||||
|
{
|
||||||
|
var4[var5] = par2ArrayOfInteger[var5] - par1ArrayOfInteger[var5];
|
||||||
|
|
||||||
|
if (Math.abs(var4[var5]) > Math.abs(var4[var6]))
|
||||||
|
{
|
||||||
|
var6 = var5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var4[var6] != 0)
|
||||||
|
{
|
||||||
|
byte var7 = otherCoordPairs[var6];
|
||||||
|
byte var8 = otherCoordPairs[var6 + 3];
|
||||||
|
byte var9;
|
||||||
|
|
||||||
|
if (var4[var6] > 0)
|
||||||
|
{
|
||||||
|
var9 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var9 = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
double var10 = (double)var4[var7] / (double)var4[var6];
|
||||||
|
double var12 = (double)var4[var8] / (double)var4[var6];
|
||||||
|
int[] var14 = new int[] {0, 0, 0};
|
||||||
|
int var15 = 0;
|
||||||
|
|
||||||
|
for (int var16 = var4[var6] + var9; var15 != var16; var15 += var9)
|
||||||
|
{
|
||||||
|
var14[var6] = MathHelper.floor_double(par1ArrayOfInteger[var6] + var15 + 0.5D);
|
||||||
|
var14[var7] = MathHelper.floor_double(par1ArrayOfInteger[var7] + var15 * var10 + 0.5D);
|
||||||
|
var14[var8] = MathHelper.floor_double(par1ArrayOfInteger[var8] + var15 * var12 + 0.5D);
|
||||||
|
byte var17 = 0;
|
||||||
|
int var18 = Math.abs(var14[0] - par1ArrayOfInteger[0]);
|
||||||
|
int var19 = Math.abs(var14[2] - par1ArrayOfInteger[2]);
|
||||||
|
int var20 = Math.max(var18, var19);
|
||||||
|
|
||||||
|
if (var20 > 0)
|
||||||
|
{
|
||||||
|
if (var18 == var20)
|
||||||
|
{
|
||||||
|
var17 = 4;
|
||||||
|
}
|
||||||
|
else if (var19 == var20)
|
||||||
|
{
|
||||||
|
var17 = 8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setBlockAndMetadata(worldObj, var14[0], var14[1], var14[2], par3, var17);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates the leaf portion of the tree as specified by the leafNodes list.
|
||||||
|
*/
|
||||||
|
void generateLeaves()
|
||||||
|
{
|
||||||
|
int var1 = 0;
|
||||||
|
|
||||||
|
for (int var2 = leafNodes.length; var1 < var2; ++var1)
|
||||||
|
{
|
||||||
|
int var3 = leafNodes[var1][0];
|
||||||
|
int var4 = leafNodes[var1][1];
|
||||||
|
int var5 = leafNodes[var1][2];
|
||||||
|
this.generateLeafNode(var3, var4, var5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates whether or not a leaf node requires additional wood to be added to preserve integrity.
|
||||||
|
*/
|
||||||
|
boolean leafNodeNeedsBase(int par1)
|
||||||
|
{
|
||||||
|
return par1 >= heightLimit * 0.2D;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Places the trunk for the big tree that is being generated. Able to generate double-sized trunks by changing a
|
||||||
|
* field that is always 1 to 2.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
void generateTrunk()
|
||||||
|
{
|
||||||
|
int var1 = basePos[0];
|
||||||
|
int var2 = basePos[1];
|
||||||
|
int var3 = basePos[1] + height;
|
||||||
|
int var4 = basePos[2];
|
||||||
|
|
||||||
|
int[] var5 = new int[] {var1, var2, var4};
|
||||||
|
int[] var6 = new int[] {var1, var3, var4};
|
||||||
|
|
||||||
|
if (trunkSize == 2)
|
||||||
|
{
|
||||||
|
for (int i = -2; i < 3; i++ )
|
||||||
|
{
|
||||||
|
var5[0] = var1 + i;
|
||||||
|
var6[0] = var1 + i;
|
||||||
|
|
||||||
|
for (int j = -2; j < 3; j++ )
|
||||||
|
{
|
||||||
|
if (!(i == -2 && j == -2) && !(i == -2 && j == 2) && !(i == 2 && j == -2) && !(i == 2 && j == 2))
|
||||||
|
{
|
||||||
|
var5[2] = var4 + j;
|
||||||
|
var6[2] = var4 + j;
|
||||||
|
this.placeBlockLine(var5, var6, Block.wood.blockID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates additional wood blocks to fill out the bases of different leaf nodes that would otherwise degrade.
|
||||||
|
*/
|
||||||
|
void generateLeafNodeBases()
|
||||||
|
{
|
||||||
|
int var1 = 0;
|
||||||
|
int var2 = leafNodes.length;
|
||||||
|
|
||||||
|
for (int[] var3 = new int[] {basePos[0], basePos[1], basePos[2]}; var1 < var2; ++var1)
|
||||||
|
{
|
||||||
|
int[] var4 = leafNodes[var1];
|
||||||
|
int[] var5 = new int[] {var4[0], var4[1], var4[2]};
|
||||||
|
var3[1] = var4[3];
|
||||||
|
int var6 = var3[1] - basePos[1];
|
||||||
|
|
||||||
|
if (this.leafNodeNeedsBase(var6))
|
||||||
|
{
|
||||||
|
this.placeBlockLine(var3, var5, Block.wood.blockID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks a line of blocks in the world from the first coordinate to triplet to the second, returning the distance
|
||||||
|
* (in blocks) before a non-air, non-leaf block is encountered and/or the end is encountered.
|
||||||
|
*/
|
||||||
|
int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger)
|
||||||
|
{
|
||||||
|
int[] var3 = new int[] {0, 0, 0};
|
||||||
|
byte var4 = 0;
|
||||||
|
byte var5;
|
||||||
|
|
||||||
|
for (var5 = 0; var4 < 3; ++var4)
|
||||||
|
{
|
||||||
|
var3[var4] = par2ArrayOfInteger[var4] - par1ArrayOfInteger[var4];
|
||||||
|
|
||||||
|
if (Math.abs(var3[var4]) > Math.abs(var3[var5]))
|
||||||
|
{
|
||||||
|
var5 = var4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var3[var5] == 0)
|
||||||
|
return -1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
byte var6 = otherCoordPairs[var5];
|
||||||
|
byte var7 = otherCoordPairs[var5 + 3];
|
||||||
|
byte var8;
|
||||||
|
|
||||||
|
if (var3[var5] > 0)
|
||||||
|
{
|
||||||
|
var8 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var8 = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
double var9 = (double)var3[var6] / (double)var3[var5];
|
||||||
|
double var11 = (double)var3[var7] / (double)var3[var5];
|
||||||
|
int[] var13 = new int[] {0, 0, 0};
|
||||||
|
int var14 = 0;
|
||||||
|
int var15;
|
||||||
|
|
||||||
|
for (var15 = var3[var5] + var8; var14 != var15; var14 += var8)
|
||||||
|
{
|
||||||
|
var13[var5] = par1ArrayOfInteger[var5] + var14;
|
||||||
|
var13[var6] = MathHelper.floor_double(par1ArrayOfInteger[var6] + var14 * var9);
|
||||||
|
var13[var7] = MathHelper.floor_double(par1ArrayOfInteger[var7] + var14 * var11);
|
||||||
|
int var16 = worldObj.getBlockId(var13[0], var13[1], var13[2]);
|
||||||
|
|
||||||
|
if (var16 != 0 && var16 != Block.leaves.blockID)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return var14 == var15 ? -1 : Math.abs(var14);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a boolean indicating whether or not the current location for the tree, spanning basePos to to the height
|
||||||
|
* limit, is valid.
|
||||||
|
*/
|
||||||
|
boolean validTreeLocation()
|
||||||
|
{
|
||||||
|
int[] var1 = new int[] {basePos[0], basePos[1], basePos[2]};
|
||||||
|
int[] var2 = new int[] {basePos[0], basePos[1] + heightLimit - 1, basePos[2]};
|
||||||
|
int var3 = worldObj.getBlockId(basePos[0], basePos[1] - 1, basePos[2]);
|
||||||
|
|
||||||
|
if (var3 != 2 && var3 != 3)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int var4 = this.checkBlockLine(var1, var2);
|
||||||
|
|
||||||
|
if (var4 == -1)
|
||||||
|
return true;
|
||||||
|
else if (var4 < 6)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
heightLimit = var4;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rescales the generator settings, only used in WorldGenBigTree
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setScale(double par1, double par3, double par5)
|
||||||
|
{
|
||||||
|
heightLimitLimit = (int)(par1 * 12.0D);
|
||||||
|
|
||||||
|
if (par1 > 0.5D)
|
||||||
|
{
|
||||||
|
leafDistanceLimit = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
scaleWidth = par3;
|
||||||
|
leafDensity = par5;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
||||||
|
{
|
||||||
|
worldObj = par1World;
|
||||||
|
long var6 = par2Random.nextLong();
|
||||||
|
rand.setSeed(var6);
|
||||||
|
basePos[0] = par3;
|
||||||
|
basePos[1] = par4;
|
||||||
|
basePos[2] = par5;
|
||||||
|
|
||||||
|
if (heightLimit == 0)
|
||||||
|
{
|
||||||
|
heightLimit = 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.validTreeLocation())
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.generateLeafNodeList();
|
||||||
|
this.generateLeaves();
|
||||||
|
this.generateTrunk();
|
||||||
|
this.generateLeafNodeBases();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package biomesoplenty.worldgen.tree;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
|
@ -20,7 +21,9 @@ public class WorldGenPalmTree1 extends WorldGenerator
|
||||||
int var6 = var1.getBlockId(var3, var4, var5);
|
int var6 = var1.getBlockId(var3, var4, var5);
|
||||||
|
|
||||||
if (var6 != Block.grass.blockID)
|
if (var6 != Block.grass.blockID)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (int var7 = -2; var7 <= 2; ++var7)
|
for (int var7 = -2; var7 <= 2; ++var7)
|
||||||
|
@ -28,189 +31,79 @@ public class WorldGenPalmTree1 extends WorldGenerator
|
||||||
for (int var8 = -2; var8 <= 2; ++var8)
|
for (int var8 = -2; var8 <= 2; ++var8)
|
||||||
{
|
{
|
||||||
if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8) && !var1.isAirBlock(var3 + var7, var4, var5 + var8))
|
if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8) && !var1.isAirBlock(var3 + var7, var4, var5 + var8))
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int var99 = var2.nextInt(4);
|
|
||||||
|
|
||||||
if (var99 == 0)
|
|
||||||
{
|
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 7, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 9, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 10, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 11, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 12, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 11, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 11, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 3, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 12, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 12, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 12, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 12, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 13, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 3, var4 + 13, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 13, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 3, var4 + 13, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 2, var4 + 13, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 14, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 14, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 14, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 14, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var99 == 1)
|
//settings========
|
||||||
|
double strength = var2.nextInt(35) / 100D;
|
||||||
|
//================
|
||||||
|
|
||||||
|
double xoff = 0;
|
||||||
|
double yoff = 0;
|
||||||
|
int r = var2.nextInt(4);
|
||||||
|
if(r == 0) { xoff = strength; }
|
||||||
|
else if(r == 1) { xoff = -strength; }
|
||||||
|
else if(r == 2) { yoff = strength; }
|
||||||
|
else { yoff = -strength; }
|
||||||
|
|
||||||
|
int h = 1;
|
||||||
|
buildBlock(var1, var3, var4, var5, Block.dirt.blockID, 0);
|
||||||
|
for(int b = 0; b < 10; b++)
|
||||||
{
|
{
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
buildBlock(var1, var3 + ((int) Math.floor(xoff)), var4 + h, var5 + ((int) Math.floor(yoff)), Blocks.logs2.get().blockID, 3);
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
if(b == 9)
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
{
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
generateTop(var1, var3 + ((int) Math.floor(xoff)), var4 + h, var5 + ((int) Math.floor(yoff)));
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 7, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 9, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 10, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 11, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 12, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 4, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 11, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 11, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 3, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 12, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 12, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 4, var4 + 12, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 4, var4 + 12, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 3, var4 + 13, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 13, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 3, var4 + 13, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 13, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 13, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 4, var4 + 14, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 14, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 14, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 14, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (var99 == 2)
|
|
||||||
{
|
{
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
h++;
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
xoff *= 1.3D;
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
yoff *= 1.3D;
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5 + 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 9, var5 + 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 + 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 + 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 + 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 11, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 11, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 12, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 12, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 + 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 12, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 12, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 13, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 13, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 13, var5 + 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 13, var5 + 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 13, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 14, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 14, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 14, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 14, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var99 == 3)
|
|
||||||
{
|
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5 - 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 9, var5 - 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 - 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 - 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 - 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 11, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 11, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 12, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 12, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 - 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 12, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 12, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 12, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 13, var5 - 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 13, var5 - 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 13, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 13, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 13, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 14, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 14, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 14, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 14, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void generateTop(World world, int x, int y, int z)
|
||||||
|
{
|
||||||
|
buildBlock(world, x + 2, y - 1, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y - 1, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y - 1, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y - 1, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
|
||||||
|
buildBlock(world, x + 1, y, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 1, y, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y, z + 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y, z - 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x + 2, y, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x + 2, y, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
|
||||||
|
buildBlock(world, x + 1, y + 1, z - 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 1, y + 1, z + 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x + 1, y + 1, z + 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 1, y + 1, z - 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y + 1, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
|
||||||
|
buildBlock(world, x + 2, y + 2, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y + 2, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y + 2, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y + 2, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void buildBlock(World world, int x, int y, int z, int id, int meta)
|
||||||
|
{
|
||||||
|
Material m = world.getBlockMaterial(x, y, z);
|
||||||
|
if(m == Material.air || m == Material.leaves)
|
||||||
|
{
|
||||||
|
world.setBlock(x, y, z, id, meta, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package biomesoplenty.worldgen.tree;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
|
@ -20,7 +21,9 @@ public class WorldGenPalmTree3 extends WorldGenerator
|
||||||
int var6 = var1.getBlockId(var3, var4, var5);
|
int var6 = var1.getBlockId(var3, var4, var5);
|
||||||
|
|
||||||
if (var6 != Block.grass.blockID)
|
if (var6 != Block.grass.blockID)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (int var7 = -2; var7 <= 2; ++var7)
|
for (int var7 = -2; var7 <= 2; ++var7)
|
||||||
|
@ -28,173 +31,79 @@ public class WorldGenPalmTree3 extends WorldGenerator
|
||||||
for (int var8 = -2; var8 <= 2; ++var8)
|
for (int var8 = -2; var8 <= 2; ++var8)
|
||||||
{
|
{
|
||||||
if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8) && !var1.isAirBlock(var3 + var7, var4, var5 + var8))
|
if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8) && !var1.isAirBlock(var3 + var7, var4, var5 + var8))
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int var99 = var2.nextInt(4);
|
|
||||||
|
|
||||||
if (var99 == 0)
|
|
||||||
{
|
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 5, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 7, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 7, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 7, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 7, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 7, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 3, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 9, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 3, var4 + 9, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 9, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 3, var4 + 9, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 2, var4 + 9, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 4, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 10, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 10, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var99 == 1)
|
//settings========
|
||||||
|
double strength = var2.nextInt(25) / 100D;
|
||||||
|
//================
|
||||||
|
|
||||||
|
double xoff = 0;
|
||||||
|
double yoff = 0;
|
||||||
|
int r = var2.nextInt(4);
|
||||||
|
if(r == 0) { xoff = strength; }
|
||||||
|
else if(r == 1) { xoff = -strength; }
|
||||||
|
else if(r == 2) { yoff = strength; }
|
||||||
|
else { yoff = -strength; }
|
||||||
|
|
||||||
|
int h = 1;
|
||||||
|
buildBlock(var1, var3, var4, var5, Block.dirt.blockID, 0);
|
||||||
|
for(int b = 0; b < 8; b++)
|
||||||
{
|
{
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
buildBlock(var1, var3 + ((int) Math.floor(xoff)), var4 + h, var5 + ((int) Math.floor(yoff)), Blocks.logs2.get().blockID, 3);
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
if(b == 7)
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
{
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
generateTop(var1, var3 + ((int) Math.floor(xoff)), var4 + h, var5 + ((int) Math.floor(yoff)));
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 5, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 7, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 4, var4 + 7, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 7, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 7, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 3, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 4, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 4, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 3, var4 + 9, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 9, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 3, var4 + 9, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 9, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 9, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 4, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 10, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 10, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (var99 == 2)
|
|
||||||
{
|
{
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
h++;
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
xoff *= 1.5D;
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
yoff *= 1.5D;
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5 + 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5 + 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5 + 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 7, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 7, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 9, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 9, var5 + 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 9, var5 + 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 9, var5 + 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 9, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 10, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 10, var5 + 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 + 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var99 == 3)
|
|
||||||
{
|
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5 - 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5 - 1, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5 - 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 2, Blocks.logs2.get().blockID, 3, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 7, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 7, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 9, var5 - 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 9, var5 - 3, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 9, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 9, var5 - 1, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 9, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 2, var4 + 10, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 10, var5 - 2, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 - 4, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 2, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void generateTop(World world, int x, int y, int z)
|
||||||
|
{
|
||||||
|
buildBlock(world, x + 2, y - 1, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y - 1, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y - 1, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y - 1, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
|
||||||
|
buildBlock(world, x + 1, y, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 1, y, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y, z + 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y, z - 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x + 2, y, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x + 2, y, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
|
||||||
|
buildBlock(world, x + 1, y + 1, z - 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 1, y + 1, z + 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x + 1, y + 1, z + 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 1, y + 1, z - 1, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y + 1, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
|
||||||
|
buildBlock(world, x + 2, y + 2, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x - 2, y + 2, z, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y + 2, z + 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
buildBlock(world, x, y + 2, z - 2, Blocks.leavesColorized.get().blockID, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void buildBlock(World world, int x, int y, int z, int id, int meta)
|
||||||
|
{
|
||||||
|
Material m = world.getBlockMaterial(x, y, z);
|
||||||
|
if(m == Material.air || m == Material.leaves)
|
||||||
|
{
|
||||||
|
world.setBlock(x, y, z, id, meta, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package biomesoplenty.worldgen.tree;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
|
@ -20,7 +21,9 @@ public class WorldGenPineTree extends WorldGenerator
|
||||||
int var6 = var1.getBlockId(var3, var4, var5);
|
int var6 = var1.getBlockId(var3, var4, var5);
|
||||||
|
|
||||||
if (var6 != Block.grass.blockID && var6 != Blocks.hardDirt.get().blockID && var6 != Block.stone.blockID && var6 != Block.dirt.blockID)
|
if (var6 != Block.grass.blockID && var6 != Blocks.hardDirt.get().blockID && var6 != Block.stone.blockID && var6 != Block.dirt.blockID)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (int var7 = -2; var7 <= 2; ++var7)
|
for (int var7 = -2; var7 <= 2; ++var7)
|
||||||
|
@ -28,137 +31,96 @@ public class WorldGenPineTree extends WorldGenerator
|
||||||
for (int var8 = -2; var8 <= 2; ++var8)
|
for (int var8 = -2; var8 <= 2; ++var8)
|
||||||
{
|
{
|
||||||
if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8) && !var1.isAirBlock(var3 + var7, var4, var5 + var8))
|
if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8) && !var1.isAirBlock(var3 + var7, var4, var5 + var8))
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int var99 = var2.nextInt(2);
|
|
||||||
|
|
||||||
if (var99 == 0)
|
|
||||||
{
|
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 9, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 6, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 6, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 10, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 10, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 10, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 10, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var99 == 1)
|
//settings========
|
||||||
|
int baselength = 4 + var2.nextInt(4);
|
||||||
|
int branches = 1 + var2.nextInt(3);
|
||||||
|
//================
|
||||||
|
|
||||||
|
int h = 1;
|
||||||
|
buildBlock(var1, var3, var4, var5, Block.dirt.blockID, 0);
|
||||||
|
for(int b = 0; b < baselength; b++)
|
||||||
{
|
{
|
||||||
var1.setBlock(var3, var4, var5, Block.dirt.blockID);
|
buildBlock(var1, var3, var4 + h, var5, Blocks.logs4.get().blockID, 0);
|
||||||
var1.setBlock(var3, var4 + 1, var5, Blocks.logs4.get().blockID, 0, 2);
|
h++;
|
||||||
var1.setBlock(var3, var4 + 2, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 3, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 4, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 5, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 7, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 9, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5, Blocks.logs4.get().blockID, 0, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 6, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 6, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 6, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 6, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 6, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 6, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 - 1, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 2, var4 + 8, var5 - 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 2, var4 + 8, var5 + 2, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 10, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 10, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 10, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 + 1, var4 + 10, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 10, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 10, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3 + 1, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3 - 1, var4 + 11, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 + 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
var1.setBlock(var3, var4 + 11, var5 - 1, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
|
|
||||||
var1.setBlock(var3, var4 + 12, var5, Blocks.leavesColorized.get().blockID, 5, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int c = 1;
|
||||||
|
for(int r = 0; r < branches; r++)
|
||||||
|
{
|
||||||
|
generateBranch(var1, var2, var3, var4 + h, var5, c);
|
||||||
|
c++;
|
||||||
|
h+=2;
|
||||||
|
}
|
||||||
|
|
||||||
|
generateTop(var1, var3, var4 + h, var5);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void generateTop(World world, int x, int y, int z)
|
||||||
|
{
|
||||||
|
for(int i = -1; i < 2; i++)
|
||||||
|
{
|
||||||
|
for(int j = -1; j < 2; j++)
|
||||||
|
{
|
||||||
|
buildBlock(world, x + i, y, z + j, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
buildBlock(world, x, y, z, Blocks.logs4.get().blockID, 0);
|
||||||
|
buildBlock(world, x + 1, y + 1, z, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x, y + 1, z - 1, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x, y + 1, z + 1, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x - 1, y + 1, z, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x, y + 2, z, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void generateBranch(World world, Random rand, int x, int y, int z, int n)
|
||||||
|
{
|
||||||
|
for(int i = -1; i < 2; i++)
|
||||||
|
{
|
||||||
|
for(int j = -1; j < 2; j++)
|
||||||
|
{
|
||||||
|
buildBlock(world, x + i, y, z + j, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(n % 2 == 0)
|
||||||
|
{
|
||||||
|
buildBlock(world, x + 1, y, z - 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x + 2, y, z - 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x + 2, y, z - 1, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
|
||||||
|
buildBlock(world, x - 2, y, z + 1, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x - 2, y, z + 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x - 1, y, z + 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buildBlock(world, x + 2, y, z + 1, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x + 2, y, z + 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x + 1, y, z + 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
|
||||||
|
buildBlock(world, x - 1, y, z - 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x - 2, y, z - 2, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
buildBlock(world, x - 2, y, z - 1, Blocks.leavesColorized.get().blockID, 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
buildBlock(world, x, y, z, Blocks.logs4.get().blockID, 0);
|
||||||
|
buildBlock(world, x, y + 1, z, Blocks.logs4.get().blockID, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void buildBlock(World world, int x, int y, int z, int id, int meta)
|
||||||
|
{
|
||||||
|
Material m = world.getBlockMaterial(x, y, z);
|
||||||
|
if(m == Material.air || m == Material.leaves)
|
||||||
|
{
|
||||||
|
world.setBlock(x, y, z, id, meta, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class WorldGenRedwoodTree extends WorldGenerator
|
||||||
|
|
||||||
public WorldGenRedwoodTree(boolean par1)
|
public WorldGenRedwoodTree(boolean par1)
|
||||||
{
|
{
|
||||||
this(par1, 30, 0, 0, false);
|
this(par1, 40, 0, 0, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public WorldGenRedwoodTree(boolean par1, int par2, int par3, int par4, boolean par5)
|
public WorldGenRedwoodTree(boolean par1, int par2, int par3, int par4, boolean par5)
|
||||||
|
@ -62,16 +62,16 @@ public class WorldGenRedwoodTree extends WorldGenerator
|
||||||
|
|
||||||
for (var8 = par4; var8 <= par4 + 1 + var6; ++var8)
|
for (var8 = par4; var8 <= par4 + 1 + var6; ++var8)
|
||||||
{
|
{
|
||||||
var9 = 1;
|
var9 = 7;
|
||||||
|
|
||||||
if (var8 == par4)
|
if (var8 == par4)
|
||||||
{
|
{
|
||||||
var9 = 0;
|
var9 = 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var8 >= par4 + 1 + var6 - 2)
|
if (var8 >= par4 + 1 + var6 - 2)
|
||||||
{
|
{
|
||||||
var9 = 2;
|
var9 = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10)
|
for (int var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10)
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class WorldGenRedwoodTree2 extends WorldGenerator
|
||||||
@Override
|
@Override
|
||||||
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
||||||
{
|
{
|
||||||
int var6 = par2Random.nextInt(10) + minTreeHeight;
|
int var6 = par2Random.nextInt(15) + minTreeHeight;
|
||||||
boolean var7 = true;
|
boolean var7 = true;
|
||||||
|
|
||||||
if (par4 >= 1 && par4 + var6 + 1 <= 256)
|
if (par4 >= 1 && par4 + var6 + 1 <= 256)
|
||||||
|
@ -58,16 +58,16 @@ public class WorldGenRedwoodTree2 extends WorldGenerator
|
||||||
|
|
||||||
for (var8 = par4; var8 <= par4 + 1 + var6; ++var8)
|
for (var8 = par4; var8 <= par4 + 1 + var6; ++var8)
|
||||||
{
|
{
|
||||||
var9 = 1;
|
var9 = 5;
|
||||||
|
|
||||||
if (var8 == par4)
|
if (var8 == par4)
|
||||||
{
|
{
|
||||||
var9 = 0;
|
var9 = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var8 >= par4 + 1 + var6 - 2)
|
if (var8 >= par4 + 1 + var6 - 2)
|
||||||
{
|
{
|
||||||
var9 = 2;
|
var9 = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10)
|
for (int var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10)
|
||||||
|
|
|
@ -27,9 +27,10 @@ tile.bop.plants.barley.name=Gerste
|
||||||
tile.bop.plants.cattail.name=Rohrkolben
|
tile.bop.plants.cattail.name=Rohrkolben
|
||||||
tile.bop.plants.cattailtop.name=Rohrkolben
|
tile.bop.plants.cattailtop.name=Rohrkolben
|
||||||
tile.bop.plants.cattailbottom.name=Rohrkolben
|
tile.bop.plants.cattailbottom.name=Rohrkolben
|
||||||
tile.bop.plants.reed.name=Schilf
|
tile.bop.plants.rivercane.name=Flussschilfrohr
|
||||||
tile.bop.plants.cactus.name=Kleiner Kaktus
|
tile.bop.plants.cactus.name=Kleiner Kaktus
|
||||||
tile.bop.plants.witherwart.name=Witherwarze
|
tile.bop.plants.witherwart.name=Witherwarze
|
||||||
|
tile.bop.plants.reed.name=Schilfgras
|
||||||
|
|
||||||
tile.bop.flowers.clover.name=Klee
|
tile.bop.flowers.clover.name=Klee
|
||||||
tile.bop.flowers.swampflower.name=Sumpfblume
|
tile.bop.flowers.swampflower.name=Sumpfblume
|
||||||
|
@ -64,7 +65,7 @@ tile.bop.foliage.highgrassbottom.name=Hohes Gras
|
||||||
tile.bop.foliage.bush.name=Busch
|
tile.bop.foliage.bush.name=Busch
|
||||||
tile.bop.foliage.sprout.name=Sprössling
|
tile.bop.foliage.sprout.name=Sprössling
|
||||||
tile.bop.foliage.highgrasstop.name=Hohes Gras
|
tile.bop.foliage.highgrasstop.name=Hohes Gras
|
||||||
tile.bop.foliage.poisonivy.name=Gift-Efeu
|
tile.bop.foliage.poisonivy.name=Giftefeu
|
||||||
tile.bop.foliage.berrybush.name=Beerenbusch
|
tile.bop.foliage.berrybush.name=Beerenbusch
|
||||||
tile.bop.foliage.shrub.name=Strauch
|
tile.bop.foliage.shrub.name=Strauch
|
||||||
tile.bop.foliage.wheatgrass.name=Weizengras
|
tile.bop.foliage.wheatgrass.name=Weizengras
|
||||||
|
@ -366,12 +367,12 @@ item.bop.flippers.name=Schwimmflossen
|
||||||
|
|
||||||
item.bop.bopBucket.amethyst_empty.name=Amethyst-Eimer
|
item.bop.bopBucket.amethyst_empty.name=Amethyst-Eimer
|
||||||
item.bop.bopBucket.amethyst_spring_water.name=Amethyst-Eimer mit Quellwasser
|
item.bop.bopBucket.amethyst_spring_water.name=Amethyst-Eimer mit Quellwasser
|
||||||
item.bop.bopBucket.liquid_poison.name=Eimer mit Gift
|
item.bop.bopBucket.liquid_poison.name=Eimer mit Flüssigem Gift
|
||||||
|
|
||||||
tile.bop.liquidPoison.name=Gift
|
tile.bop.liquidPoison.name=Flüssiges Gift
|
||||||
tile.bop.springWater.name=Quellwasser
|
tile.bop.springWater.name=Quellwasser
|
||||||
|
|
||||||
fluid.bop.liquidPoison=Gift
|
fluid.bop.liquidPoison=Flüssiges Gift
|
||||||
fluid.bop.springWater=Quellwasser
|
fluid.bop.springWater=Quellwasser
|
||||||
|
|
||||||
phrase.bop.promisedPortalOverworld=Ein Portal zum gelobten Land ist im Himmel entstanden.
|
phrase.bop.promisedPortalOverworld=Ein Portal zum gelobten Land ist im Himmel entstanden.
|
||||||
|
@ -380,5 +381,3 @@ phrase.bop.promisedPortalOther=Ein Portal ist im Himmel entstanden.
|
||||||
itemGroup.tabBiomesOPlenty=Biomes O' Plenty
|
itemGroup.tabBiomesOPlenty=Biomes O' Plenty
|
||||||
|
|
||||||
generator.BIOMESOP=Biomes O' Plenty
|
generator.BIOMESOP=Biomes O' Plenty
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,7 @@ tile.bop.colorizedSaplings.palmSapling.name=Palm Sapling
|
||||||
tile.bop.colorizedSaplings.redwoodSapling.name=Redwood Sapling
|
tile.bop.colorizedSaplings.redwoodSapling.name=Redwood Sapling
|
||||||
tile.bop.colorizedSaplings.willowSapling.name=Willow Sapling
|
tile.bop.colorizedSaplings.willowSapling.name=Willow Sapling
|
||||||
tile.bop.colorizedSaplings.pineSapling.name=Pine Sapling
|
tile.bop.colorizedSaplings.pineSapling.name=Pine Sapling
|
||||||
|
tile.bop.colorizedSaplings.sacredoakSapling.name=Sacred Oak Sapling
|
||||||
|
|
||||||
tile.bop.willow.name=Willow
|
tile.bop.willow.name=Willow
|
||||||
tile.bop.ivy.name=Ivy
|
tile.bop.ivy.name=Ivy
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 697 B |
Loading…
Reference in a new issue