aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/GT_RecipeAdder.java
diff options
context:
space:
mode:
authorAntifluxfield <lyj_299792458@163.com>2017-08-02 16:04:25 +0800
committerAntifluxfield <lyj_299792458@163.com>2017-08-02 16:04:25 +0800
commita1f0a213c496090469111624f712799b9189de6b (patch)
tree466c6641cae7679f6a5bcfd64789ab2046e2961a /src/main/java/gregtech/common/GT_RecipeAdder.java
parent1fff7f2aa4310c11c5b87eac35b8e30b49cb80fc (diff)
downloadGT5-Unofficial-a1f0a213c496090469111624f712799b9189de6b.tar.gz
GT5-Unofficial-a1f0a213c496090469111624f712799b9189de6b.tar.bz2
GT5-Unofficial-a1f0a213c496090469111624f712799b9189de6b.zip
Find a better way to handle those dusts
Diffstat (limited to 'src/main/java/gregtech/common/GT_RecipeAdder.java')
-rw-r--r--src/main/java/gregtech/common/GT_RecipeAdder.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java
index daadc217fc..6dc6bc193f 100644
--- a/src/main/java/gregtech/common/GT_RecipeAdder.java
+++ b/src/main/java/gregtech/common/GT_RecipeAdder.java
@@ -9,6 +9,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
import gregtech.api.objects.GT_FluidStack;
+import gregtech.api.objects.ItemData;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
@@ -582,8 +583,13 @@ public class GT_RecipeAdder
aInput = new FluidStack(aInput.getFluid(), (aInput.amount + tScale - 1) / tScale);
aOutput = new FluidStack(aOutput.getFluid(), aOutput.amount / tScale);
if (aSolidOutput != null) {
- if (aSolidOutput.stackSize / tScale == 0) aSolidOutput = GT_Values.NI;
- else aSolidOutput = new ItemStack(aSolidOutput.getItem(), aSolidOutput.stackSize / tScale);
+ ItemData tData = GT_OreDictUnificator.getItemData(aSolidOutput);
+ if (tData != null && (tData.mPrefix == OrePrefixes.dust || OrePrefixes.dust.mFamiliarPrefixes.contains(tData.mPrefix)))
+ aSolidOutput = GT_OreDictUnificator.getDust(tData.mMaterial.mMaterial, tData.mMaterial.mAmount * aSolidOutput.stackSize / tScale);
+ else {
+ if (aSolidOutput.stackSize / tScale == 0) aSolidOutput = GT_Values.NI;
+ else aSolidOutput = new ItemStack(aSolidOutput.getItem(), aSolidOutput.stackSize / tScale);
+ }
}
aDuration = (aDuration + tScale - 1) / tScale;
}