diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2017-05-28 18:42:26 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2017-05-28 18:42:26 +1000 |
commit | ecc8a0dac954c75eb7fc1748eb1c7c267f7cc948 (patch) | |
tree | 39e8d4df155cf6e96d40154c7a6e01734890ecd7 /src/Java | |
parent | 6d0ac5984482e24d20b1928f7bb61f29b55bc62c (diff) | |
download | GT5-Unofficial-ecc8a0dac954c75eb7fc1748eb1c7c267f7cc948.tar.gz GT5-Unofficial-ecc8a0dac954c75eb7fc1748eb1c7c267f7cc948.tar.bz2 GT5-Unofficial-ecc8a0dac954c75eb7fc1748eb1c7c267f7cc948.zip |
+ Added a custom ground block for the Dark World Biome/Dimension.
% Changed Dark World dimension ID assignment and handling of internal blocks.
% Tweaked the Dark World Biome, from DESERT to SPOOKY, lowered the default ground height from 64 to 48 and disabled Snow.
% Tweaked the Dark World Portal Block to no longer spawn entities and adjusted the colour slightly.
Diffstat (limited to 'src/Java')
7 files changed, 79 insertions, 44 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus_Secondary.java b/src/Java/gtPlusPlus/GTplusplus_Secondary.java index 259c959590..e9888ded70 100644 --- a/src/Java/gtPlusPlus/GTplusplus_Secondary.java +++ b/src/Java/gtPlusPlus/GTplusplus_Secondary.java @@ -32,6 +32,7 @@ public class GTplusplus_Secondary implements IFuelHandler, IWorldGenerator{ // Dark World Handler Biome_DarkWorld DarkWorld_Biome = new Biome_DarkWorld(); Dimension_DarkWorld DarkWorld_Dimension = new Dimension_DarkWorld(); + public static int globalDarkWorldPortalSpawnTimer = 0; @EventHandler public void load(final FMLInitializationEvent e) { diff --git a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java b/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java index b44b05ede6..7891b0c772 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java @@ -7,10 +7,8 @@ import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.world.darkworld.biome.Biome_DarkWorld; -import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPortal; -import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPortalFrame; +import gtPlusPlus.core.world.darkworld.block.*; import gtPlusPlus.core.world.darkworld.item.itemDarkWorldPortalTrigger; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; @@ -19,7 +17,6 @@ import net.minecraft.crash.CrashReportCategory; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.*; @@ -39,11 +36,11 @@ import net.minecraftforge.event.terraingen.*; public class Dimension_DarkWorld { public Object instance; - public static int DIMID = 93; + public static int DIMID = 227; - public static blockDarkWorldPortal portal; - public static itemDarkWorldPortalTrigger block; - public static Block blockTopLayer = Block.getBlockFromItem(ItemUtils.getCorrectStacktype("minecraft:dirt:2", 1).getItem()); + public static blockDarkWorldPortal portalBlock; + public static itemDarkWorldPortalTrigger portalItem; + public static Block blockTopLayer; public static Block blockSecondLayer = Blocks.dirt; public static Block blockMainFiller = Blocks.stone; public static Block blockSecondaryFiller; @@ -53,20 +50,25 @@ public class Dimension_DarkWorld { static { - portal = new blockDarkWorldPortal(); - block = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("dimensionDarkWorld_trigger")); - Item.itemRegistry.addObject(423, "dimensionDarkWorld_trigger", block); + 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"); blockPortalFrame = new blockDarkWorldPortalFrame(); + GameRegistry.registerBlock(blockPortalFrame, "blockDarkWorldPortalFrame"); } public Dimension_DarkWorld() { } public void load() { - GameRegistry.registerBlock(portal, "dimensionDarkWorld_portal"); + GameRegistry.registerBlock(portalBlock, "dimensionDarkWorld_portal"); DimensionManager.registerProviderType(DIMID, Dimension_DarkWorld.WorldProviderMod.class, false); DimensionManager.registerDimension(DIMID, DIMID); - GameRegistry.addSmelting(Items.record_11, new ItemStack(block), 1.0f); + // GameRegistry.addSmelting(Items.record_11, new ItemStack(block), + // 1.0f); } @@ -93,8 +95,8 @@ public class Dimension_DarkWorld { @Override public void registerWorldChunkManager() { - this.worldChunkMgr = new WorldChunkManagerCustom(this.worldObj.getSeed(), WorldType.DEFAULT); - this.isHellWorld = true; + this.worldChunkMgr = new WorldChunkManagerCustom(this.worldObj.getSeed(), WorldType.AMPLIFIED); + this.isHellWorld = false; this.hasNoSky = true; this.dimensionId = DIMID; } @@ -112,7 +114,7 @@ public class Dimension_DarkWorld { @Override public boolean isSurfaceWorld() { - return false; + return true; } @Override @@ -243,8 +245,8 @@ public class Dimension_DarkWorld { double d5 = l1 + 0.5D - par1Entity.posZ; for (int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; --i2) { - if (this.worldServerInstance.getBlock(l3, i2, l1) == portal) { - while (this.worldServerInstance.getBlock(l3, i2 - 1, l1) == portal) { + if (this.worldServerInstance.getBlock(l3, i2, l1) == portalBlock) { + while (this.worldServerInstance.getBlock(l3, i2 - 1, l1) == portalBlock) { --i2; } @@ -275,19 +277,19 @@ public class Dimension_DarkWorld { d7 = k + 0.5D; int i4 = -1; - if (this.worldServerInstance.getBlock(i - 1, j, k) == portal) { + if (this.worldServerInstance.getBlock(i - 1, j, k) == portalBlock) { i4 = 2; } - if (this.worldServerInstance.getBlock(i + 1, j, k) == portal) { + if (this.worldServerInstance.getBlock(i + 1, j, k) == portalBlock) { i4 = 0; } - if (this.worldServerInstance.getBlock(i, j, k - 1) == portal) { + if (this.worldServerInstance.getBlock(i, j, k - 1) == portalBlock) { i4 = 3; } - if (this.worldServerInstance.getBlock(i, j, k + 1) == portal) { + if (this.worldServerInstance.getBlock(i, j, k + 1) == portalBlock) { i4 = 1; } @@ -553,7 +555,7 @@ public class Dimension_DarkWorld { i4 = j2 + k3; j4 = k2 + (j3 - 1) * l2; flag = j3 == 0 || j3 == 3 || k3 == -1 || k3 == 3; - this.worldServerInstance.setBlock(l3, i4, j4, flag ? blockPortalFrame : portal, 0, 2); + this.worldServerInstance.setBlock(l3, i4, j4, flag ? blockPortalFrame : portalBlock, 0, 2); } } @@ -635,7 +637,8 @@ public class Dimension_DarkWorld { /** * Holds Stronghold Generator */ - private MapGenStronghold strongholdGenerator = new MapGenStronghold(); + // private MapGenStronghold strongholdGenerator = new + // MapGenStronghold(); /** * Holds Village Generator */ @@ -661,8 +664,12 @@ public class Dimension_DarkWorld { { caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE); - strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(strongholdGenerator, - net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.STRONGHOLD); + /* + * strongholdGenerator = (MapGenStronghold) + * TerrainGen.getModdedMapGen(strongholdGenerator, + * net.minecraftforge.event.terraingen.InitMapGenEvent.EventType. + * STRONGHOLD); + */ villageGenerator = (MapGenVillage) TerrainGen.getModdedMapGen(villageGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE); mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(mineshaftGenerator, @@ -1052,8 +1059,12 @@ public class Dimension_DarkWorld { @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 /* + * "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; } @Override @@ -1081,13 +1092,13 @@ public class Dimension_DarkWorld { public WorldChunkManagerCustom() { this.biomeCache = new BiomeCache(this); this.biomesToSpawnIn = new ArrayList(); - this.biomesToSpawnIn.addAll(allowedBiomes); + this.biomesToSpawnIn.addAll(allowedBiomes); // TODO } public WorldChunkManagerCustom(long seed, WorldType worldType) { this(); // i changed this to my GenLayerDarkWorld - GenLayer[] agenlayer = LightForestGenLayer.makeTheWorld(seed, worldType); + GenLayer[] agenlayer = GenLayerDarkWorld.makeTheWorld(seed, worldType); agenlayer = getModdedBiomeGenerators(worldType, seed, agenlayer); this.genBiomes = agenlayer[0]; @@ -1308,9 +1319,9 @@ public class Dimension_DarkWorld { } } - public static class LightForestGenLayer extends GenLayer { + public static class GenLayerDarkWorld extends GenLayer { - public LightForestGenLayer(long seed) { + public GenLayerDarkWorld(long seed) { super(seed); } 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 e899b34025..b61f168ca0 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java @@ -6,6 +6,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld; import net.minecraft.entity.monster.*; import net.minecraft.entity.passive.*; @@ -25,7 +26,7 @@ public class Biome_DarkWorld { } public void load() { - BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DESERT); + BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.SPOOKY); BiomeManager.addSpawnBiome(biome); // BiomeManager.desertBiomes.add(new BiomeManager.BiomeEntry(biome, // 10)); @@ -54,7 +55,8 @@ public class Biome_DarkWorld { @SuppressWarnings("unchecked") public BiomeGenbiomeDarkWorld() { super(40); - setBiomeName("biomeDarkWorld"); + Utils.LOG_INFO("Dark World Temperature Category: "+getTempCategory()); + setBiomeName("Dark World"); topBlock = Dimension_DarkWorld.blockTopLayer; fillerBlock = Dimension_DarkWorld.blockSecondLayer; theBiomeDecorator.generateLakes = true; @@ -66,9 +68,12 @@ public class Biome_DarkWorld { theBiomeDecorator.reedsPerChunk = 1; theBiomeDecorator.cactiPerChunk = 1; theBiomeDecorator.sandPerChunk = 8; + enableRain = true; + enableSnow = false; rainfall = 0.7F; setHeight(new BiomeGenBase.Height(0.15F, 0.8F)); waterColorMultiplier = 0x2d0b2d; + rootHeight = 48; //Ground level this.spawnableMonsterList.clear(); this.spawnableCreatureList.clear(); diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldGround.java b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldGround.java new file mode 100644 index 0000000000..fc7e89c968 --- /dev/null +++ b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldGround.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 blockDarkWorldGround extends BlockGrass { + + public blockDarkWorldGround() { + this.setCreativeTab(AddToCreativeTab.tabBOP); + this.setBlockName("blockDarkWorldGround"); + this.setHardness(1.0F); + this.setBlockTextureName("minecraft" + ":" + "grass"); + LanguageRegistry.addName(this, "Unstable Earth"); + } + +} diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortal.java b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortal.java index 52b47edaa0..9f747c4f35 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortal.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortal.java @@ -15,7 +15,6 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; -import net.minecraft.item.ItemMonsterPlacer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -79,18 +78,22 @@ public class blockDarkWorldPortal extends BlockBreakable { @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { super.updateTick(par1World, par2, par3, par4, par5Random); - if (par1World.provider.isSurfaceWorld()) { + /*if (par1World.provider.isSurfaceWorld()) { int l; for (l = par3; !World.doesBlockHaveSolidTopSurface(par1World, par2, l, par4) && l > 0; --l) { ; } if (l > 0 && !par1World.isBlockNormalCubeDefault(par2, l + 1, par4, true)) { - Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, par2 + 0.5D, l + 1.1D, par4 + 0.5D); - if (entity != null) { - entity.timeUntilPortal = entity.getPortalCooldown(); + Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 65, par2 + 0.5D, l + 1.1D, par4 + 0.5D); + if (entity != null && globalDarkWorldPortalSpawnTimer >= 100000) { + globalDarkWorldPortalSpawnTimer = 0; + if (MathUtils.randInt(0, 100)>=95){ + entity.timeUntilPortal = entity.getPortalCooldown(); + } } } } + globalDarkWorldPortalSpawnTimer++;*/ } /** @@ -344,12 +347,12 @@ public class blockDarkWorldPortal extends BlockBreakable { @Override public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4){ - return Utils.rgbtoHexValue(255, 128, 0); + return Utils.rgbtoHexValue(255, 255, 0); } @Override public int getRenderColor(final int aMeta) { - return Utils.rgbtoHexValue(255, 128, 0); + return Utils.rgbtoHexValue(255, 255, 0); } } diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortalFrame.java b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortalFrame.java index 699da8d272..209c8309e6 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortalFrame.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortalFrame.java @@ -1,6 +1,5 @@ package gtPlusPlus.core.world.darkworld.block; -import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.lib.CORE; @@ -17,7 +16,6 @@ public class blockDarkWorldPortalFrame extends Block{ this.setLightLevel(0.5F); this.setBlockTextureName(CORE.MODID + ":" + "SwirlRed"); LanguageRegistry.addName(this, "Mystical Frame"); - GameRegistry.registerBlock(this, "blockDarkWorldPortalFrame"); } diff --git a/src/Java/gtPlusPlus/core/world/darkworld/item/itemDarkWorldPortalTrigger.java b/src/Java/gtPlusPlus/core/world/darkworld/item/itemDarkWorldPortalTrigger.java index ab9349121d..658f968fad 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/item/itemDarkWorldPortalTrigger.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/item/itemDarkWorldPortalTrigger.java @@ -67,7 +67,7 @@ public class itemDarkWorldPortalTrigger extends Item { Block i1 = par3World.getBlock(par4, par5, par6); if (i1 == Blocks.air) { par3World.playSoundEffect(par4 + 0.5D, par5 + 0.5D, par6 + 0.5D, "fire.ignite", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F); - Dimension_DarkWorld.portal.tryToCreatePortal(par3World, par4, par5, par6); + Dimension_DarkWorld.portalBlock.tryToCreatePortal(par3World, par4, par5, par6); } par1ItemStack.damageItem(1, par2EntityPlayer); return true; |