aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-04-18 17:21:03 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-04-18 17:21:03 +1000
commit9667ce84aa56b1a1e41d8ac8188d0d41c682914e (patch)
treeba7029507b386ea7acea90d76dbb45e6cf23c892 /src/Java/gtPlusPlus/xmod
parent90f2e5a230cfad500a06e09a5a1297dd3efb02fe (diff)
downloadGT5-Unofficial-9667ce84aa56b1a1e41d8ac8188d0d41c682914e.tar.gz
GT5-Unofficial-9667ce84aa56b1a1e41d8ac8188d0d41c682914e.tar.bz2
GT5-Unofficial-9667ce84aa56b1a1e41d8ac8188d0d41c682914e.zip
+ Basic loot pool for Deep Earth Drilling Platform.
+ Added Runite and Granite Ores.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java146
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java6
2 files changed, 149 insertions, 3 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java
index 9ac67cf874..3d2094c8fa 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java
@@ -27,7 +27,10 @@ import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.ORES;
+import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
@@ -156,8 +159,23 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G
this.putMiningPipesFromInputsInController();
if (!this.tryConsumeDrillingFluid()) {
+ Logger.INFO("No drilling Fluid.");
return false;
}
+
+ if (this.mRuntime % 2 == 0) {
+ if (!this.tryConsumePyrotheum()) {
+ Logger.INFO("No tryConsumePyrotheum Fluid.");
+ return false;
+ }
+ }
+ else {
+ if (!this.tryConsumeCryotheum()) {
+ Logger.INFO("No tryConsumeCryotheum Fluid.");
+ return false;
+ }
+ }
+
if (this.oreBlockPositions.isEmpty()) {
// Hit bedrock Either retract pipe or Dig!
@@ -171,6 +189,134 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G
}
// Full Power!
else {
+
+ //We assume this drill head is in a supported location at Y 5 or less. It should also be touching bedrock.
+ ItemStack[] aOutputs = new ItemStack[] {
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().IRON.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().COPPER.getOre(1),
+ ELEMENT.getInstance().GOLD.getOre(1),
+ ELEMENT.getInstance().GOLD.getOre(1),
+ ELEMENT.getInstance().GOLD.getOre(1),
+ ELEMENT.getInstance().GOLD.getOre(1),
+ ELEMENT.getInstance().GOLD.getOre(1),
+ ELEMENT.getInstance().GOLD.getOre(1),
+ ELEMENT.getInstance().GOLD.getOre(1),
+ ELEMENT.getInstance().SILVER.getOre(1),
+ ELEMENT.getInstance().SILVER.getOre(1),
+ ELEMENT.getInstance().SILVER.getOre(1),
+ ELEMENT.getInstance().SILVER.getOre(1),
+ ELEMENT.getInstance().ALUMINIUM.getOre(1),
+ ELEMENT.getInstance().ALUMINIUM.getOre(1),
+ ELEMENT.getInstance().ALUMINIUM.getOre(1),
+ ELEMENT.getInstance().ALUMINIUM.getOre(1),
+ ELEMENT.getInstance().ALUMINIUM.getOre(1),
+ ELEMENT.getInstance().ALUMINIUM.getOre(1),
+ ELEMENT.getInstance().TIN.getOre(1),
+ ELEMENT.getInstance().TIN.getOre(1),
+ ELEMENT.getInstance().TIN.getOre(1),
+ ELEMENT.getInstance().TIN.getOre(1),
+ ELEMENT.getInstance().TIN.getOre(1),
+ ELEMENT.getInstance().TIN.getOre(1),
+ ELEMENT.getInstance().TIN.getOre(1),
+ ELEMENT.getInstance().ZINC.getOre(1),
+ ELEMENT.getInstance().ZINC.getOre(1),
+ ELEMENT.getInstance().ZINC.getOre(1),
+ ELEMENT.getInstance().ZINC.getOre(1),
+ ELEMENT.getInstance().NICKEL.getOre(1),
+ ELEMENT.getInstance().NICKEL.getOre(1),
+ ELEMENT.getInstance().NICKEL.getOre(1),
+ ELEMENT.getInstance().NICKEL.getOre(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreBauxite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreBauxite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreBauxite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRedstone", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRedstone", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRedstone", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRedstone", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRedstone", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRedstone", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreDiamond", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreDiamond", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreDiamond", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreDiamond", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreDiamond", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreDiamond", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreDiamond", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreEmerald", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreEmerald", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreEmerald", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreEmerald", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreEmerald", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreEmerald", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreEmerald", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRuby", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRuby", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreRuby", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreSapphire", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreSapphire", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreSapphire", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreThorium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreThorium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("oreTungstate", 1),
+ ELEMENT.STANDALONE.RUNITE.getOre(1),
+ ELEMENT.STANDALONE.GRANITE.getOre(1),
+ ORES.AGARDITE_CD.getOre(1),
+ ORES.ALBURNITE.getOre(1),
+ ORES.CERITE.getOre(1),
+ ORES.FLUORCAPHITE.getOre(1),
+ ORES.HIBONITE.getOre(1),
+ ORES.MIESSIITE.getOre(1),
+ ORES.ZIMBABWEITE.getOre(1),
+ ORES.SAMARSKITE_YB.getOre(1),
+ };
+
+ int aChance = MathUtils.randInt(0, 10000);
+ if (aChance <= 100) {
+ ItemStack aChance1 = ItemUtils.getSimpleStack(aOutputs[MathUtils.randInt(0, aOutputs.length-1)], MathUtils.randInt(0, 3));
+ if (ItemUtils.checkForInvalidItems(aChance1)) {
+ this.addOutput(aChance1);
+ }
+ ItemStack aChance2 = ItemUtils.getSimpleStack(aOutputs[MathUtils.randInt(0, aOutputs.length-1)], MathUtils.randInt(0, 3));
+ if (ItemUtils.checkForInvalidItems(aChance2)) {
+ this.addOutput(aChance2);
+ }
+ ItemStack aChance3 = ItemUtils.getSimpleStack(aOutputs[MathUtils.randInt(0, aOutputs.length-1)], MathUtils.randInt(0, 3));
+ if (ItemUtils.checkForInvalidItems(aChance3)) {
+ this.addOutput(aChance3);
+ }
+ }
didWork[g] = true;
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index 15627a827f..1cb999241a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -107,7 +107,7 @@ public class RecipeGen_Ore extends RecipeGen_Base {
//If Fourth Output has no solid output, try the Fifth (If it exists)
if (!bonusB.hasSolidForm() && material.getComposites().size() >= 5 && material.getComposites().get(4) != null) {
bonusB = material.getComposites().get(4).getStackMaterial();
- //If Fifth Output has no solid output, default out to Chrome.
+ //If Fifth Output has no solid output, default out to Stone dust.
if (!bonusB.hasSolidForm()) {
allFailed = true;
bonusB = mStone;
@@ -127,11 +127,11 @@ public class RecipeGen_Ore extends RecipeGen_Base {
//Default out if it's made of fluids or some shit.
if (bonusA == null) {
- bonusA = tVoltageMultiplier <= 100 ? material : mStone;
+ bonusA = tVoltageMultiplier > 100 ? material : mStone;
}
//Default out if it's made of fluids or some shit.
if (allFailed || bonusB == null) {
- bonusB = tVoltageMultiplier <= 100 ? material : mStone;
+ bonusB = tVoltageMultiplier > 100 ? material : mStone;
}
AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();