diff options
author | GlodBlock <1356392126@qq.com> | 2021-09-03 21:00:20 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2021-09-03 21:00:20 +0800 |
commit | 678c88f9b64a49e486b171508527a3224978122d (patch) | |
tree | 405e131ff7857ad837f7ef0d44ea15875c86310d /src/main/java | |
parent | fe31ae9e19422bce20480c97ba7f8a4e6aa11614 (diff) | |
download | GT5-Unofficial-678c88f9b64a49e486b171508527a3224978122d.tar.gz GT5-Unofficial-678c88f9b64a49e486b171508527a3224978122d.tar.bz2 GT5-Unofficial-678c88f9b64a49e486b171508527a3224978122d.zip |
optimizate the LNR code, only use 30% time to load now
Diffstat (limited to 'src/main/java')
5 files changed, 154 insertions, 120 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/MyFluids/FluidsBuilder.java b/src/main/java/GoodGenerator/Blocks/MyFluids/FluidsBuilder.java index 3df342a508..72888310b4 100644 --- a/src/main/java/GoodGenerator/Blocks/MyFluids/FluidsBuilder.java +++ b/src/main/java/GoodGenerator/Blocks/MyFluids/FluidsBuilder.java @@ -1,7 +1,9 @@ package GoodGenerator.Blocks.MyFluids; +import GoodGenerator.CrossMod.NEI.NEI_Config; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.material.Material; +import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; public class FluidsBuilder { @@ -32,6 +34,7 @@ public class FluidsBuilder { tmp2.SetTexture("lightlyCrackedNaquadahGas"); tmp2.setBlockName("lightlyCrackedNaquadahGas"); GameRegistry.registerBlock(tmp2,"lightlyCrackedNaquadahGas"); + NEI_Config.hide(tmp2); } public static void crackedNaquadahGas_Moderately(){ @@ -42,6 +45,7 @@ public class FluidsBuilder { tmp2.SetTexture("moderatelyCrackedNaquadahGas"); tmp2.setBlockName("moderatelyCrackedNaquadahGas"); GameRegistry.registerBlock(tmp2,"moderatelyCrackedNaquadahGas"); + NEI_Config.hide(tmp2); } public static void crackedNaquadahGas_Heavily(){ @@ -52,6 +56,7 @@ public class FluidsBuilder { tmp2.SetTexture("heavilyCrackedNaquadahGas"); tmp2.setBlockName("heavilyCrackedNaquadahGas"); GameRegistry.registerBlock(tmp2,"heavilyCrackedNaquadahGas"); + NEI_Config.hide(tmp2); } public static void crackedLightNaquadahFuel_Lightly(){ @@ -62,6 +67,7 @@ public class FluidsBuilder { tmp2.SetTexture("lightlyCrackedLightNaquadahFuel"); tmp2.setBlockName("lightlyCrackedLightNaquadahFuel"); GameRegistry.registerBlock(tmp2,"lightlyCrackedLightNaquadahFuel"); + NEI_Config.hide(tmp2); } public static void crackedLightNaquadahFuel_Moderately(){ @@ -72,6 +78,7 @@ public class FluidsBuilder { tmp2.SetTexture("moderatelyCrackedLightNaquadahFuel"); tmp2.setBlockName("moderatelyCrackedLightNaquadahFuel"); GameRegistry.registerBlock(tmp2,"moderatelyCrackedLightNaquadahFuel"); + NEI_Config.hide(tmp2); } public static void crackedLightNaquadahFuel_Heavily(){ @@ -82,6 +89,7 @@ public class FluidsBuilder { tmp2.SetTexture("heavilyCrackedLightNaquadahFuel"); tmp2.setBlockName("heavilyCrackedLightNaquadahFuel"); GameRegistry.registerBlock(tmp2,"heavilyCrackedLightNaquadahFuel"); + NEI_Config.hide(tmp2); } public static void crackedHeavyNaquadahFuel_Lightly(){ @@ -92,6 +100,7 @@ public class FluidsBuilder { tmp2.SetTexture("lightlyCrackedHeavyNaquadahFuel"); tmp2.setBlockName("lightlyCrackedHeavyNaquadahFuel"); GameRegistry.registerBlock(tmp2,"lightlyCrackedHeavyNaquadahFuel"); + NEI_Config.hide(tmp2); } public static void crackedHeavyNaquadahFuel_Moderately(){ @@ -102,6 +111,7 @@ public class FluidsBuilder { tmp2.SetTexture("moderatelyCrackedHeavyNaquadahFuel"); tmp2.setBlockName("moderatelyCrackedHeavyNaquadahFuel"); GameRegistry.registerBlock(tmp2,"moderatelyCrackedHeavyNaquadahFuel"); + NEI_Config.hide(tmp2); } public static void crackedHeavyNaquadahFuel_Heavily(){ @@ -112,6 +122,7 @@ public class FluidsBuilder { tmp2.SetTexture("heavilyCrackedHeavyNaquadahFuel"); tmp2.setBlockName("heavilyCrackedHeavyNaquadahFuel"); GameRegistry.registerBlock(tmp2,"heavilyCrackedHeavyNaquadahFuel"); + NEI_Config.hide(tmp2); } public static void crackedNaquadahAsphalt_Lightly(){ @@ -124,6 +135,7 @@ public class FluidsBuilder { tmp2.SetTexture("lightlyCrackedNaquadahAsphalt"); tmp2.setBlockName("lightlyCrackedNaquadahAsphalt"); GameRegistry.registerBlock(tmp2,"lightlyCrackedNaquadahAsphalt"); + NEI_Config.hide(tmp2); } public static void crackedNaquadahAsphalt_Moderately(){ @@ -136,6 +148,7 @@ public class FluidsBuilder { tmp2.SetTexture("moderatelyCrackedNaquadahAsphalt"); tmp2.setBlockName("moderatelyCrackedNaquadahAsphalt"); GameRegistry.registerBlock(tmp2,"moderatelyCrackedNaquadahAsphalt"); + NEI_Config.hide(tmp2); } public static void crackedNaquadahAsphalt_Heavily(){ @@ -148,6 +161,7 @@ public class FluidsBuilder { tmp2.SetTexture("heavilyCrackedNaquadahAsphalt"); tmp2.setBlockName("heavilyCrackedNaquadahAsphalt"); GameRegistry.registerBlock(tmp2,"heavilyCrackedNaquadahAsphalt"); + NEI_Config.hide(tmp2); } public static void combustionPromotor(){ @@ -158,5 +172,6 @@ public class FluidsBuilder { tmp2.SetTexture("combustionPromotor"); tmp2.setBlockName("combustionPromotor"); GameRegistry.registerBlock(tmp2,"combustionPromotor"); + NEI_Config.hide(tmp2); } } diff --git a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java index af244648c7..66fe58fe0a 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java @@ -1,9 +1,10 @@ package GoodGenerator.Blocks.TEs; -import GoodGenerator.Items.MyMaterial; import GoodGenerator.Loader.Loaders; +import GoodGenerator.util.CrackRecipeAdder; import GoodGenerator.util.DescTextLocalization; import GoodGenerator.util.MyRecipeAdder; +import com.github.bartimaeusnek.bartworks.util.Pair; import com.github.bartimaeusnek.crossmod.tectech.TecTechEnabledMulti; import com.github.technus.tectech.mechanics.constructable.IConstructable; import com.github.technus.tectech.mechanics.structure.IStructureDefinition; @@ -30,6 +31,7 @@ import net.minecraftforge.fluids.FluidStack; import org.lwjgl.input.Keyboard; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -38,11 +40,26 @@ import static com.github.technus.tectech.mechanics.structure.StructureUtility.*; public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implements TecTechEnabledMulti, IConstructable { protected IStructureDefinition<MultiNqGenerator> multiDefinition = null; - protected int ticker = 0; protected long leftEnergy = 0; + protected long trueOutput = 0; + protected int trueEff = 0; protected boolean fluidLocker = true; protected FluidStack lockedFluid = null; protected int times = 1; + protected int basicOutput; + + private final List<Pair<FluidStack, Integer>> excitedLiquid = Arrays.asList( + new Pair<>(FluidRegistry.getFluidStack("molten.atomic separation catalyst", 1), 16), + new Pair<>(Materials.Naquadah.getMolten(1L), 4), + new Pair<>(Materials.Uranium235.getMolten(9L), 3), + new Pair<>(Materials.Caesium.getMolten(9L), 2) + ); + + private final List<Pair<FluidStack, Integer>> coolant = Arrays.asList( + new Pair<>(FluidRegistry.getFluidStack("cryotheum", 50), 275), + new Pair<>(Materials.SuperCoolant.getFluid(50L), 150), + new Pair<>(FluidRegistry.getFluidStack("ic2coolant",50), 105) + ); @Override public void construct(ItemStack itemStack, boolean hintsOnly) { @@ -150,10 +167,10 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem @Override public void loadNBTData(NBTTagCompound aNBT){ - this.ticker = aNBT.getInteger("mTicker"); this.fluidLocker = aNBT.getBoolean("mIsLocked"); this.times = aNBT.getInteger("mTimes"); this.leftEnergy = aNBT.getLong("mLeftEnergy"); + this.basicOutput = aNBT.getInteger("mbasicOutput"); if (FluidRegistry.getFluid(aNBT.getString("mLockedFluidName")) != null) this.lockedFluid = new FluidStack(FluidRegistry.getFluid(aNBT.getString("mLockedFluidName")), aNBT.getInteger("mLockedFluidAmount")); else this.lockedFluid = null; @@ -162,10 +179,10 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem @Override public void saveNBTData(NBTTagCompound aNBT){ - aNBT.setInteger("mTicker", this.ticker); aNBT.setBoolean("mIsLocked", this.fluidLocker); aNBT.setInteger("mTimes", this.times); aNBT.setLong("mLeftEnergy", this.leftEnergy); + aNBT.setInteger("mbasicOutput", this.basicOutput); if (lockedFluid != null){ aNBT.setString("mLockedFluidName", this.lockedFluid.getFluid().getName()); aNBT.setInteger("mLockedFluidAmount", this.lockedFluid.amount); @@ -198,100 +215,86 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem if (cnt > 1) doExplosion(4 * 4); - FluidStack f1=null; - float booster = 1.0f; - if(tFluids.size() > 0){ - if(tFluids.contains(FluidRegistry.getFluidStack("cryotheum", 50)) && tFluids.get(tFluids.indexOf(FluidRegistry.getFluidStack("cryotheum", 50))).amount >= 50){ - booster = 2.75f; - f1=FluidRegistry.getFluidStack("cryotheum", 50); - } - else if(tFluids.contains(Materials.SuperCoolant.getFluid(50L)) && tFluids.get(tFluids.indexOf(Materials.SuperCoolant.getFluid(50L))).amount >= 50){ - booster = 1.5f; - f1=Materials.SuperCoolant.getFluid(50L); - } - else if(tFluids.contains(FluidRegistry.getFluidStack("ic2coolant",50)) && tFluids.get(tFluids.indexOf(FluidRegistry.getFluidStack("ic2coolant",50))).amount >= 50){ - booster = 1.05f; - f1=FluidRegistry.getFluidStack("ic2coolant",50); + for (GT_Recipe tRecipe : MyRecipeAdder.instance.NqGFuels.mRecipeList) { + if (tFluids.contains(tRecipe.mFluidInputs[0])) { + Pair<FluidStack, Integer> excitedInfo = getExcited(tFluids.toArray(new FluidStack[0]), false); + int pall = excitedInfo == null ? 1 : excitedInfo.getValue(); + if (consumeFuel(CrackRecipeAdder.copyFluidWithAmount(tRecipe.mFluidInputs[0], pall), tFluids.toArray(new FluidStack[0]))) { + mOutputFluids = new FluidStack[]{CrackRecipeAdder.copyFluidWithAmount(tRecipe.mFluidOutputs[0], pall)}; + basicOutput = tRecipe.mSpecialValue; + times = pall; + lockedFluid = excitedInfo == null ? null : excitedInfo.getKey(); + mMaxProgresstime = tRecipe.mDuration; + return true; + } } } - if (fluidLocker && lockedFluid != null){ - if (!(tFluids.contains(lockedFluid) && tFluids.get(tFluids.indexOf(lockedFluid)).amount >= lockedFluid.amount)){ - times = 1; + return false; + } + + @Override + public boolean onRunningTick(ItemStack stack) { + FluidStack[] input = getStoredFluids().toArray(new FluidStack[0]); + int eff = 100, time = 1; + if (!consumeFuel(Materials.LiquidAir.getFluid(120), input)) { + this.mEUt = 0; + this.trueEff = 0; + this.trueOutput = 0; + return true; + } + if (getCoolant(input, true) != null) eff = getCoolant(input, false).getValue(); + if (consumeFuel(lockedFluid, input)) time = times; + this.mEUt = basicOutput * eff * time / 100; + this.trueEff = eff; + this.trueOutput = (long)basicOutput * (long)eff * (long)time / 100; + addAutoEnergy((long)basicOutput * (long)eff * (long)time / 100); + return true; + } + + @Override + public String[] getInfoData() { + String[] info = super.getInfoData(); + info[4] = "Probably makes: " + EnumChatFormatting.RED + Math.abs(this.trueOutput) + EnumChatFormatting.RESET + " EU/t"; + info[6] = "Problems: " + EnumChatFormatting.RED + (this.getIdealStatus() - this.getRepairStatus()) + EnumChatFormatting.RESET + " Efficiency: " + EnumChatFormatting.YELLOW + trueEff + EnumChatFormatting.RESET + " %"; + return info; + } + + public boolean consumeFuel(FluidStack target, FluidStack[] input) { + if (target == null) return false; + for (FluidStack inFluid : input) { + if (inFluid != null && inFluid.isFluidEqual(target) && inFluid.amount >= target.amount){ + inFluid.amount -= target.amount; + return true; } - else { - if (lockedFluid.getFluid() == MyMaterial.atomicSeparationCatalyst.getMolten(1).getFluid()) - times = 16; - else if (lockedFluid.getFluid() == Materials.Naquadah.getMolten(1L).getFluid()) - times = 4; - else if (lockedFluid.getFluid() == Materials.Uranium235.getMolten(9L).getFluid()) - times = 3; - else if (lockedFluid.getFluid() == Materials.Caesium.getMolten(9L).getFluid()) - times = 2; + } + return false; + } + + public Pair<FluidStack, Integer> getExcited(FluidStack[] input, boolean isConsume) { + for (Pair<FluidStack, Integer> fluidPair : excitedLiquid) { + FluidStack tFluid = fluidPair.getKey(); + for (FluidStack inFluid : input) { + if (inFluid != null && inFluid.isFluidEqual(tFluid) && inFluid.amount >= tFluid.amount) { + if (isConsume) inFluid.amount -= tFluid.amount; + return fluidPair; + } } } + return null; + } - if (tFluids.size()>0){ - for (GT_Recipe recipe : tRecipes){ - FluidStack recipeFluid = recipe.mFluidInputs[0].copy(); - FluidStack recipeFluidOut = recipe.mFluidOutputs[0].copy(); - recipeFluid.amount = times; - recipeFluidOut.amount = times; - int lasting = recipe.mDuration; - int outputEU = recipe.mSpecialValue; - if (tFluids.contains(recipeFluid) && tFluids.get(tFluids.indexOf(recipeFluid)).amount >= times){ - if(f1 != null) - depleteInput(f1); - if(lockedFluid != null && times != 1) - depleteInput(lockedFluid); - if (ticker == 0 || ticker%lasting == 0){ - fluidLocker = false; - if(tFluids.size() > 0){ - if (tFluids.contains((MyMaterial.atomicSeparationCatalyst.getMolten(1))) && tFluids.get(tFluids.indexOf(MyMaterial.atomicSeparationCatalyst.getMolten(1))).amount >= 1){ - times = 16; - lockedFluid = MyMaterial.atomicSeparationCatalyst.getMolten(1); - } - else if(tFluids.contains(Materials.Naquadah.getMolten(1L)) && tFluids.get(tFluids.indexOf(Materials.Naquadah.getMolten(1L))).amount >= 1){ - times = 4; - lockedFluid = Materials.Naquadah.getMolten(1L); - } - else if(tFluids.contains(Materials.Uranium235.getMolten(9L)) && tFluids.get(tFluids.indexOf(Materials.Uranium235.getMolten(9L))).amount >= 9){ - times = 3; - lockedFluid = Materials.Uranium235.getMolten(9L); - } - else if (tFluids.contains(Materials.Caesium.getMolten(9L)) && tFluids.get(tFluids.indexOf(Materials.Caesium.getMolten(9L))).amount >= 9){ - times = 2; - lockedFluid = Materials.Caesium.getMolten(9L); - } - else { - times = 1; - lockedFluid = null; - } - fluidLocker = true; - recipeFluid.amount = times; - recipeFluidOut.amount = times; - } - depleteInput(recipeFluid); - this.mOutputFluids = new FluidStack[]{recipeFluidOut}; - } - else this.mOutputFluids = null; - if (tFluids.contains(Materials.LiquidAir.getFluid(120)) && tFluids.get(tFluids.indexOf(Materials.LiquidAir.getFluid(120))).amount >= 120){ - depleteInput(Materials.LiquidAir.getFluid(120)); - addAutoEnergy((((long)outputEU)*times)*(int)(booster*100)/100); - this.mEUt = (int)(outputEU*times*booster); - } - else{ - addEnergyOutput_EM(0,0); - this.mEUt = 0; - } - this.mProgresstime = 1; - this.mMaxProgresstime = 1; - return true; + public Pair<FluidStack, Integer> getCoolant(FluidStack[] input, boolean isConsume) { + for (Pair<FluidStack, Integer> fluidPair : coolant) { + FluidStack tFluid = fluidPair.getKey(); + for (FluidStack inFluid : input) { + if (inFluid != null && inFluid.isFluidEqual(tFluid) && inFluid.amount >= tFluid.amount) { + if (isConsume) inFluid.amount -= tFluid.amount; + return fluidPair; } } } - this.mEUt = 0; - return false; + return null; } public void addAutoEnergy(long outputPower){ @@ -330,24 +333,6 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem } @Override - public boolean onRunningTick(ItemStack stack) { - if (getBaseMetaTileEntity().isAllowedToWork()) { - mRuntime ++; - ticker ++; - } - if (!getBaseMetaTileEntity().isActive() || !getBaseMetaTileEntity().isAllowedToWork()) { - mRuntime = 0; - ticker = 0; - leftEnergy = 0; - fluidLocker = false; - lockedFluid = null; - times = 1; - } - if (ticker > 3 * 17 * 19 * 1000000) ticker = 0; - return true; - } - - @Override public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { return structureCheck_EM(mName, 3, 7, 0) && mMaintenanceHatches.size() == 1 && mDynamoHatches.size() + eDynamoMulti.size() == 1; } diff --git a/src/main/java/GoodGenerator/CrossMod/NEI/NEI_Config.java b/src/main/java/GoodGenerator/CrossMod/NEI/NEI_Config.java index eada36c336..1a57824b89 100644 --- a/src/main/java/GoodGenerator/CrossMod/NEI/NEI_Config.java +++ b/src/main/java/GoodGenerator/CrossMod/NEI/NEI_Config.java @@ -2,7 +2,10 @@ package GoodGenerator.CrossMod.NEI; import GoodGenerator.Main.GoodGenerator; import GoodGenerator.util.MyRecipeAdder; +import codechicken.nei.api.API; import codechicken.nei.api.IConfigureNEI; +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; public class NEI_Config implements IConfigureNEI { public static boolean isAdded = true; @@ -14,6 +17,10 @@ public class NEI_Config implements IConfigureNEI { NEI_Config.isAdded = true; } + public static void hide(Block aBlock) { + API.hideItem(new ItemStack(aBlock, 1)); + } + @Override public String getName() { return "Good Generator NEI Plugin"; diff --git a/src/main/java/GoodGenerator/Items/MyMaterial.java b/src/main/java/GoodGenerator/Items/MyMaterial.java index e4ab266b7a..7bdaeeee00 100644 --- a/src/main/java/GoodGenerator/Items/MyMaterial.java +++ b/src/main/java/GoodGenerator/Items/MyMaterial.java @@ -258,34 +258,37 @@ public class MyMaterial implements Runnable { ); //Atomic Separation Catalyst - public static final Werkstoff atomicSeparationCatalyst = new Werkstoff( - new short[]{0xe8,0x5e,0x0c}, - "Atomic Separation Catalyst", - "the melting core...", - new Werkstoff.Stats().setMeltingPoint(5000).setBlastFurnace(true), - Werkstoff.Types.COMPOUND, - new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(), - OffsetID + 21, - TextureSet.SET_SHINY - ); - public static final Werkstoff orundum = new Werkstoff( new short[]{0xcd,0x26,0x26}, "Orundum", "Or", - new Werkstoff.Stats(), + new Werkstoff.Stats().setProtons(120).setMass(300), Werkstoff.Types.ELEMENT, new Werkstoff.GenerationFeatures().addGems(), OffsetID + 22, TextureSet.SET_DIAMOND ); + public static final Werkstoff atomicSeparationCatalyst = new Werkstoff( + new short[]{0xe8,0x5e,0x0c}, + "Atomic Separation Catalyst", + "the melting core...", + new Werkstoff.Stats().setMeltingPoint(5000).setBlastFurnace(true), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(), + OffsetID + 21, + TextureSet.SET_SHINY, + new Pair<>(MyMaterial.orundum, 2), + new Pair<>(Plutonium, 1), + new Pair<>(Naquadah, 2) + ); + //Naquadah Fuel Rework public static final Werkstoff extremelyUnstableNaquadah = new Werkstoff( new short[]{0x06,0x26,0x05}, "Extremely Unstable Naquadah", "Nq"+ CharExchanger.shifter(9734), - new Werkstoff.Stats().setMeltingPoint(7000).setBlastFurnace(true), + new Werkstoff.Stats().setMeltingPoint(7000).setBlastFurnace(true).setProtons(200).setMass(450), Werkstoff.Types.ELEMENT, new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(), OffsetID + 23, @@ -604,7 +607,9 @@ public class MyMaterial implements Runnable { Werkstoff.Types.COMPOUND, new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems(), OffsetID + 52, - TextureSet.SET_SHINY + TextureSet.SET_SHINY, + new Pair<>(Zinc, 1), + new Pair<>(Thorium, 1) ); //Naquadah Rework Materials @@ -974,6 +979,23 @@ public class MyMaterial implements Runnable { new Pair<>(Nickel, 1) ); + public static final Werkstoff Incoloy903 = new Werkstoff( + new short[]{0xa4,0x8f,0x8b}, + "Incoloy-903", + subscriptNumbers("Fe12Ni10Co8Ti4Mo2Al"), + new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(3700), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems().addSimpleMetalWorkingItems(), + OffsetID + 83, + TextureSet.SET_METALLIC, + new Pair<>(Iron, 12), + new Pair<>(Nickel, 10), + new Pair<>(Cobalt, 8), + new Pair<>(Titanium, 4), + new Pair<>(Molybdenum, 2), + new Pair<>(Aluminium, 1) + ); + @Override public void run() { } } diff --git a/src/main/java/GoodGenerator/util/CrackRecipeAdder.java b/src/main/java/GoodGenerator/util/CrackRecipeAdder.java index f9245518f3..8717579d53 100644 --- a/src/main/java/GoodGenerator/util/CrackRecipeAdder.java +++ b/src/main/java/GoodGenerator/util/CrackRecipeAdder.java @@ -70,4 +70,9 @@ public class CrackRecipeAdder { GT_Values.RA.addBlastRecipe(input, GT_Utility.getIntegratedCircuit(1), null, null, output, null, duration, EUt, level); } } + + public static FluidStack copyFluidWithAmount(FluidStack fluid, int amount) { + if (fluid == null || amount <= 0) return null; + return new FluidStack(fluid.getFluid(), amount); + } } |