aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2023-07-25 21:33:20 +0200
committerGitHub <noreply@github.com>2023-07-25 21:33:20 +0200
commite5a1d22513b4fa6d839275bfe2b203876c19f1f5 (patch)
treee918bebdc565455926640d12b1953fb3fb858eef /src
parent37b8006aeffd3fb7e5759122abec23cec552f188 (diff)
downloadGT5-Unofficial-e5a1d22513b4fa6d839275bfe2b203876c19f1f5.tar.gz
GT5-Unofficial-e5a1d22513b4fa6d839275bfe2b203876c19f1f5.tar.bz2
GT5-Unofficial-e5a1d22513b4fa6d839275bfe2b203876c19f1f5.zip
Fix no output from Mega Apiary + some misc. changes (#90)
* Update dependencies.gradle * Update build.gradle * Update .gitignore * Create addon.gradle * Fix no output from Mega Apiary * Use checkProcessing instead of checkRecipe * Migrate Tea Line to RA2 * Update build script
Diffstat (limited to 'src')
-rw-r--r--src/main/java/kubatech/loaders/RecipeLoader.java199
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java31
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java21
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java39
4 files changed, 176 insertions, 114 deletions
diff --git a/src/main/java/kubatech/loaders/RecipeLoader.java b/src/main/java/kubatech/loaders/RecipeLoader.java
index eccab9fd7b..c98002348c 100644
--- a/src/main/java/kubatech/loaders/RecipeLoader.java
+++ b/src/main/java/kubatech/loaders/RecipeLoader.java
@@ -20,6 +20,16 @@
package kubatech.loaders;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.AssemblyLine;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME;
+import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
import static kubatech.api.enums.ItemList.BlackTea;
import static kubatech.api.enums.ItemList.BlackTeaLeaf;
import static kubatech.api.enums.ItemList.BruisedTeaLeaf;
@@ -56,7 +66,6 @@ import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
-import net.minecraftforge.fluids.FluidStack;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -108,22 +117,26 @@ public class RecipeLoader {
"multimachine.extremeapiary",
"Industrial Apicultural Acclimatiser and Drone Domestication Station",
LoaderReference.Forestry)) {
- GT_Values.RA.addAssemblylineRecipe(
- gregtech.api.enums.ItemList.Machine_IndustrialApiary.get(1),
- 10000,
- new Object[] { gregtech.api.enums.ItemList.Machine_IndustrialApiary.get(64L),
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, gregtech.api.enums.ItemList.Machine_IndustrialApiary.get(1))
+ .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS)
+ .itemInputs(
+ gregtech.api.enums.ItemList.Machine_IndustrialApiary.get(64L),
gregtech.api.enums.ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(64L),
gregtech.api.enums.ItemList.IndustrialApiary_Upgrade_STABILIZER.get(64L),
gregtech.api.enums.ItemList.Robot_Arm_UV.get(16L),
new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L },
new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L },
new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L },
- new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L }, },
- new FluidStack[] { FluidRegistry.getFluidStack("molten.indalloy140", 28800),
- FluidRegistry.getFluidStack("for.honey", 20000) },
- ExtremeIndustrialApiary.get(1),
- 6000,
- 2_048_000);
+ new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L })
+ .fluidInputs(
+ FluidRegistry.getFluidStack("molten.indalloy140", 28800),
+ FluidRegistry.getFluidStack("for.honey", 20000))
+ .noFluidOutputs()
+ .itemOutputs(ExtremeIndustrialApiary.get(1))
+ .eut(2_048_000)
+ .duration(5 * MINUTES)
+ .addTo(AssemblyLine);
}
if (registerMTEUsingID(
12_792,
@@ -216,13 +229,14 @@ public class RecipeLoader {
null,
100,
32);
- GT_Values.RA.addMixerRecipe(
- new ItemStack[] { TeaLeafDehydrated.get(1) },
- new FluidStack[] { FluidRegistry.getFluidStack("water", 50) },
- new ItemStack[] { SteamedTeaLeaf.get(1) },
- null,
- 100,
- 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(TeaLeafDehydrated.get(1))
+ .itemOutputs(SteamedTeaLeaf.get(1))
+ .fluidInputs(FluidRegistry.getFluidStack("water", 50))
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(sMixerRecipes);
CORE.RA.addDehydratorRecipe(
new ItemStack[] { SteamedTeaLeaf.get(1) },
null,
@@ -231,7 +245,14 @@ public class RecipeLoader {
null,
100,
32);
- GT_Values.RA.addBenderRecipe(TeaLeafDehydrated.get(1), RolledTeaLeaf.get(1), 100, 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(TeaLeafDehydrated.get(1))
+ .itemOutputs(RolledTeaLeaf.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(sBenderRecipes);
CORE.RA.addDehydratorRecipe(
new ItemStack[] { RolledTeaLeaf.get(1) },
null,
@@ -240,12 +261,14 @@ public class RecipeLoader {
null,
100,
32);
- GT_Values.RA.addChemicalRecipe(
- RolledTeaLeaf.get(1),
- GT_Utility.getIntegratedCircuit(1),
- OxidizedTeaLeaf.get(1),
- 100,
- 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(RolledTeaLeaf.get(1), GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(OxidizedTeaLeaf.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(UniversalChemical);
CORE.RA.addDehydratorRecipe(
new ItemStack[] { OxidizedTeaLeaf.get(1) },
null,
@@ -254,12 +277,14 @@ public class RecipeLoader {
null,
100,
32);
- GT_Values.RA.addChemicalRecipe(
- RolledTeaLeaf.get(1),
- GT_Utility.getIntegratedCircuit(2),
- FermentedTeaLeaf.get(1),
- 200,
- 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(RolledTeaLeaf.get(1), GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(FermentedTeaLeaf.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .eut(32)
+ .duration(10 * SECONDS)
+ .addTo(UniversalChemical);
CORE.RA.addDehydratorRecipe(
new ItemStack[] { FermentedTeaLeaf.get(1) },
null,
@@ -268,18 +293,22 @@ public class RecipeLoader {
null,
100,
32);
- GT_Values.RA.addCutterRecipe(
- new ItemStack[] { TeaLeafDehydrated.get(1) },
- new ItemStack[] { BruisedTeaLeaf.get(1) },
- 100,
- 32,
- false);
- GT_Values.RA.addChemicalRecipe(
- BruisedTeaLeaf.get(1),
- GT_Utility.getIntegratedCircuit(1),
- PartiallyOxidizedTeaLeaf.get(1),
- 50,
- 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(TeaLeafDehydrated.get(1))
+ .itemOutputs(BruisedTeaLeaf.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(sCutterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(BruisedTeaLeaf.get(1), GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(PartiallyOxidizedTeaLeaf.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .eut(32)
+ .duration(2 * SECONDS + 10 * TICKS)
+ .addTo(UniversalChemical);
CORE.RA.addDehydratorRecipe(
new ItemStack[] { PartiallyOxidizedTeaLeaf.get(1) },
null,
@@ -291,55 +320,63 @@ public class RecipeLoader {
// Tea Assembly
GameRegistry.addSmelting(BlackTeaLeaf.get(1), BlackTea.get(1), 10);
- GT_Values.RA.addMixerRecipe(
- new ItemStack[] { BlackTea.get(1), GameRegistry.findItemStack("harvestcraft", "limejuiceItem", 1) },
- null,
- new ItemStack[] { EarlGrayTea.get(1) },
- null,
- 100,
- 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(BlackTea.get(1), GameRegistry.findItemStack("harvestcraft", "limejuiceItem", 1))
+ .itemOutputs(EarlGrayTea.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(sMixerRecipes);
GameRegistry.addSmelting(GreenTeaLeaf.get(1), GreenTea.get(1), 10);
- GT_Values.RA.addMixerRecipe(
- new ItemStack[] { BlackTea.get(1) },
- new FluidStack[] { FluidRegistry.getFluidStack("potion.lemonjuice", 1000) },
- new ItemStack[] { LemonTea.get(1) },
- null,
- 100,
- 32);
- GT_Values.RA.addMixerRecipe(
- new ItemStack[] { BlackTea.get(1) },
- new FluidStack[] { FluidRegistry.getFluidStack("milk", 1000) },
- new ItemStack[] { MilkTea.get(1) },
- null,
- 100,
- 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(BlackTea.get(1))
+ .itemOutputs(LemonTea.get(1))
+ .fluidInputs(FluidRegistry.getFluidStack("potion.lemonjuice", 1000))
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(sMixerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(BlackTea.get(1))
+ .itemOutputs(MilkTea.get(1))
+ .fluidInputs(FluidRegistry.getFluidStack("milk", 1000))
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(sMixerRecipes);
GameRegistry.addSmelting(OolongTeaLeaf.get(1), OolongTea.get(1), 10);
- GT_Values.RA.addMixerRecipe(
- new ItemStack[] { GameRegistry.findItemStack("harvestcraft", "peppermintItem", 1) },
- new FluidStack[] { FluidRegistry.getFluidStack("water", 1000) },
- new ItemStack[] { PeppermintTea.get(1) },
- null,
- 100,
- 32);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GameRegistry.findItemStack("harvestcraft", "peppermintItem", 1))
+ .itemOutputs(PeppermintTea.get(1))
+ .fluidInputs(FluidRegistry.getFluidStack("water", 1000))
+ .noFluidOutputs()
+ .eut(32)
+ .duration(5 * SECONDS)
+ .addTo(sMixerRecipes);
GameRegistry.addSmelting(PuerhTeaLeaf.get(1), PuerhTea.get(1), 10);
GameRegistry.addSmelting(WhiteTeaLeaf.get(1), WhiteTea.get(1), 10);
GameRegistry.addSmelting(YellowTeaLeaf.get(1), YellowTea.get(1), 10);
}
if (LoaderReference.Avaritia && LoaderReference.GTNHCoreMod) {
- GT_Values.RA.addAssemblylineRecipe(
- TeaAcceptorResearchNote.get(1),
- 10000,
- new Object[] { LegendaryUltimateTea.get(0),
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, TeaAcceptorResearchNote.get(1))
+ .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS)
+ .itemInputs(
+ LegendaryUltimateTea.get(0),
GameRegistry.findItemStack("Avaritia", "Neutronium_Compressor", 1),
- gregtech.api.enums.ItemList.Quantum_Tank_EV.get(1), CustomItemList.FluidExtractorUHV.get(10),
+ gregtech.api.enums.ItemList.Quantum_Tank_EV.get(1),
+ CustomItemList.FluidExtractorUHV.get(10),
new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L },
new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L },
new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L },
- new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L }, },
- new FluidStack[] { FluidRegistry.getFluidStack("molten.indalloy140", 28800) },
- TeaAcceptor.get(1),
- 6000,
- 2_048_000);
+ new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4L })
+ .fluidInputs(FluidRegistry.getFluidStack("molten.indalloy140", 28800))
+ .noFluidOutputs()
+ .itemOutputs(TeaAcceptor.get(1))
+ .eut(2_048_000)
+ .duration(5 * MINUTES)
+ .addTo(AssemblyLine);
}
}
}
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java
index f9251658f2..38a50ee1f9 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java
@@ -72,6 +72,8 @@ import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
+import org.jetbrains.annotations.NotNull;
+
import com.github.bartimaeusnek.bartworks.API.BorosilicateGlass;
import com.google.common.collect.Multimap;
import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits;
@@ -117,6 +119,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
+import gregtech.api.recipe.check.CheckRecipeResult;
+import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Utility;
@@ -481,35 +485,38 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber
private final WeaponCache weaponCache = new WeaponCache();
@Override
- public boolean checkRecipe(ItemStack aStack) {
- if (getBaseMetaTileEntity().isClientSide()) return false;
- if (aStack == null) return false;
+ @NotNull
+ public CheckRecipeResult checkProcessing() {
+ if (getBaseMetaTileEntity().isClientSide()) return CheckRecipeResultRegistry.NO_RECIPE;
+ ItemStack aStack = mInventory[1];
+ if (aStack == null) return CheckRecipeResultRegistry.NO_RECIPE;
- if (aStack.getItem() != poweredSpawnerItem) return false;
+ if (aStack.getItem() != poweredSpawnerItem) return CheckRecipeResultRegistry.NO_RECIPE;
- if (aStack.getTagCompound() == null) return false;
+ if (aStack.getTagCompound() == null) return CheckRecipeResultRegistry.NO_RECIPE;
String mobType = aStack.getTagCompound()
.getString("mobType");
- if (mobType.isEmpty()) return false;
+ if (mobType.isEmpty()) return CheckRecipeResultRegistry.NO_RECIPE;
if (mobType.equals("Skeleton") && getBaseMetaTileEntity().getWorld().provider instanceof WorldProviderHell
&& rand.nextInt(5) > 0) mobType = "witherSkeleton";
MobHandlerLoader.MobEECRecipe recipe = MobHandlerLoader.recipeMap.get(mobType);
- if (recipe == null) return false;
+ if (recipe == null) return CheckRecipeResultRegistry.NO_RECIPE;
if (!recipe.recipe.isPeacefulAllowed && this.getBaseMetaTileEntity()
- .getWorld().difficultySetting == EnumDifficulty.PEACEFUL) return false;
+ .getWorld().difficultySetting == EnumDifficulty.PEACEFUL) return CheckRecipeResultRegistry.NO_RECIPE;
if (isInRitualMode && isRitualValid()) {
- if (getMaxInputEu() < recipe.mEUt / 4) return false;
+ if (getMaxInputEu() < recipe.mEUt / 4) return CheckRecipeResultRegistry.insufficientPower(recipe.mEUt / 4);
this.mOutputFluids = new FluidStack[] { FluidRegistry.getFluidStack("xpjuice", 5000) };
this.mOutputItems = recipe.generateOutputs(rand, this, 3, 0, mIsProducingInfernalDrops);
this.lEUt /= 4L;
this.mMaxProgresstime = 400;
} else {
- if (getMaxInputEu() < recipe.mEUt) return false;
- if (recipe.recipe.alwaysinfernal && getMaxInputEu() < recipe.mEUt * 8) return false;
+ if (getMaxInputEu() < recipe.mEUt) return CheckRecipeResultRegistry.insufficientPower(recipe.mEUt);
+ if (recipe.recipe.alwaysinfernal && getMaxInputEu() < recipe.mEUt * 8)
+ return CheckRecipeResultRegistry.insufficientPower(recipe.mEUt * 8);
double attackDamage = DIAMOND_SPIKES_DAMAGE; // damage from spikes
GT_MetaTileEntity_Hatch_InputBus inputbus = this.mInputBusses.size() == 0 ? null : this.mInputBusses.get(0);
@@ -578,7 +585,7 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber
mobPacket.sendToAllAround(16);
this.updateSlots();
- return true;
+ return CheckRecipeResultRegistry.SUCCESSFUL;
}
private boolean isRitualValid() {
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
index b898a11cc5..71ed169c1c 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
@@ -75,6 +75,8 @@ import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
+import org.jetbrains.annotations.NotNull;
+
import com.github.bartimaeusnek.bartworks.API.BorosilicateGlass;
import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
@@ -121,6 +123,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_MultiInput;
+import gregtech.api.recipe.check.CheckRecipeResult;
+import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Utility;
@@ -404,7 +408,8 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
}
@Override
- public boolean checkRecipe(ItemStack itemStack) {
+ @NotNull
+ public CheckRecipeResult checkProcessing() {
int tier = getVoltageTier();
updateMaxSlots();
@@ -415,7 +420,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
if (setupphase > 0) {
if ((mStorage.size() >= mMaxSlots && setupphase == 1) || (mStorage.size() == 0 && setupphase == 2))
- return false;
+ return CheckRecipeResultRegistry.NO_RECIPE;
if (setupphase == 1) {
List<ItemStack> inputs = getStoredInputs();
@@ -437,10 +442,10 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
this.lEUt = 0;
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
- return true;
+ return CheckRecipeResultRegistry.SUCCESSFUL;
}
- if (mStorage.size() > mMaxSlots) return false;
- if (mStorage.isEmpty()) return false;
+ if (mStorage.size() > mMaxSlots) return CheckRecipeResultRegistry.NO_RECIPE;
+ if (mStorage.isEmpty()) return CheckRecipeResultRegistry.NO_RECIPE;
waterusage = 0;
weedexusage = 0;
@@ -468,7 +473,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
fluidsToUse.add(i);
if (watercheck <= 0) break;
}
- if (watercheck > 0 && !debug) return false;
+ if (watercheck > 0 && !debug) return CheckRecipeResultRegistry.NO_RECIPE;
watercheck = waterusage;
for (GT_MetaTileEntity_Hatch_Input i : fluidsToUse) {
int used = i.drain(watercheck, true).amount;
@@ -509,7 +514,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
double multiplier = 1.d + (((double) boost / (double) maxboost) * 4d);
if (isIC2Mode) {
- if (glasTier < 6) return false;
+ if (glasTier < 6) return CheckRecipeResultRegistry.NO_RECIPE;
this.mMaxProgresstime = 100;
List<ItemStack> outputs = new ArrayList<>();
for (int i = 0; i < Math.min(mMaxSlots, mStorage.size()); i++) outputs.addAll(
@@ -533,7 +538,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
this.updateSlots();
- return true;
+ return CheckRecipeResultRegistry.SUCCESSFUL;
}
@Override
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
index 47cbd16a06..9d5dc463e7 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
@@ -65,6 +65,8 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
+import org.jetbrains.annotations.NotNull;
+
import com.github.bartimaeusnek.bartworks.API.BorosilicateGlass;
import com.gtnewhorizon.structurelib.StructureLibAPI;
import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits;
@@ -120,6 +122,8 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
+import gregtech.api.recipe.check.CheckRecipeResult;
+import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Utility;
@@ -449,7 +453,8 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
}
@Override
- public boolean checkRecipe(ItemStack aStack) {
+ @NotNull
+ public CheckRecipeResult checkProcessing() {
updateMaxSlots();
if (mPrimaryMode < 2) {
if (mPrimaryMode == 0 && mStorage.size() < mMaxSlots) {
@@ -470,12 +475,12 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
} else if (mPrimaryMode == 1 && mStorage.size() > 0) {
if (tryOutputAll(mStorage, s -> Collections.singletonList(((BeeSimulator) s).queenStack)))
isCacheDirty = true;
- } else return false;
+ } else return CheckRecipeResultRegistry.NO_RECIPE;
mMaxProgresstime = 10;
mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
mEfficiencyIncrease = 10000;
lEUt = 0;
- return true;
+ return CheckRecipeResultRegistry.SUCCESSFUL;
} else if (mPrimaryMode == 2) {
if (mMaxSlots > 0 && !mStorage.isEmpty()) {
if (mSecondaryMode == 0) {
@@ -486,14 +491,15 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
mStorage.forEach(s -> s.generate(w, t));
}
- if (mStorage.size() > mMaxSlots) return false;
+ if (mStorage.size() > mMaxSlots) return CheckRecipeResultRegistry.NO_RECIPE;
- if (flowersError) return false;
+ if (flowersError) return CheckRecipeResultRegistry.NO_RECIPE;
if (needsTVarUpdate) {
float t = (float) getVoltageTierExact();
needsTVarUpdate = false;
- mStorage.forEach(s -> s.updateTVar(t));
+ World w = getBaseMetaTileEntity().getWorld();
+ mStorage.forEach(s -> s.updateTVar(w, t));
}
int maxConsume = Math.min(mStorage.size(), mMaxSlots) * 40;
@@ -528,7 +534,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
if (!depleteInput(PluginApiculture.items.royalJelly.getItemStack(64))
|| !depleteInput(PluginApiculture.items.royalJelly.getItemStack(36))) {
this.updateSlots();
- return false;
+ return CheckRecipeResultRegistry.NO_RECIPE;
}
calculateOverclock(GT_Values.V[5] - 2L, 1200);
if (this.lEUt > 0) this.lEUt = -this.lEUt;
@@ -538,11 +544,11 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
.createIgnobleCopy() };
this.updateSlots();
}
- return true;
+ return CheckRecipeResultRegistry.SUCCESSFUL;
}
}
- return false;
+ return CheckRecipeResultRegistry.NO_RECIPE;
}
@Override
@@ -1095,6 +1101,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
float maxBeeCycles;
String flowerType;
String flowerTypeDescription;
+ private static IBeekeepingMode mode;
public BeeSimulator(ItemStack queenStack, World world, float t) {
isValid = false;
@@ -1105,11 +1112,11 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
}
public void generate(World world, float t) {
+ if (mode == null) mode = beeRoot.getBeekeepingMode(world);
drops.clear();
specialDrops.clear();
if (beeRoot.getType(this.queenStack) != EnumBeeType.QUEEN) return;
IBee queen = beeRoot.getMember(this.queenStack);
- IBeekeepingMode mode = beeRoot.getBeekeepingMode(world);
IBeeModifier beeModifier = mode.getBeeModifier();
float mod = beeModifier.getLifespanModifier(null, null, 1.f);
int h = queen.getMaxHealth();
@@ -1120,7 +1127,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
this.flowerTypeDescription = genome.getFlowerProvider()
.getDescription();
IAlleleBeeSpecies primary = genome.getPrimary();
- beeSpeed = genome.getSpeed() * beeModifier.getProductionModifier(null, 1.f);
+ beeSpeed = genome.getSpeed();
genome.getPrimary()
.getProductChances()
.forEach((key, value) -> drops.add(new BeeDrop(key, value, beeSpeed, t)));
@@ -1203,7 +1210,8 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
return beeRoot.getMemberStack(princess, EnumBeeType.PRINCESS.ordinal());
}
- public void updateTVar(float t) {
+ public void updateTVar(World world, float t) {
+ if (mode == null) mode = beeRoot.getBeekeepingMode(world);
drops.forEach(d -> d.updateTVar(t));
specialDrops.forEach(d -> d.updateTVar(t));
}
@@ -1236,7 +1244,12 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
}
public void evaluate() {
- this.amount = Bee.getFinalChance(chance, beeSpeed, MAX_PRODUCTION_MODIFIER_FROM_UPGRADES, t);
+ this.amount = Bee.getFinalChance(
+ chance,
+ beeSpeed,
+ MAX_PRODUCTION_MODIFIER_FROM_UPGRADES + mode.getBeeModifier()
+ .getProductionModifier(null, MAX_PRODUCTION_MODIFIER_FROM_UPGRADES),
+ t);
}
public double getAmount(double speedModifier) {