aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-07-07 02:32:14 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-07-07 02:32:14 +1000
commitdf602b8f36b16fc7695c21ea66deb1a2a34aa8b3 (patch)
tree72ebb6b64c0dc291de5f66b163cb9ea26ac1b8b5
parentc8421edf9e783f0ab749e538691f35b4c02aa388 (diff)
downloadGT5-Unofficial-df602b8f36b16fc7695c21ea66deb1a2a34aa8b3.tar.gz
GT5-Unofficial-df602b8f36b16fc7695c21ea66deb1a2a34aa8b3.tar.bz2
GT5-Unofficial-df602b8f36b16fc7695c21ea66deb1a2a34aa8b3.zip
+ Added 5 new biomes to Australia.
% Changes to certain things about Australia.
-rw-r--r--src/Java/gtPlusPlus/australia/GTplusplus_Australia.java32
-rw-r--r--src/Java/gtPlusPlus/australia/biome/GenLayerBiomesAustraliaDimension.java17
-rw-r--r--src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert.java (renamed from src/Java/gtPlusPlus/australia/biome/Biome_AustralianDesert.java)9
-rw-r--r--src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert2.java (renamed from src/Java/gtPlusPlus/australia/biome/Biome_AustralianDesert2.java)14
-rw-r--r--src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert_Ex.java54
-rw-r--r--src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianForest.java225
-rw-r--r--src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOcean.java41
-rw-r--r--src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOutback.java368
-rw-r--r--src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianPlains.java112
-rw-r--r--src/Java/gtPlusPlus/australia/block/AustraliaContentLoader.java4
-rw-r--r--src/Java/gtPlusPlus/australia/block/BlockAustraliaSand.java6
-rw-r--r--src/Java/gtPlusPlus/australia/block/BlockAustraliaTopSoil.java5
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java5
13 files changed, 869 insertions, 23 deletions
diff --git a/src/Java/gtPlusPlus/australia/GTplusplus_Australia.java b/src/Java/gtPlusPlus/australia/GTplusplus_Australia.java
index 4cccf2c2e6..70e6268e9d 100644
--- a/src/Java/gtPlusPlus/australia/GTplusplus_Australia.java
+++ b/src/Java/gtPlusPlus/australia/GTplusplus_Australia.java
@@ -11,8 +11,13 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.australia.biome.Biome_AustralianDesert;
-import gtPlusPlus.australia.biome.Biome_AustralianDesert2;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert2;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert_Ex;
+import gtPlusPlus.australia.biome.type.Biome_AustralianForest;
+import gtPlusPlus.australia.biome.type.Biome_AustralianOcean;
+import gtPlusPlus.australia.biome.type.Biome_AustralianOutback;
+import gtPlusPlus.australia.biome.type.Biome_AustralianPlains;
import gtPlusPlus.australia.block.AustraliaContentLoader;
import gtPlusPlus.australia.dimension.Dimension_Australia;
import gtPlusPlus.australia.gen.gt.WorldGen_Australia_Ores;
@@ -34,7 +39,14 @@ public class GTplusplus_Australia implements ActionListener {
// Dark World Handler
protected static volatile Biome_AustralianDesert Australian_Desert_Biome_1;
- protected static volatile Biome_AustralianDesert2 Australian_Desert_Biome_2;
+ protected static volatile Biome_AustralianDesert2 Australian_Desert_Biome_2;
+
+ protected static volatile Biome_AustralianDesert_Ex Australian_Desert_Biome_3;
+ protected static volatile Biome_AustralianForest Australian_Forest_Biome;
+ protected static volatile Biome_AustralianOcean Australian_Ocean_Biome;
+ protected static volatile Biome_AustralianOutback Australian_Outback_Biome;
+ protected static volatile Biome_AustralianPlains Australian_Plains_Biome;
+
protected static volatile Dimension_Australia Australia_Dimension;
public static int globalAustraliaPortalSpawnTimer = 0;
@@ -51,14 +63,19 @@ public class GTplusplus_Australia implements ActionListener {
Australian_Desert_Biome_1 = (new Biome_AustralianDesert());
Australian_Desert_Biome_2 = (new Biome_AustralianDesert2());
-
Australian_Desert_Biome_1.instance = instance;
Australian_Desert_Biome_2.instance = instance;
-
Australian_Desert_Biome_1.preInit(event);
Australian_Desert_Biome_2.preInit(event);
+ Australian_Desert_Biome_3 = (Biome_AustralianDesert_Ex.biome);
+ Australian_Forest_Biome = (Biome_AustralianForest.biome);
+ Australian_Ocean_Biome = (Biome_AustralianOcean.biome);
+ Australian_Outback_Biome = (Biome_AustralianOutback.biome);
+ Australian_Plains_Biome = Biome_AustralianPlains.biome;
+
+
//Load/Set Custom Ore Gen
sCustomWorldgenFile = new GTPP_Config(new Configuration(new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "Australia.cfg")));
@@ -73,6 +90,11 @@ public class GTplusplus_Australia implements ActionListener {
Australian_Desert_Biome_1.load();
Australian_Desert_Biome_2.load();
+ Australian_Desert_Biome_3.load();
+ Australian_Forest_Biome.load();
+ Australian_Ocean_Biome.load();
+ Australian_Outback_Biome.load();
+ Australian_Plains_Biome.load();
Australia_Dimension.load();
diff --git a/src/Java/gtPlusPlus/australia/biome/GenLayerBiomesAustraliaDimension.java b/src/Java/gtPlusPlus/australia/biome/GenLayerBiomesAustraliaDimension.java
index c8ceaa3ed3..56d5291823 100644
--- a/src/Java/gtPlusPlus/australia/biome/GenLayerBiomesAustraliaDimension.java
+++ b/src/Java/gtPlusPlus/australia/biome/GenLayerBiomesAustraliaDimension.java
@@ -1,12 +1,27 @@
package gtPlusPlus.australia.biome;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert2;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert_Ex;
+import gtPlusPlus.australia.biome.type.Biome_AustralianForest;
+import gtPlusPlus.australia.biome.type.Biome_AustralianOcean;
+import gtPlusPlus.australia.biome.type.Biome_AustralianOutback;
+import gtPlusPlus.australia.biome.type.Biome_AustralianPlains;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.layer.GenLayer;
import net.minecraft.world.gen.layer.IntCache;
public class GenLayerBiomesAustraliaDimension extends GenLayer {
- protected BiomeGenBase[] allowedBiomes = { Biome_AustralianDesert.biome, Biome_AustralianDesert2.biome};
+ protected BiomeGenBase[] allowedBiomes = {
+ /*Biome_AustralianDesert.biome,
+ Biome_AustralianDesert2.biome,*/
+ Biome_AustralianDesert_Ex.biome,
+ Biome_AustralianOcean.biome,
+ Biome_AustralianForest.biome,
+ Biome_AustralianPlains.biome,
+ Biome_AustralianOutback.biome
+ };
public GenLayerBiomesAustraliaDimension(long seed) {
super(seed);
diff --git a/src/Java/gtPlusPlus/australia/biome/Biome_AustralianDesert.java b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert.java
index 646c3c804a..6986c9931d 100644
--- a/src/Java/gtPlusPlus/australia/biome/Biome_AustralianDesert.java
+++ b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.australia.biome;
+package gtPlusPlus.australia.biome.type;
import java.lang.reflect.Field;
import java.util.Random;
@@ -35,7 +35,6 @@ import net.minecraftforge.common.BiomeManager;
public class Biome_AustralianDesert {
- public static BiomeGenAustralianDesert biome = new BiomeGenAustralianDesert();
public Object instance;
@@ -46,8 +45,10 @@ public class Biome_AustralianDesert {
public static Block blockFluidLakes;
public Biome_AustralianDesert() {
+
}
+ public static BiomeGenAustralianDesert biome = new BiomeGenAustralianDesert();
public void load() {
BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DESERT);
BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DRY);
@@ -182,7 +183,7 @@ public class Biome_AustralianDesert {
}
class Tree
- extends WorldGenerator
+ extends WorldGenAbstractTree
{
private final int minTreeHeight;
private final boolean vinesGrow;
@@ -191,7 +192,7 @@ public class Biome_AustralianDesert {
public Tree()
{
- super();
+ super(false);
this.minTreeHeight = 5;
this.metaWood = 0;
this.metaLeaves = 0;
diff --git a/src/Java/gtPlusPlus/australia/biome/Biome_AustralianDesert2.java b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert2.java
index 233ca54a72..003c6cbd93 100644
--- a/src/Java/gtPlusPlus/australia/biome/Biome_AustralianDesert2.java
+++ b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert2.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.australia.biome;
+package gtPlusPlus.australia.biome.type;
import java.lang.reflect.Field;
import java.util.Random;
@@ -9,6 +9,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.monster.EntityCreeper;
@@ -171,17 +172,18 @@ public class Biome_AustralianDesert2 {
@Override
public WorldGenAbstractTree func_150567_a(Random par1Random){
- return (WorldGenAbstractTree)(getRandomWorldGenForTrees(par1Random));
+ boolean a = (MathUtils.randInt(0, 100) < MathUtils.randInt(30, 65));
+ return a ? getRandomWorldGenForTrees(par1Random) : super.func_150567_a(par1Random);
}
//TODO - DOES THIS WORK?
- public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
+ public WorldGenAbstractTree getRandomWorldGenForTrees(Random par1Random)
{
return new Tree();
}
class Tree
- extends WorldGenerator
+ extends WorldGenAbstractTree
{
private final int minTreeHeight;
private final boolean vinesGrow;
@@ -190,8 +192,8 @@ public class Biome_AustralianDesert2 {
public Tree()
{
- super();
- this.minTreeHeight = 5;
+ super(false);
+ this.minTreeHeight = 3;
this.metaWood = 0;
this.metaLeaves = 0;
this.vinesGrow = false;
diff --git a/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert_Ex.java b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert_Ex.java
new file mode 100644
index 0000000000..3fd15e130a
--- /dev/null
+++ b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianDesert_Ex.java
@@ -0,0 +1,54 @@
+package gtPlusPlus.australia.biome.type;
+
+import java.util.Random;
+
+import gtPlusPlus.core.lib.CORE;
+import net.minecraft.init.Blocks;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenDesert;
+import net.minecraft.world.gen.feature.WorldGenDesertWells;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.BiomeManager;
+
+public class Biome_AustralianDesert_Ex extends BiomeGenDesert {
+
+ public Biome_AustralianDesert_Ex(int aID)
+ {
+ super(aID);
+ this.spawnableCreatureList.clear();
+ this.topBlock = Blocks.sand;
+ this.fillerBlock = Blocks.sand;
+ this.theBiomeDecorator.treesPerChunk = -999;
+ this.theBiomeDecorator.deadBushPerChunk = 2;
+ this.theBiomeDecorator.reedsPerChunk = 50;
+ this.theBiomeDecorator.cactiPerChunk = 10;
+ this.setColor(16421912);
+ this.setBiomeName("Australian Desert III");
+ this.setDisableRain();
+ this.setTemperatureRainfall(2.0F, 0.0F);
+ this.setHeight(height_LowPlains);
+ this.spawnableCreatureList.clear();
+ }
+
+ public static Biome_AustralianDesert_Ex biome = new Biome_AustralianDesert_Ex(CORE.AUSTRALIA_BIOME_DESERT_3_ID);
+ public void load() {
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DRY);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.SPARSE);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.HOT);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DESERT);
+ BiomeManager.addSpawnBiome(biome);
+ }
+
+ public void decorate(World p_76728_1_, Random p_76728_2_, int p_76728_3_, int p_76728_4_)
+ {
+ super.decorate(p_76728_1_, p_76728_2_, p_76728_3_, p_76728_4_);
+
+ if (p_76728_2_.nextInt(1000) == 0)
+ {
+ int k = p_76728_3_ + p_76728_2_.nextInt(16) + 8;
+ int l = p_76728_4_ + p_76728_2_.nextInt(16) + 8;
+ WorldGenDesertWells worldgendesertwells = new WorldGenDesertWells();
+ worldgendesertwells.generate(p_76728_1_, p_76728_2_, k, p_76728_1_.getHeightValue(k, l) + 1, l);
+ }
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianForest.java b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianForest.java
new file mode 100644
index 0000000000..29fd27bed6
--- /dev/null
+++ b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianForest.java
@@ -0,0 +1,225 @@
+package gtPlusPlus.australia.biome.type;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.lib.CORE;
+
+import java.util.Random;
+import net.minecraft.block.BlockFlower;
+import net.minecraft.entity.passive.EntityWolf;
+import net.minecraft.init.Blocks;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.biome.BiomeGenForest;
+import net.minecraft.world.biome.BiomeGenMutated;
+import net.minecraft.world.gen.feature.WorldGenAbstractTree;
+import net.minecraft.world.gen.feature.WorldGenBigMushroom;
+import net.minecraft.world.gen.feature.WorldGenCanopyTree;
+import net.minecraft.world.gen.feature.WorldGenForest;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.BiomeManager;
+
+public class Biome_AustralianForest extends BiomeGenForest {
+
+ private int field_150632_aF;
+ protected static final WorldGenForest field_150629_aC = new WorldGenForest(false, true);
+ protected static final WorldGenForest field_150630_aD = new WorldGenForest(false, false);
+ protected static final WorldGenCanopyTree field_150631_aE = new WorldGenCanopyTree(false);
+
+
+ public static Biome_AustralianForest biome = new Biome_AustralianForest(CORE.AUSTRALIA_BIOME_FOREST_ID, 2);
+ public void load() {
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.FOREST);
+ BiomeManager.addSpawnBiome(biome);
+ }
+
+ public Biome_AustralianForest(int p_i45377_1_, int p_i45377_2_){
+ super(p_i45377_1_, p_i45377_2_);
+ this.field_150632_aF = p_i45377_2_;
+ this.setColor(353825);
+ this.setBiomeName("Australian Forest");
+ this.theBiomeDecorator.treesPerChunk = 10;
+ this.theBiomeDecorator.grassPerChunk = 2;
+
+ if (this.field_150632_aF == 1)
+ {
+ this.theBiomeDecorator.treesPerChunk = 6;
+ this.theBiomeDecorator.flowersPerChunk = 100;
+ this.theBiomeDecorator.grassPerChunk = 1;
+ }
+
+ this.func_76733_a(5159473);
+ this.setTemperatureRainfall(0.7F, 0.8F);
+
+ if (this.field_150632_aF == 2)
+ {
+ this.field_150609_ah = 353825;
+ this.color = 3175492;
+ this.setTemperatureRainfall(0.6F, 0.6F);
+ }
+
+ if (this.field_150632_aF == 0)
+ {
+ this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityWolf.class, 5, 4, 4));
+ }
+
+ if (this.field_150632_aF == 3)
+ {
+ this.theBiomeDecorator.treesPerChunk = -999;
+ }
+
+ if (this.field_150632_aF == 1)
+ {
+ this.flowers.clear();
+ for (int x = 0; x < BlockFlower.field_149859_a.length; x++)
+ {
+ this.addFlower(Blocks.red_flower, x == 1 ? 0 : x, 10);
+ }
+ }
+ }
+
+ public BiomeGenBase func_150557_a(int p_150557_1_, boolean p_150557_2_)
+ {
+ if (this.field_150632_aF == 2)
+ {
+ this.field_150609_ah = 353825;
+ this.color = p_150557_1_;
+
+ if (p_150557_2_)
+ {
+ this.field_150609_ah = (this.field_150609_ah & 16711422) >> 1;
+ }
+
+ return this;
+ }
+ else
+ {
+ return super.func_150557_a(p_150557_1_, p_150557_2_);
+ }
+ }
+
+ public WorldGenAbstractTree func_150567_a(Random p_150567_1_)
+ {
+ return (WorldGenAbstractTree)(this.field_150632_aF == 3 && p_150567_1_.nextInt(3) > 0 ? field_150631_aE : (this.field_150632_aF != 2 && p_150567_1_.nextInt(5) != 0 ? this.worldGeneratorTrees : field_150630_aD));
+ }
+
+ public String func_150572_a(Random p_150572_1_, int p_150572_2_, int p_150572_3_, int p_150572_4_)
+ {
+ if (this.field_150632_aF == 1)
+ {
+ double d0 = MathHelper.clamp_double((1.0D + plantNoise.func_151601_a((double)p_150572_2_ / 48.0D, (double)p_150572_4_ / 48.0D)) / 2.0D, 0.0D, 0.9999D);
+ int l = (int)(d0 * (double)BlockFlower.field_149859_a.length);
+
+ if (l == 1)
+ {
+ l = 0;
+ }
+
+ return BlockFlower.field_149859_a[l];
+ }
+ else
+ {
+ return super.func_150572_a(p_150572_1_, p_150572_2_, p_150572_3_, p_150572_4_);
+ }
+ }
+
+ public void decorate(World p_76728_1_, Random p_76728_2_, int p_76728_3_, int p_76728_4_)
+ {
+ int k;
+ int l;
+ int i1;
+ int j1;
+ int k1;
+
+ if (this.field_150632_aF == 3)
+ {
+ for (k = 0; k < 4; ++k)
+ {
+ for (l = 0; l < 4; ++l)
+ {
+ i1 = p_76728_3_ + k * 4 + 1 + 8 + p_76728_2_.nextInt(3);
+ j1 = p_76728_4_ + l * 4 + 1 + 8 + p_76728_2_.nextInt(3);
+ k1 = p_76728_1_.getHeightValue(i1, j1);
+
+ if (p_76728_2_.nextInt(20) == 0)
+ {
+ WorldGenBigMushroom worldgenbigmushroom = new WorldGenBigMushroom();
+ worldgenbigmushroom.generate(p_76728_1_, p_76728_2_, i1, k1, j1);
+ }
+ else
+ {
+ WorldGenAbstractTree worldgenabstracttree = this.func_150567_a(p_76728_2_);
+ worldgenabstracttree.setScale(1.0D, 1.0D, 1.0D);
+
+ if (worldgenabstracttree.generate(p_76728_1_, p_76728_2_, i1, k1, j1))
+ {
+ worldgenabstracttree.func_150524_b(p_76728_1_, p_76728_2_, i1, k1, j1);
+ }
+ }
+ }
+ }
+ }
+
+ k = p_76728_2_.nextInt(5) - 3;
+
+ if (this.field_150632_aF == 1)
+ {
+ k += 2;
+ }
+
+ l = 0;
+
+ while (l < k)
+ {
+ i1 = p_76728_2_.nextInt(3);
+
+ if (i1 == 0)
+ {
+ genTallFlowers.func_150548_a(1);
+ }
+ else if (i1 == 1)
+ {
+ genTallFlowers.func_150548_a(4);
+ }
+ else if (i1 == 2)
+ {
+ genTallFlowers.func_150548_a(5);
+ }
+
+ j1 = 0;
+
+ while (true)
+ {
+ if (j1 < 5)
+ {
+ k1 = p_76728_3_ + p_76728_2_.nextInt(16) + 8;
+ int i2 = p_76728_4_ + p_76728_2_.nextInt(16) + 8;
+ int l1 = p_76728_2_.nextInt(p_76728_1_.getHeightValue(k1, i2) + 32);
+
+ if (!genTallFlowers.generate(p_76728_1_, p_76728_2_, k1, l1, i2))
+ {
+ ++j1;
+ continue;
+ }
+ }
+
+ ++l;
+ break;
+ }
+ }
+
+ super.decorate(p_76728_1_, p_76728_2_, p_76728_3_, p_76728_4_);
+ }
+
+ /**
+ * Provides the basic grass color based on the biome temperature and rainfall
+ */
+ @SideOnly(Side.CLIENT)
+ public int getBiomeGrassColor(int p_150558_1_, int p_150558_2_, int p_150558_3_)
+ {
+ int l = super.getBiomeGrassColor(p_150558_1_, p_150558_2_, p_150558_3_);
+ return this.field_150632_aF == 3 ? (l & 16711422) + 2634762 >> 1 : l;
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOcean.java b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOcean.java
new file mode 100644
index 0000000000..d92b5d78c4
--- /dev/null
+++ b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOcean.java
@@ -0,0 +1,41 @@
+package gtPlusPlus.australia.biome.type;
+
+import java.util.Random;
+
+import gtPlusPlus.core.lib.CORE;
+import net.minecraft.block.Block;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.biome.BiomeGenOcean;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.BiomeManager;
+
+public class Biome_AustralianOcean extends BiomeGenOcean {
+
+ public Biome_AustralianOcean(int p_i1985_1_)
+ {
+ super(p_i1985_1_);
+ this.setColor(48);
+ this.setBiomeName("Australian Ocean");
+ this.setHeight(height_DeepOceans);
+ this.spawnableCreatureList.clear();
+ }
+
+ public static Biome_AustralianOcean biome = new Biome_AustralianOcean(CORE.AUSTRALIA_BIOME_OCEAN_ID);
+ public void load() {
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.SPARSE);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.COLD);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.OCEAN);
+ BiomeManager.addSpawnBiome(biome);
+ }
+
+ public BiomeGenBase.TempCategory getTempCategory()
+ {
+ return BiomeGenBase.TempCategory.OCEAN;
+ }
+
+ public void genTerrainBlocks(World p_150573_1_, Random p_150573_2_, Block[] p_150573_3_, byte[] p_150573_4_, int p_150573_5_, int p_150573_6_, double p_150573_7_)
+ {
+ super.genTerrainBlocks(p_150573_1_, p_150573_2_, p_150573_3_, p_150573_4_, p_150573_5_, p_150573_6_, p_150573_7_);
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOutback.java b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOutback.java
new file mode 100644
index 0000000000..e9705994e3
--- /dev/null
+++ b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianOutback.java
@@ -0,0 +1,368 @@
+package gtPlusPlus.australia.biome.type;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.lib.CORE;
+
+import java.util.Arrays;
+import java.util.Random;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.init.Blocks;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.biome.BiomeGenMesa;
+import net.minecraft.world.gen.NoiseGeneratorPerlin;
+import net.minecraft.world.gen.feature.WorldGenAbstractTree;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.BiomeManager;
+
+public class Biome_AustralianOutback extends BiomeGenMesa
+{
+ private byte[] field_150621_aC;
+ private long field_150622_aD;
+ private NoiseGeneratorPerlin field_150623_aE;
+ private NoiseGeneratorPerlin field_150624_aF;
+ private NoiseGeneratorPerlin field_150625_aG;
+ private boolean field_150626_aH;
+ private boolean field_150620_aI;
+
+ public Biome_AustralianOutback(int p_i45380_1_){
+ super(p_i45380_1_, false, false);
+ this.setColor(14238997);
+ this.setBiomeName("Australian Outback");
+ this.field_150626_aH = false;
+ this.field_150620_aI = false;
+ this.setDisableRain();
+ this.setTemperatureRainfall(2.0F, 0.0F);
+ this.spawnableCreatureList.clear();
+ this.topBlock = Blocks.sand;
+ this.field_150604_aj = 1;
+ this.fillerBlock = Blocks.stained_hardened_clay;
+ this.theBiomeDecorator.deadBushPerChunk = 20;
+ this.theBiomeDecorator.reedsPerChunk = 3;
+ this.theBiomeDecorator.cactiPerChunk = 5;
+ this.theBiomeDecorator.flowersPerChunk = 0;
+ this.spawnableCreatureList.clear();
+ this.theBiomeDecorator.treesPerChunk = 5;
+ }
+
+ public static Biome_AustralianOutback biome = new Biome_AustralianOutback(CORE.AUSTRALIA_BIOME_OUTBACK_ID);
+ public void load() {
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DRY);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.SPARSE);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.HOT);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DESERT);
+ BiomeManager.addSpawnBiome(biome);
+ }
+
+ public WorldGenAbstractTree func_150567_a(Random p_150567_1_)
+ {
+ return this.worldGeneratorTrees;
+ }
+
+ public void decorate(World p_76728_1_, Random p_76728_2_, int p_76728_3_, int p_76728_4_)
+ {
+ super.decorate(p_76728_1_, p_76728_2_, p_76728_3_, p_76728_4_);
+ }
+
+ public void genTerrainBlocks(World p_150573_1_, Random p_150573_2_, Block[] p_150573_3_, byte[] p_150573_4_, int p_150573_5_, int p_150573_6_, double p_150573_7_)
+ {
+ if (this.field_150621_aC == null || this.field_150622_aD != p_150573_1_.getSeed())
+ {
+ this.func_150619_a(p_150573_1_.getSeed());
+ }
+
+ if (this.field_150623_aE == null || this.field_150624_aF == null || this.field_150622_aD != p_150573_1_.getSeed())
+ {
+ Random random1 = new Random(this.field_150622_aD);
+ this.field_150623_aE = new NoiseGeneratorPerlin(random1, 4);
+ this.field_150624_aF = new NoiseGeneratorPerlin(random1, 1);
+ }
+
+ this.field_150622_aD = p_150573_1_.getSeed();
+ double d5 = 0.0D;
+ int k;
+ int l;
+
+ if (this.field_150626_aH)
+ {
+ k = (p_150573_5_ & -16) + (p_150573_6_ & 15);
+ l = (p_150573_6_ & -16) + (p_150573_5_ & 15);
+ double d1 = Math.min(Math.abs(p_150573_7_), this.field_150623_aE.func_151601_a((double)k * 0.25D, (double)l * 0.25D));
+
+ if (d1 > 0.0D)
+ {
+ double d2 = 0.001953125D;
+ double d3 = Math.abs(this.field_150624_aF.func_151601_a((double)k * d2, (double)l * d2));
+ d5 = d1 * d1 * 2.5D;
+ double d4 = Math.ceil(d3 * 50.0D) + 14.0D;
+
+ if (d5 > d4)
+ {
+ d5 = d4;
+ }
+
+ d5 += 64.0D;
+ }
+ }
+
+ k = p_150573_5_ & 15;
+ l = p_150573_6_ & 15;
+ boolean flag = true;
+ Block block = Blocks.stained_hardened_clay;
+ Block block2 = this.fillerBlock;
+ int i1 = (int)(p_150573_7_ / 3.0D + 3.0D + p_150573_2_.nextDouble() * 0.25D);
+ boolean flag1 = Math.cos(p_150573_7_ / 3.0D * Math.PI) > 0.0D;
+ int j1 = -1;
+ boolean flag2 = false;
+ int k1 = p_150573_3_.length / 256;
+
+ for (int l1 = 255; l1 >= 0; --l1)
+ {
+ int i2 = (l * 16 + k) * k1 + l1;
+
+ if ((p_150573_3_[i2] == null || p_150573_3_[i2].getMaterial() == Material.air) && l1 < (int)d5)
+ {
+ p_150573_3_[i2] = Blocks.stone;
+ }
+
+ if (l1 <= 0 + p_150573_2_.nextInt(5))
+ {
+ p_150573_3_[i2] = Blocks.bedrock;
+ }
+ else
+ {
+ Block block1 = p_150573_3_[i2];
+
+ if (block1 != null && block1.getMaterial() != Material.air)
+ {
+ if (block1 == Blocks.stone)
+ {
+ byte b0;
+
+ if (j1 == -1)
+ {
+ flag2 = false;
+
+ if (i1 <= 0)
+ {
+ block = null;
+ block2 = Blocks.stone;
+ }
+ else if (l1 >= 59 && l1 <= 64)
+ {
+ block = Blocks.stained_hardened_clay;
+ block2 = this.fillerBlock;
+ }
+
+ if (l1 < 63 && (block == null || block.getMaterial() == Material.air))
+ {
+ block = Blocks.water;
+ }
+
+ j1 = i1 + Math.max(0, l1 - 63);
+
+ if (l1 >= 62)
+ {
+ if (this.field_150620_aI && l1 > 86 + i1 * 2)
+ {
+ if (flag1)
+ {
+ p_150573_3_[i2] = Blocks.dirt;
+ p_150573_4_[i2] = 1;
+ }
+ else
+ {
+ p_150573_3_[i2] = Blocks.grass;
+ }
+ }
+ else if (l1 > 66 + i1)
+ {
+ b0 = 16;
+
+ if (l1 >= 64 && l1 <= 127)
+ {
+ if (!flag1)
+ {
+ b0 = this.func_150618_d(p_150573_5_, l1, p_150573_6_);
+ }
+ }
+ else
+ {
+ b0 = 1;
+ }
+
+ if (b0 < 16)
+ {
+ p_150573_3_[i2] = Blocks.stained_hardened_clay;
+ p_150573_4_[i2] = (byte)b0;
+ }
+ else
+ {
+ p_150573_3_[i2] = Blocks.hardened_clay;
+ }
+ }
+ else
+ {
+ p_150573_3_[i2] = this.topBlock;
+ p_150573_4_[i2] = (byte)this.field_150604_aj;
+ flag2 = true;
+ }
+ }
+ else
+ {
+ p_150573_3_[i2] = block2;
+
+ if (block2 == Blocks.stained_hardened_clay)
+ {
+ p_150573_4_[i2] = 1;
+ }
+ }
+ }
+ else if (j1 > 0)
+ {
+ --j1;
+
+ if (flag2)
+ {
+ p_150573_3_[i2] = Blocks.stained_hardened_clay;
+ p_150573_4_[i2] = 1;
+ }
+ else
+ {
+ b0 = this.func_150618_d(p_150573_5_, l1, p_150573_6_);
+
+ if (b0 < 16)
+ {
+ p_150573_3_[i2] = Blocks.stained_hardened_clay;
+ p_150573_4_[i2] = b0;
+ }
+ else
+ {
+ p_150573_3_[i2] = Blocks.hardened_clay;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ j1 = -1;
+ }
+ }
+ }
+ }
+
+ public void func_150619_a(long p_150619_1_)
+ {
+ this.field_150621_aC = new byte[64];
+ Arrays.fill(this.field_150621_aC, (byte)16);
+ Random random = new Random(p_150619_1_);
+ this.field_150625_aG = new NoiseGeneratorPerlin(random, 1);
+ int j;
+
+ for (j = 0; j < 64; ++j)
+ {
+ j += random.nextInt(5) + 1;
+
+ if (j < 64)
+ {
+ this.field_150621_aC[j] = 1;
+ }
+ }
+
+ j = random.nextInt(4) + 2;
+ int k;
+ int l;
+ int i1;
+ int j1;
+
+ for (k = 0; k < j; ++k)
+ {
+ l = random.nextInt(3) + 1;
+ i1 = random.nextInt(64);
+
+ for (j1 = 0; i1 + j1 < 64 && j1 < l; ++j1)
+ {
+ this.field_150621_aC[i1 + j1] = 4;
+ }
+ }
+
+ k = random.nextInt(4) + 2;
+ int k1;
+
+ for (l = 0; l < k; ++l)
+ {
+ i1 = random.nextInt(3) + 2;
+ j1 = random.nextInt(64);
+
+ for (k1 = 0; j1 + k1 < 64 && k1 < i1; ++k1)
+ {
+ this.field_150621_aC[j1 + k1] = 12;
+ }
+ }
+
+ l = random.nextInt(4) + 2;
+
+ for (i1 = 0; i1 < l; ++i1)
+ {
+ j1 = random.nextInt(3) + 1;
+ k1 = random.nextInt(64);
+
+ for (int l1 = 0; k1 + l1 < 64 && l1 < j1; ++l1)
+ {
+ this.field_150621_aC[k1 + l1] = 14;
+ }
+ }
+
+ i1 = random.nextInt(3) + 3;
+ j1 = 0;
+
+ for (k1 = 0; k1 < i1; ++k1)
+ {
+ byte b0 = 1;
+ j1 += random.nextInt(16) + 4;
+
+ for (int i2 = 0; j1 + i2 < 64 && i2 < b0; ++i2)
+ {
+ this.field_150621_aC[j1 + i2] = 0;
+
+ if (j1 + i2 > 1 && random.nextBoolean())
+ {
+ this.field_150621_aC[j1 + i2 - 1] = 8;
+ }
+
+ if (j1 + i2 < 63 && random.nextBoolean())
+ {
+ this.field_150621_aC[j1 + i2 + 1] = 8;
+ }
+ }
+ }
+ }
+
+ /**
+ * Provides the basic foliage color based on the biome temperature and rainfall
+ */
+ @SideOnly(Side.CLIENT)
+ public int getBiomeFoliageColor(int p_150571_1_, int p_150571_2_, int p_150571_3_)
+ {
+ return 10387789;
+ }
+
+ /**
+ * Provides the basic grass color based on the biome temperature and rainfall
+ */
+ @SideOnly(Side.CLIENT)
+ public int getBiomeGrassColor(int p_150558_1_, int p_150558_2_, int p_150558_3_)
+ {
+ return 9470285;
+ }
+
+ public byte func_150618_d(int p_150618_1_, int p_150618_2_, int p_150618_3_)
+ {
+ int l = (int)Math.round(this.field_150625_aG.func_151601_a((double)p_150618_1_ * 1.0D / 512.0D, (double)p_150618_1_ * 1.0D / 512.0D) * 2.0D);
+ return this.field_150621_aC[(p_150618_2_ + l + 64) % 64];
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianPlains.java b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianPlains.java
new file mode 100644
index 0000000000..efbc0111ed
--- /dev/null
+++ b/src/Java/gtPlusPlus/australia/biome/type/Biome_AustralianPlains.java
@@ -0,0 +1,112 @@
+package gtPlusPlus.australia.biome.type;
+
+import java.util.Random;
+
+import gtPlusPlus.core.lib.CORE;
+import net.minecraft.block.BlockFlower;
+import net.minecraft.entity.passive.EntityHorse;
+import net.minecraft.init.Blocks;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.biome.BiomeGenPlains;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.BiomeManager;
+
+public class Biome_AustralianPlains extends BiomeGenPlains
+{
+ protected boolean field_150628_aC;
+
+ public Biome_AustralianPlains(int p_i1986_1_)
+ {
+ super(p_i1986_1_);
+ this.setTemperatureRainfall(0.8F, 0.4F);
+ this.setColor(9286496);
+ this.setBiomeName("Plainlands");
+ this.setHeight(height_LowPlains);
+ this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityHorse.class, 5, 2, 6));
+ this.theBiomeDecorator.treesPerChunk = 1;
+ this.theBiomeDecorator.flowersPerChunk = 4;
+ this.theBiomeDecorator.grassPerChunk = 20;
+ this.flowers.clear();
+ this.addFlower(Blocks.red_flower, 4, 3);
+ this.addFlower(Blocks.red_flower, 5, 3);
+ this.addFlower(Blocks.red_flower, 6, 3);
+ this.addFlower(Blocks.red_flower, 7, 3);
+ this.addFlower(Blocks.red_flower, 0, 20);
+ this.addFlower(Blocks.red_flower, 3, 20);
+ this.addFlower(Blocks.red_flower, 8, 20);
+ this.addFlower(Blocks.yellow_flower, 0, 30);
+ }
+
+ public static Biome_AustralianPlains biome = new Biome_AustralianPlains(CORE.AUSTRALIA_BIOME_PLAINS_ID);
+ public void load() {
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DRY);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.SPARSE);
+ BiomeManager.addSpawnBiome(biome);
+ }
+
+ public String func_150572_a(Random p_150572_1_, int p_150572_2_, int p_150572_3_, int p_150572_4_)
+ {
+ double d0 = plantNoise.func_151601_a((double)p_150572_2_ / 200.0D, (double)p_150572_4_ / 200.0D);
+ int l;
+
+ if (d0 < -0.8D)
+ {
+ l = p_150572_1_.nextInt(4);
+ return BlockFlower.field_149859_a[4 + l];
+ }
+ else if (p_150572_1_.nextInt(3) > 0)
+ {
+ l = p_150572_1_.nextInt(3);
+ return l == 0 ? BlockFlower.field_149859_a[0] : (l == 1 ? BlockFlower.field_149859_a[3] : BlockFlower.field_149859_a[8]);
+ }
+ else
+ {
+ return BlockFlower.field_149858_b[0];
+ }
+ }
+
+ public void decorate(World p_76728_1_, Random p_76728_2_, int p_76728_3_, int p_76728_4_)
+ {
+ double d0 = plantNoise.func_151601_a((double)(p_76728_3_ + 8) / 200.0D, (double)(p_76728_4_ + 8) / 200.0D);
+ int k;
+ int l;
+ int i1;
+ int j1;
+
+ if (d0 < -0.8D)
+ {
+ this.theBiomeDecorator.flowersPerChunk = 15;
+ this.theBiomeDecorator.grassPerChunk = 5;
+ }
+ else
+ {
+ this.theBiomeDecorator.flowersPerChunk = 4;
+ this.theBiomeDecorator.grassPerChunk = 10;
+ genTallFlowers.func_150548_a(2);
+
+ for (k = 0; k < 7; ++k)
+ {
+ l = p_76728_3_ + p_76728_2_.nextInt(16) + 8;
+ i1 = p_76728_4_ + p_76728_2_.nextInt(16) + 8;
+ j1 = p_76728_2_.nextInt(p_76728_1_.getHeightValue(l, i1) + 32);
+ genTallFlowers.generate(p_76728_1_, p_76728_2_, l, j1, i1);
+ }
+ }
+
+ if (this.field_150628_aC)
+ {
+ genTallFlowers.func_150548_a(0);
+
+ for (k = 0; k < 10; ++k)
+ {
+ l = p_76728_3_ + p_76728_2_.nextInt(16) + 8;
+ i1 = p_76728_4_ + p_76728_2_.nextInt(16) + 8;
+ j1 = p_76728_2_.nextInt(p_76728_1_.getHeightValue(l, i1) + 32);
+ genTallFlowers.generate(p_76728_1_, p_76728_2_, l, j1, i1);
+ }
+ }
+
+ super.decorate(p_76728_1_, p_76728_2_, p_76728_3_, p_76728_4_);
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/australia/block/AustraliaContentLoader.java b/src/Java/gtPlusPlus/australia/block/AustraliaContentLoader.java
index e5836a907c..0df84500e1 100644
--- a/src/Java/gtPlusPlus/australia/block/AustraliaContentLoader.java
+++ b/src/Java/gtPlusPlus/australia/block/AustraliaContentLoader.java
@@ -6,8 +6,8 @@ import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import gtPlusPlus.api.objects.data.AutoMap;
-import gtPlusPlus.australia.biome.Biome_AustralianDesert;
-import gtPlusPlus.australia.biome.Biome_AustralianDesert2;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert;
+import gtPlusPlus.australia.biome.type.Biome_AustralianDesert2;
import gtPlusPlus.australia.item.ItemAustraliaPortalTrigger;
import gtPlusPlus.australia.item.ItemBlockAustralia;
diff --git a/src/Java/gtPlusPlus/australia/block/BlockAustraliaSand.java b/src/Java/gtPlusPlus/australia/block/BlockAustraliaSand.java
index f4f9c04a3b..62d443bc13 100644
--- a/src/Java/gtPlusPlus/australia/block/BlockAustraliaSand.java
+++ b/src/Java/gtPlusPlus/australia/block/BlockAustraliaSand.java
@@ -3,17 +3,17 @@ package gtPlusPlus.australia.block;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.block.BlockGrass;
-
+import net.minecraft.block.BlockSand;
import gtPlusPlus.api.interfaces.ITileTooltip;
import gtPlusPlus.core.creative.AddToCreativeTab;
-public class BlockAustraliaSand extends BlockGrass implements ITileTooltip{
+public class BlockAustraliaSand extends BlockSand implements ITileTooltip{
public BlockAustraliaSand() {
this.setCreativeTab(AddToCreativeTab.tabBlock);
this.setBlockName("blockAustralianSand");
this.setHardness(0.1F);
- this.setBlockTextureName("minecraft" + ":" + "red_sand");
+ this.setBlockTextureName("minecraft" + ":" + "sand");
LanguageRegistry.addName(this, "Sandy Earth");
}
diff --git a/src/Java/gtPlusPlus/australia/block/BlockAustraliaTopSoil.java b/src/Java/gtPlusPlus/australia/block/BlockAustraliaTopSoil.java
index 055e3f6372..09c7dbf22d 100644
--- a/src/Java/gtPlusPlus/australia/block/BlockAustraliaTopSoil.java
+++ b/src/Java/gtPlusPlus/australia/block/BlockAustraliaTopSoil.java
@@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.BlockDirt;
+import net.minecraft.block.BlockSand;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.world.ColorizerGrass;
import net.minecraft.world.IBlockAccess;
@@ -12,11 +13,11 @@ import net.minecraft.world.IBlockAccess;
import gtPlusPlus.api.interfaces.ITileTooltip;
import gtPlusPlus.core.creative.AddToCreativeTab;
-public class BlockAustraliaTopSoil extends BlockDirt implements ITileTooltip{
+public class BlockAustraliaTopSoil extends BlockSand implements ITileTooltip{
public BlockAustraliaTopSoil() {
this.setHardness(0.5F);
- this.setBlockTextureName("minecraft" + ":" + "sand");
+ this.setBlockTextureName("minecraft" + ":" + "dirt");
this.setCreativeTab(CreativeTabs.tabBlock);
this.setBlockName("blockAustralianTopSoil");
LanguageRegistry.addName(this, "Desert Earth");
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index e9a6778c32..452c1bad0f 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -62,6 +62,11 @@ public class CORE {
public static int AUSTRALIA_ID = 228;
public static int AUSTRALIA_BIOME_DESERT_1_ID = 239;
public static int AUSTRALIA_BIOME_DESERT_2_ID = 240;
+ public static int AUSTRALIA_BIOME_DESERT_3_ID = 241;
+ public static int AUSTRALIA_BIOME_PLAINS_ID = 242;
+ public static int AUSTRALIA_BIOME_OUTBACK_ID = 243;
+ public static int AUSTRALIA_BIOME_OCEAN_ID = 244;
+ public static int AUSTRALIA_BIOME_FOREST_ID = 245;
//GT Vars;
public static final int GREG_FIRST_ID = 760;