From 25209a4bcb9b79647a77bc0c63515f1192154098 Mon Sep 17 00:00:00 2001 From: Muramasa Date: Fri, 29 Jul 2016 18:54:45 +0100 Subject: Merge GG into GT --- .../gregtech/common/GT_Worldgen_GT_Ore_Layer.java | 16 ++++++---- .../common/GT_Worldgen_GT_Ore_SmallPieces.java | 18 +++++++---- .../java/gregtech/common/GT_Worldgenerator.java | 35 +++++++++++++++------- 3 files changed, 48 insertions(+), 21 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java index 9ed6c1dc48..cff1da7192 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java @@ -25,18 +25,24 @@ public class GT_Worldgen_GT_Ore_Layer public final short mSecondaryMeta; public final short mBetweenMeta; public final short mSporadicMeta; - public final String mBiome; + public final String mRestrictBiome; public final boolean mOverworld; public final boolean mNether; public final boolean mEnd; public final boolean mEndAsteroid; + public final boolean mMoon; + public final boolean mMars; + public final boolean mAsteroid; - public GT_Worldgen_GT_Ore_Layer(String aName, boolean aDefault, int aMinY, int aMaxY, int aWeight, int aDensity, int aSize, boolean aOverworld, boolean aNether, boolean aEnd, Materials aPrimary, Materials aSecondary, Materials aBetween, Materials aSporadic) { + public GT_Worldgen_GT_Ore_Layer(String aName, boolean aDefault, int aMinY, int aMaxY, int aWeight, int aDensity, int aSize, boolean aOverworld, boolean aNether, boolean aEnd, boolean aMoon, boolean aMars, boolean aAsteroid, Materials aPrimary, Materials aSecondary, Materials aBetween, Materials aSporadic) { super(aName, sList, aDefault); this.mOverworld = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Overworld", aOverworld); this.mNether = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Nether", aNether); this.mEnd = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "TheEnd", aEnd); this.mEndAsteroid = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "EndAsteroid", aEnd); + this.mMoon = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Moon", aMoon); + this.mMars = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Mars", aMars); + this.mAsteroid = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Asteroid", aAsteroid); this.mMinY = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MinHeight", aMinY)); this.mMaxY = ((short) Math.max(this.mMinY + 5, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", aMaxY))); this.mWeight = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "RandomWeight", aWeight)); @@ -46,7 +52,7 @@ public class GT_Worldgen_GT_Ore_Layer this.mSecondaryMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSecondaryLayer", aSecondary.mMetaItemSubID)); this.mBetweenMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporadiclyInbetween", aBetween.mMetaItemSubID)); this.mSporadicMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporaticlyAround", aSporadic.mMetaItemSubID)); - this.mBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "BiomeName", "None"); + this.mRestrictBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "mRestrictToBiomeName", "None"); if (this.mEnabled) { GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mPrimaryMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd); GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mSecondaryMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd); @@ -57,10 +63,10 @@ public class GT_Worldgen_GT_Ore_Layer } public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) { - if (!this.mBiome.equals("None") && !(this.mBiome.equals(aBiome))) { + if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) { return false; //Not the correct biome for ore mix } - if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { + if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) || ((aDimensionType == -30) && (this.mAsteroid)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { return false; } int tMinY = this.mMinY + aRandom.nextInt(this.mMaxY - this.mMinY - 5); diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java index 5365eb82df..71fc349b4b 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java @@ -18,25 +18,31 @@ public class GT_Worldgen_GT_Ore_SmallPieces public final boolean mOverworld; public final boolean mNether; public final boolean mEnd; - public final String mBiome; + public final boolean mMoon; + public final boolean mMars; + public final boolean mAsteroid; + public final String mRestrictBiome; - public GT_Worldgen_GT_Ore_SmallPieces(String aName, boolean aDefault, int aMinY, int aMaxY, int aAmount, boolean aOverworld, boolean aNether, boolean aEnd, Materials aPrimary) { + public GT_Worldgen_GT_Ore_SmallPieces(String aName, boolean aDefault, int aMinY, int aMaxY, int aAmount, boolean aOverworld, boolean aNether, boolean aEnd, boolean aMoon, boolean aMars, boolean aAsteroid, Materials aPrimary) { super(aName, GregTech_API.sWorldgenList, aDefault); this.mOverworld = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Overworld", aOverworld); this.mNether = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Nether", aNether); this.mEnd = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "TheEnd", aEnd); + this.mMoon = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Moon", aMoon); + this.mMars = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Mars", aMars); + this.mAsteroid = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Asteroid", aAsteroid); this.mMinY = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MinHeight", aMinY)); this.mMaxY = ((short) Math.max(this.mMinY + 1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", aMaxY))); this.mAmount = ((short) Math.max(1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Amount", aAmount))); this.mMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Ore", aPrimary.mMetaItemSubID)); - this.mBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "BiomeName", "None"); + this.mRestrictBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "mRestrictToBiomeName", "None"); } public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) { - if (!this.mBiome.equals("None") && !(this.mBiome.equals(aBiome))) { - return false; //Not the correct biome for ore mix + if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) { + return false; //Not the correct biome for small ore } - if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { + if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) || ((aDimensionType == -30) && (this.mAsteroid)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { return false; } if (this.mMeta > 0) { diff --git a/src/main/java/gregtech/common/GT_Worldgenerator.java b/src/main/java/gregtech/common/GT_Worldgenerator.java index de0606b62f..f05143b0d1 100644 --- a/src/main/java/gregtech/common/GT_Worldgenerator.java +++ b/src/main/java/gregtech/common/GT_Worldgenerator.java @@ -21,12 +21,15 @@ import java.util.Random; public class GT_Worldgenerator implements IWorldGenerator { - public static boolean sAsteroids = true; - private static int mEndAsteroidProbability = 300; + private static int mEndAsteroidProbability = 50; + private static int mGCAsteroidProbability = 300; private static int mSize = 100; private static int endMinSize = 50; private static int endMaxSize = 200; + private static int gcMinSize = 100; + private static int gcMaxSize = 400; private static boolean endAsteroids = true; + private static boolean gcAsteroids = true; public List mList = new ArrayList(); public boolean mIsGenerating = false; @@ -36,6 +39,10 @@ public class GT_Worldgenerator endMinSize = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidMinSize", 50); endMaxSize = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidMaxSize", 200); mEndAsteroidProbability = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidProbability", 300); + gcAsteroids = GregTech_API.sWorldgenFile.get("gcasteroids", "GenerateGCAsteroids", true); + gcMinSize = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidMinSize", 100); + gcMaxSize = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidMaxSize", 400); + mGCAsteroidProbability = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidProbability", 300); GameRegistry.registerWorldGenerator(this, 1073741823); } @@ -118,8 +125,9 @@ public class GT_Worldgenerator //Asteroid Worldgen int tDimensionType = this.mWorld.provider.dimensionId; Random aRandom = new Random(); - if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0)))) { - short primaryMeta = 0; + if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0))) || ((tDimensionType == -30) && gcAsteroids && ((mGCAsteroidProbability <= 1) || (aRandom.nextInt(mGCAsteroidProbability) == 0)))) { + + short primaryMeta = 0; short secondaryMeta = 0; short betweenMeta = 0; short sporadicMeta = 0; @@ -132,7 +140,7 @@ public class GT_Worldgenerator tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer) tWorldGen).mWeight; if (tRandomWeight <= 0) { try { - if (tWorldGen.mEndAsteroid && tDimensionType == 1) { + if ((tWorldGen.mEndAsteroid && tDimensionType == 1) || (tWorldGen.mAsteroid && tDimensionType == -30)) { primaryMeta = tWorldGen.mPrimaryMeta; secondaryMeta = tWorldGen.mSecondaryMeta; betweenMeta = tWorldGen.mBetweenMeta; @@ -152,6 +160,8 @@ public class GT_Worldgenerator int tZ = mZ + aRandom.nextInt(16); if (tDimensionType == 1) { mSize = aRandom.nextInt((int) (endMaxSize - endMinSize)); + } else if (tDimensionType == -30) { + mSize = aRandom.nextInt((int) (gcMaxSize - gcMinSize)); } if ((mWorld.getBlock(tX, tY, tZ).isAir(mWorld, tX, tY, tZ))) { float var6 = aRandom.nextFloat() * 3.141593F; @@ -185,14 +195,19 @@ public class GT_Worldgenerator if ((var39 * var39 + var42 * var42 + var45 * var45 < 1.0D) && (mWorld.getBlock(tX, tY, tZ).isAir(mWorld, tX, tY, tZ))) { int ranOre = aRandom.nextInt(50); if (ranOre < 3) { - GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, primaryMeta , true); + GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, primaryMeta, false); } else if (ranOre < 6) { - GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, secondaryMeta , true); + GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, secondaryMeta, false); } else if (ranOre < 8) { - GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, betweenMeta , true); + GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, betweenMeta, false); } else if (ranOre < 10) { - GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, sporadicMeta , true); - } else {mWorld.setBlock(eX, eY, eZ, Blocks.end_stone, 0, 0); + GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, sporadicMeta, false); + } else { + if (tDimensionType == -1) { + mWorld.setBlock(eX, eY, eZ, Blocks.end_stone, 0, 0); + } else if (tDimensionType == -30) { + mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3); + } } } } -- cgit From b5b8ea974ff79201a9dd12d77917d3b28d07579c Mon Sep 17 00:00:00 2001 From: Muramasa Date: Fri, 29 Jul 2016 20:13:02 +0100 Subject: Bugs & Removal of GG's TileEntityOres --- src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java | 2 +- src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java | 2 +- src/main/java/gregtech/common/GT_Worldgenerator.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java index cff1da7192..d8a165a8af 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java @@ -52,7 +52,7 @@ public class GT_Worldgen_GT_Ore_Layer this.mSecondaryMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSecondaryLayer", aSecondary.mMetaItemSubID)); this.mBetweenMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporadiclyInbetween", aBetween.mMetaItemSubID)); this.mSporadicMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporaticlyAround", aSporadic.mMetaItemSubID)); - this.mRestrictBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "mRestrictToBiomeName", "None"); + this.mRestrictBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "RestrictToBiomeName", "None"); if (this.mEnabled) { GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mPrimaryMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd); GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mSecondaryMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd); diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java index 71fc349b4b..c5c6481344 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java @@ -35,7 +35,7 @@ public class GT_Worldgen_GT_Ore_SmallPieces this.mMaxY = ((short) Math.max(this.mMinY + 1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", aMaxY))); this.mAmount = ((short) Math.max(1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Amount", aAmount))); this.mMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Ore", aPrimary.mMetaItemSubID)); - this.mRestrictBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "mRestrictToBiomeName", "None"); + this.mRestrictBiome = GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "RestrictToBiomeName", "None"); } public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) { diff --git a/src/main/java/gregtech/common/GT_Worldgenerator.java b/src/main/java/gregtech/common/GT_Worldgenerator.java index f05143b0d1..1dbd77a6da 100644 --- a/src/main/java/gregtech/common/GT_Worldgenerator.java +++ b/src/main/java/gregtech/common/GT_Worldgenerator.java @@ -21,8 +21,8 @@ import java.util.Random; public class GT_Worldgenerator implements IWorldGenerator { - private static int mEndAsteroidProbability = 50; - private static int mGCAsteroidProbability = 300; + private static int mEndAsteroidProbability = 300; + private static int mGCAsteroidProbability = 50; private static int mSize = 100; private static int endMinSize = 50; private static int endMaxSize = 200; -- cgit From ed89ccbc4f2cd1f6e2c13287f6c0b07ac7a246da Mon Sep 17 00:00:00 2001 From: Muramasa Date: Mon, 1 Aug 2016 15:08:11 +0100 Subject: Remove asteroids from isGenerationAllowed --- src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java | 2 +- src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java | 2 +- src/main/java/gregtech/common/GT_Worldgenerator.java | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java index d8a165a8af..cde5b2600b 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java @@ -66,7 +66,7 @@ public class GT_Worldgen_GT_Ore_Layer if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) { return false; //Not the correct biome for ore mix } - if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) || ((aDimensionType == -30) && (this.mAsteroid)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { + if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { return false; } int tMinY = this.mMinY + aRandom.nextInt(this.mMaxY - this.mMinY - 5); diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java index c5c6481344..305f03d52b 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java @@ -42,7 +42,7 @@ public class GT_Worldgen_GT_Ore_SmallPieces if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) { return false; //Not the correct biome for small ore } - if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) || ((aDimensionType == -30) && (this.mAsteroid)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { + if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { return false; } if (this.mMeta > 0) { diff --git a/src/main/java/gregtech/common/GT_Worldgenerator.java b/src/main/java/gregtech/common/GT_Worldgenerator.java index 1dbd77a6da..2d421097fc 100644 --- a/src/main/java/gregtech/common/GT_Worldgenerator.java +++ b/src/main/java/gregtech/common/GT_Worldgenerator.java @@ -206,7 +206,12 @@ public class GT_Worldgenerator if (tDimensionType == -1) { mWorld.setBlock(eX, eY, eZ, Blocks.end_stone, 0, 0); } else if (tDimensionType == -30) { - mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3); + //int asteroidType = aRandom.nextInt(20); + //if (asteroidType == 19) { //Rare Asteroid? + //mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3); + //} else { + mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3); + //} } } } -- cgit From a1a65ef0f665b67088f06915e52b33c1f09c192d Mon Sep 17 00:00:00 2001 From: Muramasa Date: Tue, 2 Aug 2016 09:33:22 +0100 Subject: Use dim name for GC worlds. --- src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java | 2 +- src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java index cde5b2600b..45afe9c81a 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java @@ -66,7 +66,7 @@ public class GT_Worldgen_GT_Ore_Layer if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) { return false; //Not the correct biome for ore mix } - if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { + if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aWorld.provider.getDimensionName().equals("Moon")) && (this.mMoon)) || ((aWorld.provider.getDimensionName().equals("Mars")) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { return false; } int tMinY = this.mMinY + aRandom.nextInt(this.mMaxY - this.mMinY - 5); diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java index 305f03d52b..0e1656f572 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java @@ -42,7 +42,7 @@ public class GT_Worldgen_GT_Ore_SmallPieces if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) { return false; //Not the correct biome for small ore } - if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aDimensionType == -28) && (this.mMoon)) || ((aDimensionType == -29) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { + if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aWorld.provider.getDimensionName().equals("Moon")) && (this.mMoon)) || ((aWorld.provider.getDimensionName().equals("Mars")) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) { return false; } if (this.mMeta > 0) { -- cgit From 1647387280033e6ccdc09db0db38937e981d51e5 Mon Sep 17 00:00:00 2001 From: Muramasa Date: Wed, 10 Aug 2016 21:14:53 +0100 Subject: GC Ore Support --- .../java/gregtech/common/GT_Worldgen_Stone.java | 1 - .../java/gregtech/common/GT_Worldgenerator.java | 7 +- .../java/gregtech/common/blocks/GT_Block_Ores.java | 7 +- .../common/blocks/GT_Block_Ores_Abstract.java | 91 ++++++++-------------- .../gregtech/common/blocks/GT_Block_Ores_GC.java | 45 +++++++++++ .../gregtech/common/blocks/GT_Block_Ores_UB1.java | 4 +- .../gregtech/common/blocks/GT_Block_Ores_UB2.java | 4 +- .../gregtech/common/blocks/GT_Block_Ores_UB3.java | 4 +- .../gregtech/common/blocks/GT_TileEntity_Ores.java | 14 ++++ .../multi/GT_MetaTileEntity_DieselEngine.java | 1 + 10 files changed, 105 insertions(+), 73 deletions(-) create mode 100644 src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Worldgen_Stone.java b/src/main/java/gregtech/common/GT_Worldgen_Stone.java index fe3029ccd4..b42b522385 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_Stone.java +++ b/src/main/java/gregtech/common/GT_Worldgen_Stone.java @@ -60,7 +60,6 @@ public class GT_Worldgen_Stone if (tTargetedBlock instanceof GT_Block_Ores_Abstract) { TileEntity tTileEntity = aWorld.getTileEntity(eX, eY, eZ); if ((tTileEntity instanceof GT_TileEntity_Ores)) { - short aMeta = ((GT_TileEntity_Ores) tTileEntity).mMetaData; if (tTargetedBlock != GregTech_API.sBlockOres1) { ((GT_TileEntity_Ores) tTileEntity).convertOreBlock(aWorld, eX, eY, eZ); } diff --git a/src/main/java/gregtech/common/GT_Worldgenerator.java b/src/main/java/gregtech/common/GT_Worldgenerator.java index 2d421097fc..84e3ad9687 100644 --- a/src/main/java/gregtech/common/GT_Worldgenerator.java +++ b/src/main/java/gregtech/common/GT_Worldgenerator.java @@ -124,8 +124,9 @@ public class GT_Worldgenerator } //Asteroid Worldgen int tDimensionType = this.mWorld.provider.dimensionId; + String tDimensionName = this.mWorld.provider.getDimensionName(); Random aRandom = new Random(); - if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0))) || ((tDimensionType == -30) && gcAsteroids && ((mGCAsteroidProbability <= 1) || (aRandom.nextInt(mGCAsteroidProbability) == 0)))) { + if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0))) || ((tDimensionName.equals("Asteroids")) && gcAsteroids && ((mGCAsteroidProbability <= 1) || (aRandom.nextInt(mGCAsteroidProbability) == 0)))) { short primaryMeta = 0; short secondaryMeta = 0; @@ -160,7 +161,7 @@ public class GT_Worldgenerator int tZ = mZ + aRandom.nextInt(16); if (tDimensionType == 1) { mSize = aRandom.nextInt((int) (endMaxSize - endMinSize)); - } else if (tDimensionType == -30) { + } else if (tDimensionName.equals("Asteroids")) { mSize = aRandom.nextInt((int) (gcMaxSize - gcMinSize)); } if ((mWorld.getBlock(tX, tY, tZ).isAir(mWorld, tX, tY, tZ))) { @@ -205,7 +206,7 @@ public class GT_Worldgenerator } else { if (tDimensionType == -1) { mWorld.setBlock(eX, eY, eZ, Blocks.end_stone, 0, 0); - } else if (tDimensionType == -30) { + } else if (tDimensionName.equals("Asteroids")) { //int asteroidType = aRandom.nextInt(20); //if (asteroidType == 19) { //Rare Asteroid? //mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3); diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java index c9e02c06bf..66e2f76d05 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java @@ -13,7 +13,7 @@ import net.minecraft.init.Blocks; public class GT_Block_Ores extends GT_Block_Ores_Abstract { public GT_Block_Ores() { - super("gt.blockores", false, Material.rock); + super("gt.blockores", 7, false, Material.rock); } @Override @@ -36,11 +36,6 @@ public class GT_Block_Ores extends GT_Block_Ores_Abstract { return new Materials[]{Materials.Stone, Materials.Netherrack, Materials.Endstone, Materials.GraniteBlack, Materials.GraniteRed, Materials.Marble, Materials.Basalt, Materials.Stone}; } - @Override - public int getHarvestLevel(int aMeta) { - return aMeta == 5 || aMeta == 6 ? 2 : aMeta % 8; - } - @Override public ITexture[] getTextureSet() { //Must have 16 entries. return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0), new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.MARBLE_STONE), new GT_RenderedTexture(Textures.BlockIcons.BASALT_STONE), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0)}; diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java index 5b314ae5b4..17351475b2 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java @@ -36,60 +36,31 @@ public abstract class GT_Block_Ores_Abstract extends GT_Generic_Block implements public static ThreadLocal mTemporaryTileEntity = new ThreadLocal(); public static boolean FUCKING_LOCK = false; public static boolean tHideOres; + public static int tOreMetaCount; - protected GT_Block_Ores_Abstract(String aUnlocalizedName, boolean aHideFirstMeta, Material aMaterial) { + protected GT_Block_Ores_Abstract(String aUnlocalizedName, int aOreMetaCount, boolean aHideFirstMeta, Material aMaterial) { super(GT_Item_Ores.class, aUnlocalizedName, aMaterial); this.isBlockContainer = true; setStepSound(soundTypeStone); setCreativeTab(GregTech_API.TAB_GREGTECH_ORES); tHideOres = Loader.isModLoaded("NotEnoughItems") && GT_Mod.gregtechproxy.mHideUnusedOres; + tOreMetaCount = aOreMetaCount; + if(aOreMetaCount > 8 || aOreMetaCount < 0) aOreMetaCount = 8; + for (int i = 0; i < 16; i++) { GT_ModHandler.addValuableOre(this, i, 1); } for (int i = 1; i < GregTech_API.sGeneratedMaterials.length; i++) { if (GregTech_API.sGeneratedMaterials[i] != null) { - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + i + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 1000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 2000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 3000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 4000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 5000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 6000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 7000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 16000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 17000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 18000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 19000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 20000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 21000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 22000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 23000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - if ((GregTech_API.sGeneratedMaterials[i].mTypes & 0x8) != 0) { - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[0] != null ? this.getProcessingPrefix()[0].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i)); - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[1] != null ? this.getProcessingPrefix()[1].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + 1000)); - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[2] != null ? this.getProcessingPrefix()[2].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + 2000)); - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[3] != null ? this.getProcessingPrefix()[3].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + 3000)); - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[4] != null ? this.getProcessingPrefix()[4].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + 4000)); - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[5] != null ? this.getProcessingPrefix()[5].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + 5000)); - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[6] != null ? this.getProcessingPrefix()[6].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + 6000)); - GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[7] != null ? this.getProcessingPrefix()[7].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + 7000)); - if (tHideOres) { - if (aHideFirstMeta) codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 1000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 2000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 3000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 4000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 5000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 6000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 7000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 16000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 17000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 18000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 19000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 20000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 21000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 22000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 23000)); + for (int j = 0; j < aOreMetaCount; j++) { + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + (j * 1000)) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + ((i + 16000) + (j * 1000)) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + if ((GregTech_API.sGeneratedMaterials[i].mTypes & 0x8) != 0) { + GT_OreDictUnificator.registerOre(this.getProcessingPrefix()[j] != null ? this.getProcessingPrefix()[j].get(GregTech_API.sGeneratedMaterials[i]) : "", new ItemStack(this, 1, i + (j * 1000))); + if (tHideOres) { + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, (j == 0 && aHideFirstMeta) ? i : i + (j * 1000))); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, (i + 16000) + (j * 1000))); + } } } } @@ -162,7 +133,7 @@ public abstract class GT_Block_Ores_Abstract extends GT_Generic_Block implements } public int getHarvestLevel(int aMeta) { - return 2; + return aMeta == 5 || aMeta == 6 ? 2 : aMeta % 8; } public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { @@ -268,22 +239,22 @@ public abstract class GT_Block_Ores_Abstract extends GT_Generic_Block implements for (int i = 0; i < GregTech_API.sGeneratedMaterials.length; i++) { Materials tMaterial = GregTech_API.sGeneratedMaterials[i]; if ((tMaterial != null) && ((tMaterial.mTypes & 0x8) != 0)) { - aList.add(new ItemStack(aItem, 1, i)); - aList.add(new ItemStack(aItem, 1, i + 1000)); - aList.add(new ItemStack(aItem, 1, i + 2000)); - aList.add(new ItemStack(aItem, 1, i + 3000)); - aList.add(new ItemStack(aItem, 1, i + 4000)); - aList.add(new ItemStack(aItem, 1, i + 5000)); - aList.add(new ItemStack(aItem, 1, i + 6000)); - aList.add(new ItemStack(aItem, 1, i + 7000)); - aList.add(new ItemStack(aItem, 1, i + 16000)); - aList.add(new ItemStack(aItem, 1, i + 17000)); - aList.add(new ItemStack(aItem, 1, i + 18000)); - aList.add(new ItemStack(aItem, 1, i + 19000)); - aList.add(new ItemStack(aItem, 1, i + 20000)); - aList.add(new ItemStack(aItem, 1, i + 21000)); - aList.add(new ItemStack(aItem, 1, i + 22000)); - aList.add(new ItemStack(aItem, 1, i + 23000)); + if (!(new ItemStack(aItem, 1, i).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i)); + if (!(new ItemStack(aItem, 1, i + 1000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 1000)); + if (!(new ItemStack(aItem, 1, i + 2000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 2000)); + if (!(new ItemStack(aItem, 1, i + 3000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 3000)); + if (!(new ItemStack(aItem, 1, i + 4000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 4000)); + if (!(new ItemStack(aItem, 1, i + 5000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 5000)); + if (!(new ItemStack(aItem, 1, i + 6000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 6000)); + if (!(new ItemStack(aItem, 1, i + 7000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 7000)); + if (!(new ItemStack(aItem, 1, i + 16000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 16000)); + if (!(new ItemStack(aItem, 1, i + 17000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 17000)); + if (!(new ItemStack(aItem, 1, i + 18000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 18000)); + if (!(new ItemStack(aItem, 1, i + 19000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 19000)); + if (!(new ItemStack(aItem, 1, i + 20000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 20000)); + if (!(new ItemStack(aItem, 1, i + 21000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 21000)); + if (!(new ItemStack(aItem, 1, i + 22000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 22000)); + if (!(new ItemStack(aItem, 1, i + 23000).getDisplayName().contains(".name"))) aList.add(new ItemStack(aItem, 1, i + 23000)); } } } diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java new file mode 100644 index 0000000000..c70b302a82 --- /dev/null +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java @@ -0,0 +1,45 @@ +package gregtech.common.blocks; + +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.ITexture; +import gregtech.api.objects.GT_CopiedBlockTexture; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; + +public class GT_Block_Ores_GC extends GT_Block_Ores_Abstract { + Block aMoonBlock = GameRegistry.findBlock("GalacticraftCore", "tile.moonBlock"); + Block aMarsBlock = GameRegistry.findBlock("GalacticraftMars", "tile.mars"); + + public GT_Block_Ores_GC() { + super("gt.blockores.gc", 4, true, Material.rock); + } + + @Override + public String getUnlocalizedName() { + return "gt.blockores.gc"; + } + + @Override + public OrePrefixes[] getProcessingPrefix() { //Must have 8 entries. + return new OrePrefixes[]{OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore}; + } + + @Override + public Block getDroppedBlock() { + return GregTech_API.sBlockOresGC; + } + + @Override + public Materials[] getDroppedDusts() { //Must have 8 entries; can be null. + return new Materials[]{Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone}; + } + + @Override + public ITexture[] getTextureSet() { //Must have 16 entries. + return new ITexture[]{new GT_CopiedBlockTexture(aMoonBlock, 0, 3), new GT_CopiedBlockTexture(aMoonBlock, 0, 4), new GT_CopiedBlockTexture(aMoonBlock, 0, 6), new GT_CopiedBlockTexture(aMarsBlock, 0, 9), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0),new GT_CopiedBlockTexture(aMoonBlock, 0, 3), new GT_CopiedBlockTexture(aMoonBlock, 0, 4), new GT_CopiedBlockTexture(aMoonBlock, 0, 6), new GT_CopiedBlockTexture(aMarsBlock, 0, 9), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0)}; + } +} diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java index f1b00558a4..ac17e65b93 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java @@ -8,12 +8,14 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.objects.GT_CopiedBlockTexture; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; public class GT_Block_Ores_UB1 extends GT_Block_Ores_Abstract { Block aUBBlock = GameRegistry.findBlock("UndergroundBiomes", "igneousStone"); public GT_Block_Ores_UB1() { - super("gt.blockores.ub1", true, Material.rock); + super("gt.blockores.ub1", 8, true, Material.rock); + if (aUBBlock == null) aUBBlock = Blocks.stone; } @Override diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java index 7b2ff5cd4b..e4caa95db7 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java @@ -8,12 +8,14 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.objects.GT_CopiedBlockTexture; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; public class GT_Block_Ores_UB2 extends GT_Block_Ores_Abstract { Block aUBBlock = GameRegistry.findBlock("UndergroundBiomes", "metamorphicStone"); public GT_Block_Ores_UB2() { - super("gt.blockores.ub2", true, Material.rock); + super("gt.blockores.ub2", 8, true, Material.rock); + if (aUBBlock == null) aUBBlock = Blocks.stone; } @Override diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java index b2dc7d9238..4cf76dfb1d 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java @@ -8,12 +8,14 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.objects.GT_CopiedBlockTexture; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; public class GT_Block_Ores_UB3 extends GT_Block_Ores_Abstract { Block aUBBlock = GameRegistry.findBlock("UndergroundBiomes", "sedimentaryStone"); public GT_Block_Ores_UB3() { - super("gt.blockores.ub3", true, Material.rock); + super("gt.blockores.ub3", 8, true, Material.rock); + if (aUBBlock == null) aUBBlock = Blocks.stone; } @Override diff --git a/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java b/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java index 1d87ba875b..b3a28fb0ae 100644 --- a/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java +++ b/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java @@ -65,6 +65,20 @@ public class GT_TileEntity_Ores extends TileEntity implements ITexturedTileEntit tOreBlock = GregTech_API.sBlockOresUb3; aMetaData += (BlockMeta * 1000); } + } else if (BlockName.equals("tile.moonBlock") && (BlockMeta == 3 || BlockMeta == 4)) { + if (GregTech_API.sBlockOresGC != null) { + switch (BlockMeta) { + case 3: tOreBlock = GregTech_API.sBlockOresGC; break; + case 4: aMetaData += 1000; tOreBlock = GregTech_API.sBlockOresGC; break; + } + } + } else if (BlockName.equals("tile.mars") && (BlockMeta == 6 || BlockMeta == 9)) { + if (GregTech_API.sBlockOresGC != null) { + switch (BlockMeta) { + case 6: aMetaData += 2000; tOreBlock = GregTech_API.sBlockOresGC; break; + case 9: aMetaData += 3000; tOreBlock = GregTech_API.sBlockOresGC; break; + } + } } else if (tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.netherrack)) { aMetaData += 1000; } else if (tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.end_stone)) { diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java index 8abc8493ff..a24da35611 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java @@ -41,6 +41,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock "Size(WxHxD): 3x3x4, Controller (front centered)", "3x3x4 of Stable Titanium Casing (hollow, Min 24!)", "2x Titanium Gear Box Casing inside the Hollow Casing", + "8x Engine Intake Casings (around controller, Min 8!)", "1x Input Hatch (one of the Casings)", "1x Maintenance Hatch (one of the Casings)", "1x Muffler Hatch (top middle back)", -- cgit From 4ee250357e7ce20d45a64c47e6e38658957c189c Mon Sep 17 00:00:00 2001 From: Muramasa Date: Wed, 10 Aug 2016 21:28:19 +0100 Subject: GT_Block_Ores_GC Null check --- src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java index c70b302a82..23061baada 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_GC.java @@ -16,6 +16,8 @@ public class GT_Block_Ores_GC extends GT_Block_Ores_Abstract { public GT_Block_Ores_GC() { super("gt.blockores.gc", 4, true, Material.rock); + if (aMoonBlock == null) aMoonBlock = Blocks.stone; + if (aMarsBlock == null) aMarsBlock = Blocks.stone; } @Override -- cgit From 349510f2dabc9e7dc9ae5ff1fdc71fef11dd8016 Mon Sep 17 00:00:00 2001 From: Muramasa Date: Sat, 13 Aug 2016 03:04:47 +0100 Subject: Bugfixes 1 --- src/main/java/gregtech/common/GT_Proxy.java | 12 +++++++----- .../machines/multi/GT_MetaTileEntity_FusionComputer.java | 2 +- .../machines/multi/GT_MetaTileEntity_ProcessingArray.java | 5 +++-- 3 files changed, 11 insertions(+), 8 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index f9cf4f9750..ffe2a39a0a 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -175,12 +175,14 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { onFluidContainerRegistration(new FluidContainerRegistry.FluidContainerRegisterEvent(tData)); } - for (String tOreName : OreDictionary.getOreNames()) { - ItemStack tOreStack; - for (Iterator i$ = OreDictionary.getOres(tOreName).iterator(); i$.hasNext(); registerOre(new OreDictionary.OreRegisterEvent(tOreName, tOreStack))) { - tOreStack = (ItemStack) i$.next(); + try { + for (String tOreName : OreDictionary.getOreNames()) { + ItemStack tOreStack; + for (Iterator i$ = OreDictionary.getOres(tOreName).iterator(); i$.hasNext(); registerOre(new OreDictionary.OreRegisterEvent(tOreName, tOreStack))) { + tOreStack = (ItemStack) i$.next(); + } } - } + } catch (Throwable e) {e.printStackTrace(GT_Log.err);} } private static final void registerRecipes(OreDictEventContainer aOre) { diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java index 7d950a490b..72dd43d089 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java @@ -265,7 +265,7 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity if (tFluidList.size() > 1) { FluidStack[] tFluids = tFluidList.toArray(new FluidStack[tFluidList.size()]); GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sFusionRecipes.findRecipe(this.getBaseMetaTileEntity(), this.mLastRecipe, false, GT_Values.V[8], tFluids, new ItemStack[]{}); - if (tRecipe == null && !mRunningOnLoad) { + if (mRunningOnLoad) { turnCasingActive(false); this.mLastRecipe = null; return false; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java index 7183aa30c1..bb3ef55b9f 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java @@ -238,14 +238,15 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); List overStacks = new ArrayList(); for (int f = 0; f < tOut.length; f++) { - if (tOut[f].getMaxStackSize() < tOut[f].stackSize) { + /* FindBugs: Bug kind and pattern: RpC - RpC_REPEATED_CONDITIONAL_TEST */ + //if (tOut[f].getMaxStackSize() < tOut[f].stackSize) { while (tOut[f].getMaxStackSize() < tOut[f].stackSize) { ItemStack tmp = tOut[f].copy(); tmp.stackSize = tmp.getMaxStackSize(); tOut[f].stackSize = tOut[f].stackSize - tOut[f].getMaxStackSize(); overStacks.add(tmp); } - } + //} } if (overStacks.size() > 0) { ItemStack[] tmp = new ItemStack[overStacks.size()]; -- cgit From ce1195d48c56bd206d01dadb61f7cf9c3057bd42 Mon Sep 17 00:00:00 2001 From: Muramasa Date: Thu, 28 Jul 2016 04:15:24 +0100 Subject: Worldgen and Random changes --- .../gregtech/common/GT_MinableOreGenerator.java | 61 +++++++++++++--------- .../gregtech/common/GT_Worldgen_GT_Ore_Layer.java | 11 ++-- .../java/gregtech/common/GT_Worldgen_Stone.java | 58 +++++++++++--------- .../java/gregtech/common/GT_Worldgenerator.java | 3 +- .../gregtech/common/blocks/GT_Block_Machines.java | 3 +- .../gregtech/common/blocks/GT_TileEntity_Ores.java | 3 +- .../items/behaviors/Behaviour_Prospecting.java | 3 +- .../boilers/GT_MetaTileEntity_Boiler.java | 3 +- .../GT_MetaTileEntity_BronzeBlastFurnace.java | 3 +- 9 files changed, 85 insertions(+), 63 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_MinableOreGenerator.java b/src/main/java/gregtech/common/GT_MinableOreGenerator.java index 9e772bb91f..caf9c04c17 100644 --- a/src/main/java/gregtech/common/GT_MinableOreGenerator.java +++ b/src/main/java/gregtech/common/GT_MinableOreGenerator.java @@ -29,36 +29,45 @@ public class GT_MinableOreGenerator } public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { - float var6 = par2Random.nextFloat() * 3.141593F; - double var7 = par3 + 8 + MathHelper.sin(var6) * this.numberOfBlocks / 8.0F; - double var9 = par3 + 8 - MathHelper.sin(var6) * this.numberOfBlocks / 8.0F; - double var11 = par5 + 8 + MathHelper.cos(var6) * this.numberOfBlocks / 8.0F; - double var13 = par5 + 8 - MathHelper.cos(var6) * this.numberOfBlocks / 8.0F; - double var15 = par4 + par2Random.nextInt(3) - 2; - double var17 = par4 + par2Random.nextInt(3) - 2; + float math_pi = 3.141593F;//FB: CNT - CNT_ROUGH_CONSTANT_VALUE + float var6 = par2Random.nextFloat() * math_pi; + float var1s = this.numberOfBlocks / 8.0F; + int var4s = par4 - 2;int var5s = par3 + 8;int var6s = par5 + 8; + float var7s = this.numberOfBlocks / 16.0F; + float var8s = math_pi / this.numberOfBlocks; + float mh_s_0 = MathHelper.sin(var6) * var1s;float mh_c_0 = MathHelper.cos(var6) * var1s; + float var7 = var5s + mh_s_0; + float var11 = var6s + mh_c_0; + int var15r = par2Random.nextInt(3);int var17r = par2Random.nextInt(3); + int mh_n_4=var17r - var15r; + int var15 = var4s + var15r; + float mh_n_0 = -2*mh_s_0;float mh_n_1 = -2*mh_c_0; for (int var19 = 0; var19 <= this.numberOfBlocks; var19++) { - double var20 = var7 + (var9 - var7) * var19 / this.numberOfBlocks; - double var22 = var15 + (var17 - var15) * var19 / this.numberOfBlocks; - double var24 = var11 + (var13 - var11) * var19 / this.numberOfBlocks; - double var26 = par2Random.nextDouble() * this.numberOfBlocks / 16.0D; - double var28 = (MathHelper.sin(var19 * 3.141593F / this.numberOfBlocks) + 1.0F) * var26 + 1.0D; - double var30 = (MathHelper.sin(var19 * 3.141593F / this.numberOfBlocks) + 1.0F) * var26 + 1.0D; - int var32 = MathHelper.floor_double(var20 - var28 / 2.0D); - int var33 = MathHelper.floor_double(var22 - var30 / 2.0D); - int var34 = MathHelper.floor_double(var24 - var28 / 2.0D); - int var35 = MathHelper.floor_double(var20 + var28 / 2.0D); - int var36 = MathHelper.floor_double(var22 + var30 / 2.0D); - int var37 = MathHelper.floor_double(var24 + var28 / 2.0D); + float mh_n_2 = var19 / this.numberOfBlocks; + float var20 = var7 + mh_n_0 * mh_n_2; + float var22 = var15 + mh_n_4 * mh_n_2; + float var24 = var11 + mh_n_1 * mh_n_2; + float var26 = par2Random.nextFloat() * var7s; + float var1c = var19 * var8s; + float var28 = ((MathHelper.sin(var1c) + 1.0F) * var26 + 1.0F) / 2.0F; + int var32 = MathHelper.floor_float(var20 - var28); + int var33 = MathHelper.floor_float(var22 - var28); + int var34 = MathHelper.floor_float(var24 - var28); + int var35 = MathHelper.floor_float(var20 + var28); + int var36 = MathHelper.floor_float(var22 + var28); + int var37 = MathHelper.floor_float(var24 + var28); for (int var38 = var32; var38 <= var35; var38++) { - double var39 = (var38 + 0.5D - var20) / (var28 / 2.0D); - if (var39 * var39 < 1.0D) { + float var39 = (var38 + 0.5F - var20) / (var28); + float var5c = var39 * var39; + if (var5c < 1.0F) { for (int var41 = var33; var41 <= var36; var41++) { - double var42 = (var41 + 0.5D - var22) / (var30 / 2.0D); - if (var39 * var39 + var42 * var42 < 1.0D) { + float var42 = (var41 + 0.5F - var22) / (