diff options
author | D-Cysteine <54219287+D-Cysteine@users.noreply.github.com> | 2021-07-24 04:38:42 -0600 |
---|---|---|
committer | D-Cysteine <54219287+D-Cysteine@users.noreply.github.com> | 2021-07-24 04:38:42 -0600 |
commit | be9d51a420d3e488d466fcfc5be5f0dc1a125155 (patch) | |
tree | 8f3b003d45071b05d79716173fcfaabf518ffb44 /src/Java/gtPlusPlus/xmod/gregtech/common | |
parent | 23a80da2e511499f34cad0a5224a371d3bb68989 (diff) | |
download | GT5-Unofficial-be9d51a420d3e488d466fcfc5be5f0dc1a125155.tar.gz GT5-Unofficial-be9d51a420d3e488d466fcfc5be5f0dc1a125155.tar.bz2 GT5-Unofficial-be9d51a420d3e488d466fcfc5be5f0dc1a125155.zip |
Add handling of separate steam capacity for single-block boilers
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common')
2 files changed, 23 insertions, 7 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java index 5d88280a01..49272c59d3 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java @@ -25,6 +25,7 @@ import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_AdvancedBoiler; import gtPlusPlus.xmod.gregtech.api.gui.GUI_AdvancedBoiler; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { @@ -169,12 +170,16 @@ public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { return false; } - // Hold more Steam @Override public int getCapacity() { return (16000 + (16000 * mBoilerTier)); } + // GT++ boilers can hold more steam than water. + public int getSteamCapacity() { + return 2 * getCapacity(); + } + @Override protected int getProductionPerSecond() { return 0; @@ -200,6 +205,16 @@ public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { } + @Override + // Since GT++ advanced boilers have different water and steam capacities, we need to override getTankInfo() to + // support returning those different capacities. + public FluidTankInfo[] getTankInfo(ForgeDirection aSide) { + return new FluidTankInfo[]{ + new FluidTankInfo(this.mFluid, getCapacity()), + new FluidTankInfo(this.mSteam, getSteamCapacity()) + }; + } + // We want automation. @Override public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { @@ -219,12 +234,12 @@ public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new CONTAINER_AdvancedBoiler(aPlayerInventory, aBaseMetaTileEntity, getCapacity()); + return new CONTAINER_AdvancedBoiler(aPlayerInventory, aBaseMetaTileEntity); } @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GUI_AdvancedBoiler(aPlayerInventory, aBaseMetaTileEntity, "AdvancedBoiler.png", getCapacity()); + return new GUI_AdvancedBoiler(aPlayerInventory, aBaseMetaTileEntity, "AdvancedBoiler.png"); } @Override @@ -240,6 +255,7 @@ public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { //if (aTick % 60L == 0L) { // Utils.LOG_MACHINE_INFO("Temp:"+this.mTemperature); // Utils.LOG_MACHINE_INFO("getCapacity():"+this.getCapacity()); + // Utils.LOG_MACHINE_INFO("getSteamCapacity():"+this.getSteamCapacity()); // Utils.LOG_MACHINE_INFO("maxProgresstime():"+this.maxProgresstime()); // Utils.LOG_MACHINE_INFO("mSteamPerSecond:"+this.mSteamPerSecond); // Utils.LOG_MACHINE_INFO("mProcessingEnergy:"+this.mProcessingEnergy); @@ -306,9 +322,9 @@ public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { this.mHadNoWater = false; } } - if ((this.mSteam != null) && (this.mSteam.amount > (getCapacity() * 2))) { + if ((this.mSteam != null) && (this.mSteam.amount > getSteamCapacity())) { sendSound((byte) 1); - this.mSteam.amount = (getCapacity() + (getCapacity() / 2)); + this.mSteam.amount = getSteamCapacity() * 3 / 4; } ItemStack fuelSlot = this.mInventory[2]; if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) && (fuelSlot != null)) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java index a75b0e3d9b..a1f9ecbe78 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java @@ -56,12 +56,12 @@ extends GT_MetaTileEntity_Boiler { @Override public Object getServerGUI(final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_Boiler(aPlayerInventory, aBaseMetaTileEntity, 16000); + return new GT_Container_Boiler(aPlayerInventory, aBaseMetaTileEntity); } @Override public Object getClientGUI(final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Boiler(aPlayerInventory, aBaseMetaTileEntity, "SolarBoiler.png", 16000); + return new GT_GUIContainer_Boiler(aPlayerInventory, aBaseMetaTileEntity, "SolarBoiler.png"); } @Override |