aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-12-18 17:36:35 +0900
committerGitHub <noreply@github.com>2023-12-18 17:36:35 +0900
commit4861826db4950dfd72e21c631cc7c0609b141abc (patch)
tree909cd54867d2136e59e0b91dc933dc87de6c4580 /src/main/java
parent0eeb22bc3bf00bf845234e99de185bde9889889c (diff)
downloadGT5-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')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java4
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java124
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java146
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