diff options
author | Glease <4586901+Glease@users.noreply.github.com> | 2022-08-19 19:48:08 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-19 13:48:08 +0200 |
commit | b38a00df73c592f0358ffbbc69f0cab67fcc3817 (patch) | |
tree | 0d2b0cbb4369e4ac01ca5e3ed9a66a78c6347e04 /src/main/java/gtPlusPlus/xmod/gregtech/api | |
parent | 74f5f3b087f1549fb6dac4f18557f2c16406dee3 (diff) | |
download | GT5-Unofficial-b38a00df73c592f0358ffbbc69f0cab67fcc3817.tar.gz GT5-Unofficial-b38a00df73c592f0358ffbbc69f0cab67fcc3817.tar.bz2 GT5-Unofficial-b38a00df73c592f0358ffbbc69f0cab67fcc3817.zip |
Autoplace integration (#280)
* autoplace integration
* add missing changes in base class
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api')
3 files changed, 211 insertions, 82 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java index 124f8695f5..ba9e618539 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java @@ -1,44 +1,48 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; +import gregtech.GT_Mod; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.FluidUtils; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -public class GT_MetaTileEntity_Hatch_CustomFluidBase extends GT_MetaTileEntity_Hatch_Input { + +import static gregtech.api.enums.Textures.BlockIcons.FLUID_IN_SIGN; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_PIPE_IN; + +public class GT_MetaTileEntity_Hatch_CustomFluidBase extends GT_MetaTileEntity_Hatch { public final Fluid mLockedFluid; public final int mFluidCapacity; + protected FluidStack mLockedStack = null; + protected String mTempMod = null; public GT_MetaTileEntity_Hatch_CustomFluidBase(Fluid aFluid, int aAmount, final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional, 6); - this.mRecipeMap = null; + super(aID, aName, aNameRegional, 6, 3, new String[]{ + "Fluid Input for Multiblocks", + "Capacity: " + GT_Utility.formatNumbers(aAmount) + "L"}); this.mLockedFluid = aFluid; this.mFluidCapacity = aAmount; } public GT_MetaTileEntity_Hatch_CustomFluidBase(Fluid aFluid, int aAmount, final String aName, final String aDescription, final ITexture[][][] aTextures) { - super(aName, 6, aDescription, aTextures); - this.mRecipeMap = null; + super(aName, 6, 3, aDescription, aTextures); this.mLockedFluid = aFluid; this.mFluidCapacity = aAmount; } public GT_MetaTileEntity_Hatch_CustomFluidBase(Fluid aFluid, int aAmount, final String aName, final String[] aDescription, final ITexture[][][] aTextures) { - super(aName, 6, aDescription[0], aTextures); - this.mRecipeMap = null; + super(aName, 6, 3, aDescription[0], aTextures); this.mLockedFluid = aFluid; this.mFluidCapacity = aAmount; } @@ -46,33 +50,98 @@ public class GT_MetaTileEntity_Hatch_CustomFluidBase extends GT_MetaTileEntity_H public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, final byte aSide, final ItemStack aStack) { if (aSide == aBaseMetaTileEntity.getFrontFacing() && aIndex == 0) { - if (this.mRecipeMap == null) - return true; FluidStack fs = GT_Utility.getFluidForFilledItem(aStack, true); - if (fs != null && fs.getFluid() == this.mLockedFluid) - return true; + return fs != null && fs.getFluid() == this.mLockedFluid; } return false; } - public ITexture[] getTexturesActive(final ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, - new GT_RenderedTexture((IIconContainer) Textures.BlockIcons.OVERLAY_PUMP)}; + @Override + public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return aSide == aBaseMetaTileEntity.getFrontFacing() && aIndex == 1; + } + + @Override + public ITexture[] getTexturesActive(ITexture aBaseTexture) { + return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch ? + new ITexture[]{aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(FLUID_IN_SIGN)} : + new ITexture[]{aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN)}; } - public ITexture[] getTexturesInactive(final ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, - new GT_RenderedTexture((IIconContainer) Textures.BlockIcons.OVERLAY_PUMP)}; + @Override + public ITexture[] getTexturesInactive(ITexture aBaseTexture) { + return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch ? + new ITexture[]{aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(FLUID_IN_SIGN)} : + new ITexture[]{aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN)}; + } + + @Override + public boolean isSimpleMachine() { + return true; + } + + @Override + public boolean isFacingValid(byte aFacing) { + return true; + } + + @Override + public boolean isAccessAllowed(EntityPlayer aPlayer) { + return true; + } + + @Override + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + if (aBaseMetaTileEntity.isClientSide()) return true; + aBaseMetaTileEntity.openGUI(aPlayer); + return true; + } + + @Override + public boolean doesFillContainers() { + //return true; + return false; + } + + @Override + public boolean doesEmptyContainers() { + return true; + } + + @Override + public boolean canTankBeFilled() { + return true; + } + + @Override + public boolean canTankBeEmptied() { + return true; + } + + @Override + public boolean displaysItemStack() { + return true; + } + + @Override + public boolean displaysStackSize() { + return false; + } + + public void updateSlots() { + if (mInventory[getInputSlot()] != null && mInventory[getInputSlot()].stackSize <= 0) + mInventory[getInputSlot()] = null; + } + + @Override + public int getTankPressure() { + return -100; } public int getCapacity() { return this.mFluidCapacity; } - protected FluidStack mLockedStack = null; - protected Integer mLockedTemp = null; - protected String mTempMod = null; - @Override public String[] getDescription() { if (mLockedStack == null) { @@ -84,7 +153,7 @@ public class GT_MetaTileEntity_Hatch_CustomFluidBase extends GT_MetaTileEntity_H aFluidTemp = mLockedFluid.getTemperature(); mTempMod = mLockedFluid.getName(); } - if (mTempMod.toLowerCase().equals("steam")) { + if (mTempMod.equalsIgnoreCase("steam")) { isSteam = true; } @@ -112,13 +181,12 @@ public class GT_MetaTileEntity_Hatch_CustomFluidBase extends GT_MetaTileEntity_H aColour = EnumChatFormatting.RED; } String aFluidName = "Accepted Fluid: " + aColour + (mLockedStack != null ? mLockedStack.getLocalizedName() : "Empty") + EnumChatFormatting.RESET; - String[] s2 = new String[]{ + return new String[]{ "Fluid Input for "+(isSteam ? "Steam " : "")+"Multiblocks", "Capacity: " + getCapacity()+"L", aFluidName, CORE.GT_Tooltip - }; - return s2; + }; } public boolean isFluidInputAllowed(final FluidStack aFluid) { @@ -126,6 +194,6 @@ public class GT_MetaTileEntity_Hatch_CustomFluidBase extends GT_MetaTileEntity_H } public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return (MetaTileEntity) new GT_MetaTileEntity_Hatch_CustomFluidBase(this.mLockedFluid, this.mFluidCapacity, this.mName, this.mDescription, this.mTextures); + return new GT_MetaTileEntity_Hatch_CustomFluidBase(this.mLockedFluid, this.mFluidCapacity, this.mName, this.mDescription, this.mTextures); } }
\ No newline at end of file diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index d50079803f..da38f14758 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -1,13 +1,16 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; import com.gtnewhorizon.structurelib.StructureLibAPI; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureElement; +import com.gtnewhorizon.structurelib.structure.StructureUtility; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_Container_MultiMachine; import gregtech.api.gui.GT_GUIContainer_MultiMachine; +import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -22,6 +25,7 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; +import gregtech.api.util.IGT_HatchAdder; import gtPlusPlus.GTplusplus; import gtPlusPlus.GTplusplus.INIT_PHASE; import gtPlusPlus.api.helpers.GregtechPlusPlus_API.Multiblock_API; @@ -39,13 +43,10 @@ import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.preloader.CORE_Preloader; import gtPlusPlus.preloader.asm.AsmConfig; import gtPlusPlus.xmod.gregtech.api.gui.*; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_AirIntake; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ControlCore; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBattery; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBattery; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.*; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; @@ -53,11 +54,11 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IChatComponent; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; - import org.apache.commons.lang3.ArrayUtils; import java.lang.reflect.InvocationTargetException; @@ -66,7 +67,10 @@ import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.BiConsumer; import java.util.function.BiPredicate; +import java.util.function.Consumer; import java.util.function.Function; +import java.util.stream.Collectors; + import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls; @@ -2597,29 +2601,6 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En } @Override - public boolean depleteInput(final FluidStack aLiquid) { - if (aLiquid == null) { - return false; - } - for (final GT_MetaTileEntity_Hatch_Input tHatch : this.mInputHatches) { - tHatch.mRecipeMap = this.getRecipeMap(); - if (isValidMetaTileEntity(tHatch)) { - FluidStack tLiquid = tHatch.getFluid(); - if (tLiquid == null || !tLiquid.isFluidEqual(aLiquid) || tLiquid.amount < aLiquid.amount) { - continue; - } - tLiquid = tHatch.drain(aLiquid.amount, false); - if (tLiquid != null && tLiquid.amount >= aLiquid.amount) { - tLiquid = tHatch.drain(aLiquid.amount, true); - return tLiquid != null && tLiquid.amount >= aLiquid.amount; - } - continue; - } - } - return false; - } - - @Override public void onServerStart() { super.onServerStart(); tryTickWaitTimerDown(); @@ -2650,6 +2631,11 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En } //Only support to use meta to tier + + /** + * accept meta [0, maxMeta) + * @param maxMeta exclusive + */ public static <T> IStructureElement<T> addTieredBlock(Block aBlock, BiConsumer<T, Integer> aSetTheFuckingMeta, Function<T, Integer> aGetTheFuckingMeta, int maxMeta) { return addTieredBlock(aBlock, (t, i) -> { aSetTheFuckingMeta.accept(t, i); @@ -2658,6 +2644,11 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En ); } + /** + * + * @param minMeta inclusive + * @param maxMeta exclusive + */ public static <T> IStructureElement<T> addTieredBlock(Block aBlock, BiConsumer<T, Integer> aSetTheFuckingMeta, Function<T, Integer> aGetTheFuckingMeta, int minMeta, int maxMeta) { return addTieredBlock(aBlock, (t, i) -> { aSetTheFuckingMeta.accept(t, i); @@ -2666,6 +2657,11 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En ); } + /** + * + * @param minMeta inclusive + * @param maxMeta exclusive + */ public static <T> IStructureElement<T> addTieredBlock(Block aBlock, BiPredicate<T, Integer> aSetTheFuckingMeta, Function<T, Integer> aGetTheFuckingMeta, int minMeta, int maxMeta) { return new IStructureElement<T>() { @@ -2702,6 +2698,17 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En if (meta + minMeta >= maxMeta) meta = maxMeta - 1 - minMeta; return meta + minMeta; } + + @Override + public PlaceResult survivalPlaceBlock(T t, World world, int x, int y, int z, ItemStack trigger, IItemSource s, EntityPlayerMP actor, Consumer<IChatComponent> chatter) { + if (world.getBlock(x, y, z) == aBlock) { + if (world.getBlockMetadata(x, y, z) == getMeta(trigger)) { + return PlaceResult.SKIP; + } + return PlaceResult.REJECT; + } + return StructureUtility.survivalPlaceBlock(aBlock, getMeta(trigger), world, x, y, z, s, actor, chatter); + } }; } @@ -2732,4 +2739,65 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En protected int getCasingTextureId() { return 0; } + + public enum GTPPHatchElement implements IHatchElement<GregtechMeta_MultiBlockBase<?>> { + AirIntake(GregtechMeta_MultiBlockBase::addAirIntakeToMachineList, GT_MetaTileEntity_Hatch_AirIntake.class) { + @Override + public long count(GregtechMeta_MultiBlockBase<?> t) { + return t.mAirIntakes.size(); + } + }, + ControlCore(GregtechMeta_MultiBlockBase::addControlCoreToMachineList, GT_MetaTileEntity_Hatch_ControlCore.class) { + @Override + public long count(GregtechMeta_MultiBlockBase<?> t) { + return t.mControlCoreBus.size(); + } + }, + TTDynamo(GregtechMeta_MultiBlockBase::addMultiAmpDynamoToMachineList, "com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti") { + @Override + public long count(GregtechMeta_MultiBlockBase<?> t) { + return t.mTecTechDynamoHatches.size(); + } + }, + TTEnergy(GregtechMeta_MultiBlockBase::addMultiAmpEnergyToMachineList, "com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti") { + @Override + public long count(GregtechMeta_MultiBlockBase<?> t) { + return t.mTecTechEnergyHatches.size(); + } + }, + ; + + @SuppressWarnings("unchecked") + private static <T> Class<T> retype(Class<?> clazz) { + return (Class<T>) clazz; + } + + private final List<? extends Class<? extends IMetaTileEntity>> mMteClasses; + private final IGT_HatchAdder<? super GregtechMeta_MultiBlockBase<?>> mAdder; + + @SafeVarargs + GTPPHatchElement(IGT_HatchAdder<? super GregtechMeta_MultiBlockBase<?>> aAdder, Class<? extends IMetaTileEntity>... aMteClasses) { + this.mMteClasses = Arrays.asList(aMteClasses); + this.mAdder = aAdder; + } + + GTPPHatchElement(IGT_HatchAdder<? super GregtechMeta_MultiBlockBase<?>> aAdder, String... aClassNames) { + this.mMteClasses = Arrays.stream(aClassNames) + .map(ReflectionUtils::getClass) + .filter(Objects::nonNull) + .<Class<? extends IMetaTileEntity>>map(GTPPHatchElement::retype) + .collect(Collectors.toList()); + this.mAdder = aAdder; + } + + @Override + public List<? extends Class<? extends IMetaTileEntity>> mteClasses() { + return mMteClasses; + } + + @Override + public IGT_HatchAdder<? super GregtechMeta_MultiBlockBase<?>> adder() { + return mAdder; + } + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java index e963a0e2f7..5503280409 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java @@ -1,20 +1,18 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; +import java.util.ArrayList; +import java.util.List; + import gregtech.api.enums.Textures; 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_Input; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.ConcurrentHashSet; -import gtPlusPlus.api.objects.data.ConcurrentSet; -import gtPlusPlus.api.objects.data.FlexiblePair; -import gtPlusPlus.api.objects.data.Triplet; +import gtPlusPlus.api.objects.data.*; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusOutput; @@ -24,13 +22,11 @@ import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.ArrayUtils; -import java.util.ArrayList; -import java.util.List; import static gregtech.api.enums.GT_Values.V; import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls; -public abstract class GregtechMeta_SteamMultiBase extends GregtechMeta_MultiBlockBase { +public abstract class GregtechMeta_SteamMultiBase<T extends GregtechMeta_SteamMultiBase<T>> extends GregtechMeta_MultiBlockBase<T> { public ArrayList<GT_MetaTileEntity_Hatch_Steam_BusInput> mSteamInputs = new ArrayList<GT_MetaTileEntity_Hatch_Steam_BusInput>(); public ArrayList<GT_MetaTileEntity_Hatch_Steam_BusOutput> mSteamOutputs = new ArrayList<GT_MetaTileEntity_Hatch_Steam_BusOutput>(); @@ -90,8 +86,8 @@ public abstract class GregtechMeta_SteamMultiBase extends GregtechMeta_MultiBloc if (tMap == null) { return false; } - ItemStack[] aItemInputs = tItems.toArray(new ItemStack[tItems.size()]); - FluidStack[] aFluidInputs = tFluids.toArray(new FluidStack[tFluids.size()]); + ItemStack[] aItemInputs = tItems.toArray(new ItemStack[0]); + FluidStack[] aFluidInputs = tFluids.toArray(new FluidStack[0]); GT_Recipe tRecipe = tMap.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, V[1], null, null, aItemInputs); if (tRecipe == null) { log("BAD RETURN - 1"); @@ -211,7 +207,7 @@ public abstract class GregtechMeta_SteamMultiBase extends GregtechMeta_MultiBloc for (ItemStack tS : tOutputItems) { if (tS.stackSize > 0) tSList.add(tS); } - tOutputItems = tSList.toArray(new ItemStack[tSList.size()]); + tOutputItems = tSList.toArray(new ItemStack[0]); // Commit outputs this.mOutputItems = tOutputItems; @@ -685,8 +681,7 @@ public abstract class GregtechMeta_SteamMultiBase extends GregtechMeta_MultiBloc @Override public boolean depleteInput(FluidStack aLiquid) { if (aLiquid == null) return false; - for (GT_MetaTileEntity_Hatch_Input tHatch : mSteamInputFluids) { - tHatch.mRecipeMap = getRecipeMap(); + for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : mSteamInputFluids) { if (isValidMetaTileEntity(tHatch)) { FluidStack tLiquid = tHatch.getFluid(); if (tLiquid != null && tLiquid.isFluidEqual(aLiquid)) { @@ -706,8 +701,7 @@ public abstract class GregtechMeta_SteamMultiBase extends GregtechMeta_MultiBloc if (GT_Utility.isStackInvalid(aStack)) return false; FluidStack aLiquid = GT_Utility.getFluidForFilledItem(aStack, true); if (aLiquid != null) return depleteInput(aLiquid); - for (GT_MetaTileEntity_Hatch_Input tHatch : mSteamInputFluids) { - tHatch.mRecipeMap = getRecipeMap(); + for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : mSteamInputFluids) { if (isValidMetaTileEntity(tHatch)) { if (GT_Utility.areStacksEqual(aStack, tHatch.getBaseMetaTileEntity().getStackInSlot(0))) { if (tHatch.getBaseMetaTileEntity().getStackInSlot(0).stackSize >= aStack.stackSize) { @@ -736,8 +730,7 @@ public abstract class GregtechMeta_SteamMultiBase extends GregtechMeta_MultiBloc @Override public ArrayList<FluidStack> getStoredFluids() { ArrayList<FluidStack> rList = new ArrayList<FluidStack>(); - for (GT_MetaTileEntity_Hatch_Input tHatch : mSteamInputFluids) { - tHatch.mRecipeMap = getRecipeMap(); + for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : mSteamInputFluids) { if (isValidMetaTileEntity(tHatch) && tHatch.getFillableStack() != null) { rList.add(tHatch.getFillableStack()); } @@ -800,7 +793,7 @@ public abstract class GregtechMeta_SteamMultiBase extends GregtechMeta_MultiBloc @Override public void updateSlots() { - for (GT_MetaTileEntity_Hatch_Input tHatch : mSteamInputFluids) + for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : mSteamInputFluids) if (isValidMetaTileEntity(tHatch)) tHatch.updateSlots(); for (GT_MetaTileEntity_Hatch_Steam_BusInput tHatch : mSteamInputs) if (isValidMetaTileEntity(tHatch)) tHatch.updateSlots(); |