diff options
author | miozune <miozune@gmail.com> | 2023-12-18 17:36:35 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-18 17:36:35 +0900 |
commit | 4861826db4950dfd72e21c631cc7c0609b141abc (patch) | |
tree | 909cd54867d2136e59e0b91dc933dc87de6c4580 /src/main/java | |
parent | 0eeb22bc3bf00bf845234e99de185bde9889889c (diff) | |
download | GT5-Unofficial-4861826db4950dfd72e21c631cc7c0609b141abc.tar.gz GT5-Unofficial-4861826db4950dfd72e21c631cc7c0609b141abc.tar.bz2 GT5-Unofficial-4861826db4950dfd72e21c631cc7c0609b141abc.zip |
Clarify whether item or fluid output is full (#809)
Diffstat (limited to 'src/main/java')
3 files changed, 134 insertions, 140 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java index 88a280d5f2..832c84833c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java @@ -210,8 +210,8 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase< VoidProtectionHelper voidProtection = new VoidProtectionHelper().setMachine(this).setItemOutputs(toOutput) .build(); - if (voidProtection.getMaxParallel() == 0) { - return CheckRecipeResultRegistry.OUTPUT_FULL; + if (voidProtection.isItemFull()) { + return CheckRecipeResultRegistry.ITEM_OUTPUT_FULL; } if (aFert > 0 && aFert >= aOutputAmount) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java index a0158db2a1..3504afb8bd 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java @@ -194,59 +194,56 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends if (!hasGenerateRecipes) { generateRecipes(); } - if (hasGenerateRecipes) { - if (!checkForWater()) { - return SimpleCheckRecipeResult.ofFailure("no_water"); - } - ItemStack[] tItemInputs = getStoredInputs().toArray(new ItemStack[0]); - FluidStack[] tFluidInputs = getStoredFluids().toArray(new FluidStack[0]); + if (!checkForWater()) { + return SimpleCheckRecipeResult.ofFailure("no_water"); + } + ItemStack[] tItemInputs = getStoredInputs().toArray(new ItemStack[0]); + FluidStack[] tFluidInputs = getStoredFluids().toArray(new FluidStack[0]); - if (!isUsingControllerCircuit && tItemInputs.length == 0) { - return CheckRecipeResultRegistry.NO_RECIPE; - } + if (!isUsingControllerCircuit && tItemInputs.length == 0) { + return CheckRecipeResultRegistry.NO_RECIPE; + } - long tEnergy = getMaxInputEnergy(); - - getCircuit(tItemInputs); - - ItemStack[] mFishOutput = generateLoot(this.mMode); - mFishOutput = removeNulls(mFishOutput); - GT_Recipe g = new GT_Recipe( - true, - new ItemStack[] {}, - mFishOutput, - null, - new int[] {}, - tFluidInputs, - mOutputFluids, - 200, - 16, - 0); - GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(g.mEUt).setEUt(tEnergy) - .setDuration(g.mDuration); - GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(g).setItemInputs(tItemInputs) - .setFluidInputs(tFluidInputs).setAvailableEUt(tEnergy).setMaxParallel(getMaxParallelRecipes()) - .setConsumption(true).setOutputCalculation(true).setMachine(this) - .enableBatchMode(batchMode ? 128 : 1).setCalculator(calculator); - - helper.build(); - - if (helper.getCurrentParallel() == 0) { - return CheckRecipeResultRegistry.OUTPUT_FULL; - } + long tEnergy = getMaxInputEnergy(); + + getCircuit(tItemInputs); + + ItemStack[] mFishOutput = generateLoot(this.mMode); + mFishOutput = removeNulls(mFishOutput); + GT_Recipe g = new GT_Recipe( + true, + new ItemStack[] {}, + mFishOutput, + null, + new int[] {}, + tFluidInputs, + null, + 200, + 16, + 0); + GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(g.mEUt).setEUt(tEnergy) + .setDuration(g.mDuration); + GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(g).setItemInputs(tItemInputs) + .setFluidInputs(tFluidInputs).setAvailableEUt(tEnergy).setMaxParallel(getMaxParallelRecipes()) + .setConsumption(true).setOutputCalculation(true).setMachine(this).enableBatchMode(batchMode ? 128 : 1) + .setCalculator(calculator); + + helper.build(); + + if (helper.getCurrentParallel() == 0) { + return CheckRecipeResultRegistry.ITEM_OUTPUT_FULL; + } - this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); - this.mEfficiencyIncrease = 10000; + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; - lEUt = -calculator.getConsumption(); - mMaxProgresstime = (int) Math.ceil(calculator.getDuration() * helper.getDurationMultiplierDouble()); + lEUt = -calculator.getConsumption(); + mMaxProgresstime = (int) Math.ceil(calculator.getDuration() * helper.getDurationMultiplierDouble()); - mOutputItems = helper.getItemOutputs(); - mOutputFluids = helper.getFluidOutputs(); - updateSlots(); + mOutputItems = helper.getItemOutputs(); + mOutputFluids = null; + updateSlots(); - return CheckRecipeResultRegistry.SUCCESSFUL; - } return CheckRecipeResultRegistry.SUCCESSFUL; } @@ -356,25 +353,22 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends private int mMode = 14; private int mMax = 8; - private boolean generateRecipes() { - if (!hasGenerateRecipes) { - categories.put(categoryFish); - categories.put(categoryJunk); - categories.put(categoryLoot); - for (WeightedRandomFishable h : FishPondFakeRecipe.fish) { - categoryFish.put(h); - } - for (WeightedRandomFishable h : FishPondFakeRecipe.junk) { - categoryJunk.put(h); - } - for (WeightedRandomFishable h : FishPondFakeRecipe.treasure) { - categoryLoot.put(h); - } - hasGenerateRecipes = true; - return true; - } else { - return true; + private void generateRecipes() { + if (hasGenerateRecipes) return; + + categories.put(categoryFish); + categories.put(categoryJunk); + categories.put(categoryLoot); + for (WeightedRandomFishable h : FishPondFakeRecipe.fish) { + categoryFish.put(h); + } + for (WeightedRandomFishable h : FishPondFakeRecipe.junk) { + categoryJunk.put(h); + } + for (WeightedRandomFishable h : FishPondFakeRecipe.treasure) { + categoryLoot.put(h); } + hasGenerateRecipes = true; } private int getCircuit(ItemStack[] t) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java index de6278a0e4..93c9ecc46e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java @@ -210,99 +210,99 @@ public class GregtechMetaTileEntity_IndustrialRockBreaker extends @Override public @NotNull CheckRecipeResult checkProcessing() { ArrayList<FluidStack> aFluids = this.getStoredFluids(); - if (!aFluids.isEmpty()) { - boolean aHasWater = false; - boolean aHasLava = false; - for (FluidStack aFluid : aFluids) { - if (aFluid.getFluid() == FluidRegistry.WATER) { - aHasWater = true; - } else if (aFluid.getFluid() == FluidRegistry.LAVA) { - aHasLava = true; - } + if (aFluids.isEmpty()) { + return CheckRecipeResultRegistry.NO_RECIPE; + } + + boolean aHasWater = false; + boolean aHasLava = false; + for (FluidStack aFluid : aFluids) { + if (aFluid.getFluid() == FluidRegistry.WATER) { + aHasWater = true; + } else if (aFluid.getFluid() == FluidRegistry.LAVA) { + aHasLava = true; } - ArrayList<ItemStack> aItems = this.getStoredInputs(); - boolean aHasRedstone = false; - if (!aItems.isEmpty()) { - for (ItemStack aItem : aItems) { - if (GT_Utility.areStacksEqual( - aItem, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L))) { - aHasRedstone = true; - break; - } + } + ArrayList<ItemStack> aItems = this.getStoredInputs(); + boolean aHasRedstone = false; + if (!aItems.isEmpty()) { + for (ItemStack aItem : aItems) { + if (GT_Utility + .areStacksEqual(aItem, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L))) { + aHasRedstone = true; + break; } } + } - if (!aHasWater) { - return SimpleCheckRecipeResult.ofFailure("no_water"); - } - if (!aHasLava) { - return SimpleCheckRecipeResult.ofFailure("no_lava"); - } - ItemStack aGuiCircuit = this.getControllerSlot(); - if (!ItemUtils.isControlCircuit(aGuiCircuit)) { - return CheckRecipeResultRegistry.NO_RECIPE; - } + if (!aHasWater) { + return SimpleCheckRecipeResult.ofFailure("no_water"); + } + if (!aHasLava) { + return SimpleCheckRecipeResult.ofFailure("no_lava"); + } + ItemStack aGuiCircuit = this.getControllerSlot(); + if (!ItemUtils.isControlCircuit(aGuiCircuit)) { + return CheckRecipeResultRegistry.NO_RECIPE; + } - if (sRecipe_Cobblestone == null || sRecipe_SmoothStone == null || sRecipe_Redstone == null) { - generateRecipes(); - } + if (sRecipe_Cobblestone == null || sRecipe_SmoothStone == null || sRecipe_Redstone == null) { + generateRecipes(); + } - int aCircuit = aGuiCircuit.getItemDamage(); + int aCircuit = aGuiCircuit.getItemDamage(); - GT_Recipe tRecipe = null; - switch (aCircuit) { - case 1 -> tRecipe = sRecipe_Cobblestone; - case 2 -> tRecipe = sRecipe_SmoothStone; - case 3 -> { - if (aHasRedstone) { - tRecipe = sRecipe_Redstone; - } + GT_Recipe tRecipe = null; + switch (aCircuit) { + case 1 -> tRecipe = sRecipe_Cobblestone; + case 2 -> tRecipe = sRecipe_SmoothStone; + case 3 -> { + if (aHasRedstone) { + tRecipe = sRecipe_Redstone; } } + } - if (tRecipe == null) { - return CheckRecipeResultRegistry.NO_RECIPE; - } + if (tRecipe == null) { + return CheckRecipeResultRegistry.NO_RECIPE; + } - ItemStack[] aItemInputs = aItems.toArray(new ItemStack[0]); - FluidStack[] aFluidInputs = new FluidStack[] {}; + ItemStack[] aItemInputs = aItems.toArray(new ItemStack[0]); + FluidStack[] aFluidInputs = new FluidStack[] {}; - long tEnergy = getMaxInputEnergy(); - // Remember last recipe - an optimization for findRecipe() - this.mLastRecipe = tRecipe; + long tEnergy = getMaxInputEnergy(); + // Remember last recipe - an optimization for findRecipe() + this.mLastRecipe = tRecipe; - GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(tRecipe).setItemInputs(aItemInputs) - .setFluidInputs(aFluidInputs).setAvailableEUt(tEnergy).setMaxParallel(getMaxParallelRecipes()) - .setConsumption(true).setOutputCalculation(true).setEUtModifier(0.75F).setMachine(this); + GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(tRecipe).setItemInputs(aItemInputs) + .setFluidInputs(aFluidInputs).setAvailableEUt(tEnergy).setMaxParallel(getMaxParallelRecipes()) + .setConsumption(true).setOutputCalculation(true).setEUtModifier(0.75F).setMachine(this); - if (batchMode) { - helper.enableBatchMode(128); - } + if (batchMode) { + helper.enableBatchMode(128); + } - helper.build(); + helper.build(); - if (helper.getCurrentParallel() == 0) { - return CheckRecipeResultRegistry.OUTPUT_FULL; - } + if (helper.getCurrentParallel() == 0) { + return CheckRecipeResultRegistry.ITEM_OUTPUT_FULL; + } - this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); - this.mEfficiencyIncrease = 10000; + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; - GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(tRecipe.mEUt).setEUt(tEnergy) - .setDuration(tRecipe.mDuration).setEUtDiscount(0.75F).setSpeedBoost(1F / 3F) - .setParallel((int) Math.floor(helper.getCurrentParallel() / helper.getDurationMultiplierDouble())) - .calculate(); - lEUt = -calculator.getConsumption(); - mMaxProgresstime = (int) Math.ceil(calculator.getDuration() * helper.getDurationMultiplierDouble()); + GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(tRecipe.mEUt).setEUt(tEnergy) + .setDuration(tRecipe.mDuration).setEUtDiscount(0.75F).setSpeedBoost(1F / 3F) + .setParallel((int) Math.floor(helper.getCurrentParallel() / helper.getDurationMultiplierDouble())) + .calculate(); + lEUt = -calculator.getConsumption(); + mMaxProgresstime = (int) Math.ceil(calculator.getDuration() * helper.getDurationMultiplierDouble()); - mOutputItems = helper.getItemOutputs(); - mOutputFluids = helper.getFluidOutputs(); - updateSlots(); - return CheckRecipeResultRegistry.SUCCESSFUL; - } + mOutputItems = helper.getItemOutputs(); + mOutputFluids = helper.getFluidOutputs(); + updateSlots(); + return CheckRecipeResultRegistry.SUCCESSFUL; - return CheckRecipeResultRegistry.NO_RECIPE; } @Override |