diff options
Diffstat (limited to 'src/main')
3 files changed, 25 insertions, 2 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/LuVTierEnhancer.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/LuVTierEnhancer.java index dc1d1f7ade..65c677dc55 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/LuVTierEnhancer.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/LuVTierEnhancer.java @@ -195,15 +195,23 @@ public class LuVTierEnhancer implements Runnable { GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.mRecipeList.stream() .filter(gt_recipe -> gt_recipe.mEUt < BW_Util.getTierVoltage(6) && - !BW_Util.checkStackAndPrefix(gt_recipe.mOutputs[0]) + !BW_Util.checkStackAndPrefix(gt_recipe.mOutputs[0]) && + !isOutputBlackListed(gt_recipe.mOutputs[0]) ) .forEach(replace); GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.mRecipeList.stream() - .filter(gt_recipe -> gt_recipe.mEUt <= 6000) + .filter(gt_recipe -> gt_recipe.mEUt <= 6000 && + !isOutputBlackListed(gt_recipe.mOutputs[0]) + ) .forEach(replace); } + private static boolean isOutputBlackListed(ItemStack output) { + if (output.isItemEqual(ItemList.Casing_MiningOsmiridium.get(1))) return true; + return false; + } + private static ItemStack[] replaceArrayWith(ItemStack[] stackArray, Materials source, Werkstoff target) { for (int i = 0; i < stackArray.length; i++) { ItemStack stack = stackArray[i]; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java index 16cbee2d2f..107dec62c6 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java @@ -386,6 +386,10 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { return this.mID; } + public short getMixCircuit() { + return this.getGenerationFeatures().mixCircuit; + } + public Werkstoff.GenerationFeatures getGenerationFeatures() { return this.generationFeatures; } @@ -609,6 +613,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { * Auto add MetalWorking(crafting components) Recipe 10000 */ public byte extraRecipes; + public short mixCircuit = -1; public Werkstoff.GenerationFeatures setBlacklist(OrePrefixes p) { this.blacklist |= getPrefixDataRaw(p); @@ -670,6 +675,13 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { return this; } + public Werkstoff.GenerationFeatures addMixerRecipes(short aCircuit) { + this.extraRecipes = (byte) (this.extraRecipes | 10); + if (aCircuit >= 1 && aCircuit <=24) + this.mixCircuit = aCircuit; + return this; + } + public boolean hasMixerRecipes() { return (this.extraRecipes & 10) != 0; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/DustLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/DustLoader.java index 8f79fc85bc..b8b1d7a75e 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/DustLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/DustLoader.java @@ -148,6 +148,9 @@ public class DustLoader implements IWerkstoffRunnable { if (werkstoff.getGenerationFeatures().hasMixerRecipes()) { if (cells > 0) stOutputs.add(Materials.Empty.getCells(cells)); + short circuitID = werkstoff.getMixCircuit(); + ItemStack circuit = circuitID == -1 ? null : GT_Utility.getIntegratedCircuit(circuitID); + if (circuit != null) stOutputs.add(circuit); GT_Recipe.GT_Recipe_Map.sMixerRecipes.add(new BWRecipes.DynamicGTRecipe(true, stOutputs.toArray(new ItemStack[0]), new ItemStack[]{input}, null, null, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, null, (int) Math.max(1L, Math.abs(werkstoff.getStats().getMass() / werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5, 0)); } } |