diff options
author | Antifluxfield <lyj_299792458@163.com> | 2017-08-02 16:04:25 +0800 |
---|---|---|
committer | Antifluxfield <lyj_299792458@163.com> | 2017-08-02 16:04:25 +0800 |
commit | a1f0a213c496090469111624f712799b9189de6b (patch) | |
tree | 466c6641cae7679f6a5bcfd64789ab2046e2961a /src/main/java/gregtech/common/GT_RecipeAdder.java | |
parent | 1fff7f2aa4310c11c5b87eac35b8e30b49cb80fc (diff) | |
download | GT5-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.java | 10 |
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; } |