aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/world
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-07-12 15:46:08 +1000
committerAlkalus <draknyte1@hotmail.com>2017-07-12 15:46:08 +1000
commit28a0de1c20652e51b14668b3c16ea425bb92d901 (patch)
tree2e26e8cb8fbb8353aa0ae0884ba9a723d31d1fb1 /src/Java/gtPlusPlus/core/world
parent424a591a404ccc0983796b2d1d4514130d57d65b (diff)
downloadGT5-Unofficial-28a0de1c20652e51b14668b3c16ea425bb92d901.tar.gz
GT5-Unofficial-28a0de1c20652e51b14668b3c16ea425bb92d901.tar.bz2
GT5-Unofficial-28a0de1c20652e51b14668b3c16ea425bb92d901.zip
- Stopped the Multitank storing it's contents.
% Changed Jack Daniels into Sludge. % Dark World Generation tweaks. $ Fixed 255 height biome/world. $ Fixed lighting issues. + Failed to add my own world type.
Diffstat (limited to 'src/Java/gtPlusPlus/core/world')
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java27
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java42
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPollutedDirt.java17
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java36
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java59
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java12
6 files changed, 155 insertions, 38 deletions
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java b/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java
index 0222b8738f..93d8e2898e 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java
+++ b/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java
@@ -5,14 +5,18 @@ import java.util.Random;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.registry.GameRegistry;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.world.darkworld.block.*;
import gtPlusPlus.core.world.darkworld.item.itemDarkWorldPortalTrigger;
+import gtPlusPlus.core.world.darkworld.world.CustomWorldType;
import gtPlusPlus.core.world.darkworld.world.WorldProviderMod;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import net.minecraft.world.WorldType;
import net.minecraftforge.common.DimensionManager;
@SuppressWarnings("unchecked")
@@ -27,28 +31,41 @@ public class Dimension_DarkWorld {
public static Block blockSecondLayer = Blocks.dirt;
public static Block blockMainFiller = Blocks.stone;
public static Block blockSecondaryFiller;
- public static Block blockFluidLakes = Blocks.lava;
+ public static Block blockFluidLakes = ModBlocks.blockFluidSludge;
public static Block blockPortalFrame;
+
+ /** Default (1.1) world type. */
+ //public static final WorldType TestType = (new CustomWorldType(12, "TEST", 0));
static {
DIMID = DimensionManager.getNextFreeDimId();
portalBlock = new blockDarkWorldPortal();
portalItem = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("dimensionDarkWorld_trigger"));
- Item.itemRegistry.addObject(423, "dimensionDarkWorld_trigger", portalItem);
blockTopLayer = new blockDarkWorldGround();
- GameRegistry.registerBlock(blockTopLayer, "blockDarkWorldGround");
+ blockSecondLayer = new blockDarkWorldPollutedDirt();
Blocks.fire.setFireInfo(blockTopLayer, 30, 20);
blockPortalFrame = new blockDarkWorldPortalFrame();
+
+ //Registration
+ GameRegistry.registerBlock(portalBlock, "dimensionDarkWorld_portal");
GameRegistry.registerBlock(blockPortalFrame, "blockDarkWorldPortalFrame");
+ GameRegistry.registerBlock(blockTopLayer, "blockDarkWorldGround");
+ GameRegistry.registerBlock(blockSecondLayer, "blockDarkWorldGround2");
+ Item.itemRegistry.addObject(423, "dimensionDarkWorld_trigger", portalItem);
+
+ //Use Oil for Things.
+ if (LoadedMods.BuildCraft){
+ //blockFluidLakes =
+ }
+
}
public Dimension_DarkWorld() {
}
- public void load() {
- GameRegistry.registerBlock(portalBlock, "dimensionDarkWorld_portal");
+ public void load() {
DimensionManager.registerProviderType(DIMID, WorldProviderMod.class, false);
DimensionManager.registerDimension(DIMID, DIMID);
// GameRegistry.addSmelting(Items.record_11, new ItemStack(block),
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java b/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java
index 964da5d38d..aace191cbb 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java
+++ b/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java
@@ -27,7 +27,7 @@ public class Biome_DarkWorld {
}
public void load() {
- BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.SPOOKY);
+ BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DEAD);
BiomeManager.addSpawnBiome(biome);
// BiomeManager.desertBiomes.add(new BiomeManager.BiomeEntry(biome,
// 10));
@@ -57,24 +57,24 @@ public class Biome_DarkWorld {
public BiomeGenbiomeDarkWorld() {
super(CORE.DARKBIOME_ID);
Utils.LOG_INFO("Dark World Temperature Category: "+getTempCategory());
- setBiomeName("Dark World");
- topBlock = Dimension_DarkWorld.blockTopLayer;
- fillerBlock = Dimension_DarkWorld.blockSecondLayer;
- theBiomeDecorator.generateLakes = true;
- theBiomeDecorator.treesPerChunk = 50;
- theBiomeDecorator.flowersPerChunk = 4;
- theBiomeDecorator.grassPerChunk = 10;
- theBiomeDecorator.deadBushPerChunk = 25;
- theBiomeDecorator.mushroomsPerChunk = 5;
- theBiomeDecorator.reedsPerChunk = 1;
- theBiomeDecorator.cactiPerChunk = 1;
- theBiomeDecorator.sandPerChunk = 8;
- enableRain = true;
- enableSnow = false;
- rainfall = 0.7F;
- setHeight(new BiomeGenBase.Height(0.15F, 0.65F));
- waterColorMultiplier = 0x2d0b2d;
- rootHeight = 48; //Ground level
+ this.setBiomeName("Dark World");
+ this.topBlock = Dimension_DarkWorld.blockTopLayer;
+ this.fillerBlock = Dimension_DarkWorld.blockSecondLayer;
+ this.theBiomeDecorator.generateLakes = true;
+ this.theBiomeDecorator.treesPerChunk = 50;
+ this.theBiomeDecorator.flowersPerChunk = 4;
+ this.theBiomeDecorator.grassPerChunk = 10;
+ this.theBiomeDecorator.deadBushPerChunk = 25;
+ this.theBiomeDecorator.mushroomsPerChunk = 5;
+ this.theBiomeDecorator.reedsPerChunk = 1;
+ this.theBiomeDecorator.cactiPerChunk = 1;
+ this.theBiomeDecorator.sandPerChunk = 8;
+ this.enableRain = true;
+ this.enableSnow = false;
+ this.rainfall = 0.7F;
+ this.setHeight(new BiomeGenBase.Height(0.25F, 0.65F));
+ this.waterColorMultiplier = 0x2d0b2d;
+ this.rootHeight = -0.25f; //Ground level
this.spawnableMonsterList.clear();
this.spawnableCreatureList.clear();
@@ -86,7 +86,7 @@ public class Biome_DarkWorld {
this.spawnableMonsterList.add(new SpawnListEntry(EntityCreeper.class, 5, 1, 5));
this.spawnableMonsterList.add(new SpawnListEntry(EntityEnderman.class, 5, 1, 5));
this.spawnableMonsterList.add(new SpawnListEntry(EntityGhast.class, 5, 1, 5));
- this.spawnableMonsterList.add(new SpawnListEntry(EntityGiantZombie.class, 5, 1, 5));
+ this.spawnableMonsterList.add(new SpawnListEntry(EntityGiantZombie.class, 15, 1, 5));
this.spawnableMonsterList.add(new SpawnListEntry(EntityMagmaCube.class, 5, 1, 5));
this.spawnableMonsterList.add(new SpawnListEntry(EntityPigZombie.class, 5, 1, 5));
this.spawnableMonsterList.add(new SpawnListEntry(EntitySkeleton.class, 5, 1, 5));
@@ -95,6 +95,8 @@ public class Biome_DarkWorld {
this.spawnableMonsterList.add(new SpawnListEntry(EntityWolf.class, 5, 1, 5));
this.spawnableMonsterList.add(new SpawnListEntry(EntityZombie.class, 5, 1, 5));
+ this.spawnableCreatureList.add(new SpawnListEntry(EntityCow.class, 5, 5, 10));
+
}
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPollutedDirt.java b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPollutedDirt.java
new file mode 100644
index 0000000000..821e59be7d
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPollutedDirt.java
@@ -0,0 +1,17 @@
+package gtPlusPlus.core.world.darkworld.block;
+
+import cpw.mods.fml.common.registry.LanguageRegistry;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import net.minecraft.block.BlockGrass;
+
+public class blockDarkWorldPollutedDirt extends BlockGrass {
+
+ public blockDarkWorldPollutedDirt() {
+ this.setCreativeTab(AddToCreativeTab.tabBOP);
+ this.setBlockName("blockDarkWorldGround2");
+ this.setHardness(0.5F);
+ this.setBlockTextureName("minecraft" + ":" + "dirt");
+ LanguageRegistry.addName(this, "Polluted Soil");
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java b/src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java
index 6fb88631bf..0c46c7824c 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java
+++ b/src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java
@@ -3,10 +3,12 @@ package gtPlusPlus.core.world.darkworld.chunk;
import java.util.List;
import java.util.Random;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFalling;
import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.init.Blocks;
import net.minecraft.util.IProgressUpdate;
import net.minecraft.util.MathHelper;
import net.minecraft.world.*;
@@ -372,7 +374,7 @@ public class ChunkProviderModded implements IChunkProvider {
boolean flag = false;
MinecraftForge.EVENT_BUS
- .post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag));
+ .post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag));
int k1;
int l1;
@@ -384,7 +386,13 @@ public class ChunkProviderModded implements IChunkProvider {
k1 = k + this.rand.nextInt(16) + 8;
l1 = this.rand.nextInt(256);
i2 = l + this.rand.nextInt(16) + 8;
- (new WorldGenLakes(Dimension_DarkWorld.blockFluidLakes)).generate(this.worldObj, this.rand, k1, l1, i2);
+ try {
+ (new WorldGenLakes(Dimension_DarkWorld.blockFluidLakes)).generate(this.worldObj, this.rand, k1, l1, i2);
+ } catch (NullPointerException n){
+ n.getStackTrace();
+ (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2);
+ Utils.LOG_INFO("Error while generating DarkWorld Lake.");
+ }
}
if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag,
@@ -394,8 +402,12 @@ public class ChunkProviderModded implements IChunkProvider {
l1 = this.rand.nextInt(this.rand.nextInt(248) + 8);
i2 = l + this.rand.nextInt(16) + 8;
- if (l1 < 63 || this.rand.nextInt(10) == 0) {
- (new WorldGenLakes(Dimension_DarkWorld.blockFluidLakes)).generate(this.worldObj, this.rand, k1, l1, i2);
+ if (l1 < 63 || this.rand.nextInt(10) == 0) { //Changes 63 -> 128
+ try{
+ (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2);
+ } catch (NullPointerException n){
+ Utils.LOG_INFO("Error while generating DarkWorld Lake. [2]");
+ }
}
}
biomegenbase.decorate(this.worldObj, this.rand, k, l);
@@ -404,7 +416,7 @@ public class ChunkProviderModded implements IChunkProvider {
l += 8;
MinecraftForge.EVENT_BUS
- .post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag));
+ .post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag));
BlockFalling.fallInstantly = false;
}
@@ -462,18 +474,18 @@ public class ChunkProviderModded implements IChunkProvider {
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4);
return par1EnumCreatureType == EnumCreatureType.monster
&& this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4)
- ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList()
+ ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList()
: biomegenbase.getSpawnableList(par1EnumCreatureType);
}
@Override
public ChunkPosition func_147416_a(World p_147416_1_, String p_147416_2_, int p_147416_3_, int p_147416_4_, int p_147416_5_) {
- return /*
- * "Stronghold".equals(p_147416_2_) &&
- * this.strongholdGenerator != null ?
- * this.strongholdGenerator.func_151545_a(p_147416_1_,
- * p_147416_3_, p_147416_4_, p_147416_5_) :
- */ null;
+ return
+ "Village".equals(p_147416_2_) &&
+ this.villageGenerator != null ?
+ this.villageGenerator.func_151545_a(p_147416_1_,
+ p_147416_3_, p_147416_4_, p_147416_5_) :
+ null;
}
@Override
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java b/src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java
new file mode 100644
index 0000000000..eb9c284543
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java
@@ -0,0 +1,59 @@
+package gtPlusPlus.core.world.darkworld.world;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import net.minecraft.world.WorldType;
+
+public class CustomWorldType extends WorldType{
+
+ public CustomWorldType(String name) {
+ super(name);
+ }
+
+ public CustomWorldType(int p_i1959_1_, String p_i1959_2_){
+ this("test");
+ try {
+ //System.out.println(Arrays.toString(getClass().getSuperclass().getMethods()));
+ Method m = getClass().getSuperclass().getDeclaredMethod("WorldType", new Class<?>[]{});
+ m.setAccessible(true);
+ m.invoke(this, p_i1959_1_, p_i1959_2_, 0);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public CustomWorldType(int p_i1960_1_, String p_i1960_2_, int p_i1960_3_){
+ this("test2");
+ try {
+ //System.out.println(Arrays.toString(getClass().getSuperclass().getMethods()));
+ Method m = getClass().getSuperclass().getDeclaredMethod("WorldType", new Class<?>[]{});
+ m.setAccessible(true);
+ m.invoke(this, p_i1960_1_, p_i1960_2_, p_i1960_3_);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ private WorldType getMC(){
+ try {
+ Constructor<WorldType> c = WorldType.class.getDeclaredConstructor();
+ c.setAccessible(true); // solution
+ return c.newInstance();
+
+ // production code should handle these exceptions more gracefully
+ } catch (InvocationTargetException x) {
+ x.printStackTrace();
+ } catch (NoSuchMethodException x) {
+ x.printStackTrace();
+ } catch (InstantiationException x) {
+ x.printStackTrace();
+ } catch (IllegalAccessException x) {
+ x.printStackTrace();
+ }
+ return null;
+ }
+}
+
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java b/src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java
index eb9f439887..fd0f7a9b74 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java
+++ b/src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java
@@ -15,7 +15,7 @@ public class WorldProviderMod extends WorldProvider {
public void registerWorldChunkManager() {
this.worldChunkMgr = new WorldChunkManagerCustom(this.worldObj.getSeed(), WorldType.AMPLIFIED);
this.isHellWorld = false;
- this.hasNoSky = true;
+ this.hasNoSky = false;
this.dimensionId = Dimension_DarkWorld.DIMID;
}
@@ -46,6 +46,16 @@ public class WorldProviderMod extends WorldProvider {
}
@Override
+ public float getSunBrightness(float par1) {
+ return (par1*2F);
+ }
+
+ @Override
+ public float getStarBrightness(float par1) {
+ return (par1*5F);
+ }
+
+ @Override
@SideOnly(Side.CLIENT)
public boolean doesXZShowFog(int par1, int par2) {
return true;