aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java18
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java58
3 files changed, 65 insertions, 17 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
index 6060554db7..4c7ea6d05d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
@@ -174,5 +174,9 @@ public interface IGregtech_RecipeAdder {
public boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, FluidStack[] fluidStacks2, ItemStack[] outputs, int time, int eu);
-
+ public boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt);
+
+ public boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden);
+
+ public boolean addBrewingRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
index 81f6e9281b..bb822ec816 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
@@ -185,7 +185,7 @@ GT_MetaTileEntity_MultiBlockBase {
int mPollutionReduction=0;
for (GT_MetaTileEntity_Hatch_Muffler tHatch : mMufflerHatches) {
if (isValidMetaTileEntity(tHatch)) {
- mPollutionReduction=Math.max(tHatch.calculatePollutionReduction(100),mPollutionReduction);
+ mPollutionReduction=Math.max(calculatePollutionReductionForHatch(tHatch, 100),mPollutionReduction);
}
}
@@ -1252,6 +1252,22 @@ GT_MetaTileEntity_MultiBlockBase {
return "";
}
}
+
+ private static Method calculatePollutionReduction;
+ public int calculatePollutionReductionForHatch(GT_MetaTileEntity_Hatch_Muffler i , int g) {
+ if (calculatePollutionReduction == null) {
+ try {
+ calculatePollutionReduction = i.getClass().getDeclaredMethod("calculatePollutionReduction", int.class);
+ } catch (NoSuchMethodException | SecurityException e) {
+ calculatePollutionReduction = null;
+ }
+ }
+ try {
+ return (int) calculatePollutionReduction.invoke(i, g);
+ } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ return 0;
+ }
+ }
@Override
public void saveNBTData(NBTTagCompound aNBT) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java
index 9ffe1258f8..88b4c7bc99 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java
@@ -4,7 +4,6 @@ import java.util.HashMap;
import gregtech.api.GregTech_API;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
@@ -17,8 +16,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockB
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.data.Pair;
-import gtPlusPlus.core.util.data.ArrayUtils;
-import gtPlusPlus.xmod.gregtech.api.objects.MultiblockLayer.LayerBlockData;
+import gtPlusPlus.core.lib.CORE;
import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
import net.minecraft.init.Blocks;
@@ -112,18 +110,48 @@ public class MultiblockLayer {
}
if (canBeHatch && (aHatchTypeClass == null || aHatchTypeClass.length <= 0)){
- aHatchTypeClass = new Class[] {
- GT_MetaTileEntity_Hatch_DataAccess.class,
- GT_MetaTileEntity_Hatch_Dynamo.class,
- GT_MetaTileEntity_Hatch_Energy.class,
- GT_MetaTileEntity_Hatch_Input.class,
- GT_MetaTileEntity_Hatch_InputBus.class,
- GT_MetaTileEntity_Hatch_Maintenance.class,
- GT_MetaTileEntity_Hatch_Muffler.class,
- GT_MetaTileEntity_Hatch_Output.class,
- GT_MetaTileEntity_Hatch_OutputBus.class,
- GT_MetaTileEntity_Hatch.class
- };
+
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ aHatchTypeClass = new Class[] {
+ GT_MetaTileEntity_Hatch_Dynamo.class,
+ GT_MetaTileEntity_Hatch_Energy.class,
+ GT_MetaTileEntity_Hatch_Input.class,
+ GT_MetaTileEntity_Hatch_InputBus.class,
+ GT_MetaTileEntity_Hatch_Maintenance.class,
+ GT_MetaTileEntity_Hatch_Muffler.class,
+ GT_MetaTileEntity_Hatch_Output.class,
+ GT_MetaTileEntity_Hatch_OutputBus.class,
+ GT_MetaTileEntity_Hatch.class
+ };
+ }
+ else {
+ try {
+ aHatchTypeClass = new Class[] {
+ Class.forName("gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess"),
+ GT_MetaTileEntity_Hatch_Dynamo.class,
+ GT_MetaTileEntity_Hatch_Energy.class,
+ GT_MetaTileEntity_Hatch_Input.class,
+ GT_MetaTileEntity_Hatch_InputBus.class,
+ GT_MetaTileEntity_Hatch_Maintenance.class,
+ GT_MetaTileEntity_Hatch_Muffler.class,
+ GT_MetaTileEntity_Hatch_Output.class,
+ GT_MetaTileEntity_Hatch_OutputBus.class,
+ GT_MetaTileEntity_Hatch.class
+ };
+ } catch (ClassNotFoundException e) {
+ aHatchTypeClass = new Class[] {
+ GT_MetaTileEntity_Hatch_Dynamo.class,
+ GT_MetaTileEntity_Hatch_Energy.class,
+ GT_MetaTileEntity_Hatch_Input.class,
+ GT_MetaTileEntity_Hatch_InputBus.class,
+ GT_MetaTileEntity_Hatch_Maintenance.class,
+ GT_MetaTileEntity_Hatch_Muffler.class,
+ GT_MetaTileEntity_Hatch_Output.class,
+ GT_MetaTileEntity_Hatch_OutputBus.class,
+ GT_MetaTileEntity_Hatch.class
+ };
+ }
+ }
}