From c9bc17bce5bec26ec2795d12faeb02fcfcd9366e Mon Sep 17 00:00:00 2001 From: OneEyeMaker Date: Sun, 17 Jul 2016 15:20:29 +0300 Subject: Added new heating coil blocks. --- .../GT_MetaTileEntity_ElectricBlastFurnace.java | 27 ++++++++++++++------- .../multi/GT_MetaTileEntity_MultiFurnace.java | 28 ++++++++++++++-------- 2 files changed, 36 insertions(+), 19 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities') diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java index bdeaa4f2df..0a90c00d0b 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java @@ -1,5 +1,8 @@ package gregtech.common.tileentities.machines.multi; +import java.util.ArrayList; +import java.util.Arrays; + import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_GUIContainer_MultiMachine; @@ -15,9 +18,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; -import java.util.Arrays; - public class GT_MetaTileEntity_ElectricBlastFurnace extends GT_MetaTileEntity_MultiBlockBase { private int mHeatingCapacity = 0; @@ -144,29 +144,38 @@ public class GT_MetaTileEntity_ElectricBlastFurnace addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 3, zDir), 11); byte tUsedMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + 1, 2, zDir); + boolean tUseAdvancedCoils = aBaseMetaTileEntity.getBlockOffset(xDir + 1, 2, zDir) == GregTech_API.sBlockCasings4; switch (tUsedMeta) { case 12: - this.mHeatingCapacity = 1800; + this.mHeatingCapacity = tUseAdvancedCoils ? 0 : 1800; break; case 13: - this.mHeatingCapacity = 2700; + this.mHeatingCapacity = tUseAdvancedCoils ? 0 : 2700; break; case 14: - this.mHeatingCapacity = 3600; + this.mHeatingCapacity = tUseAdvancedCoils ? 4500 : 3600; + break; + case 15: + this.mHeatingCapacity = tUseAdvancedCoils ? 9001 : 0; break; default: return false; } + if (this.mHeatingCapacity == 0) { + return false; + } for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { if ((i != 0) || (j != 0)) { - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != GregTech_API.sBlockCasings1) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != GregTech_API.sBlockCasings1 && !tUseAdvancedCoils || + aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != GregTech_API.sBlockCasings4 && tUseAdvancedCoils) { return false; } if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != tUsedMeta) { return false; } - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings1) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings1 && !tUseAdvancedCoils || + aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings4 && tUseAdvancedCoils) { return false; } if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) { @@ -219,4 +228,4 @@ public class GT_MetaTileEntity_ElectricBlastFurnace public boolean explodesOnComponentBreak(ItemStack aStack) { return false; } -} \ No newline at end of file +} diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java index 70a7249cae..7a7a30e446 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java @@ -1,5 +1,7 @@ package gregtech.common.tileentities.machines.multi; +import java.util.ArrayList; + import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_GUIContainer_MultiMachine; @@ -15,8 +17,6 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; - public class GT_MetaTileEntity_MultiFurnace extends GT_MetaTileEntity_MultiBlockBase { private int mLevel = 0; @@ -76,8 +76,8 @@ public class GT_MetaTileEntity_MultiFurnace byte tTier = (byte) Math.max(1, GT_Utility.getTier(getMaxInputVoltage())); int j = 0; - this.mOutputItems = new ItemStack[6 * this.mLevel]; - for (int i = 0; (i < 100) && (j < this.mOutputItems.length); i++) { + this.mOutputItems = new ItemStack[8 * this.mLevel]; + for (int i = 0; (i < 256) && (j < this.mOutputItems.length); i++) { if (null != (this.mOutputItems[j] = GT_ModHandler.getSmeltingOutput((ItemStack) tInputList.get(i % tInputList.size()), true, null))) { j++; } @@ -86,7 +86,7 @@ public class GT_MetaTileEntity_MultiFurnace this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; - this.mEUt = (-4 * (1 << tTier - 1) * (1 << tTier - 1) * this.mLevel); + this.mEUt = (-4 * (1 << tTier - 1) * (1 << tTier - 1) * Math.min(this.mLevel, 8)); this.mMaxProgresstime = Math.max(1, 512 / (1 << tTier - 1)); } updateSlots(); @@ -106,23 +106,31 @@ public class GT_MetaTileEntity_MultiFurnace addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 2, zDir), 11); byte tUsedMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + 1, 1, zDir); + boolean tUseAdvancedCoils = aBaseMetaTileEntity.getBlockOffset(xDir + 1, 1, zDir) == GregTech_API.sBlockCasings4; switch (tUsedMeta) { case 12: - this.mLevel = 1; + this.mLevel = tUseAdvancedCoils ? 0 : 1; break; case 13: - this.mLevel = 2; + this.mLevel = tUseAdvancedCoils ? 0 : 2; break; case 14: - this.mLevel = 3; + this.mLevel = tUseAdvancedCoils ? 8 : 4; + break; + case 15: + this.mLevel = tUseAdvancedCoils ? 16 : 0; break; default: return false; } + if (this.mLevel == 0) { + return false; + } for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { if ((i != 0) || (j != 0)) { - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings1) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings1 && !tUseAdvancedCoils || + aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings4 && tUseAdvancedCoils) { return false; } if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) { @@ -174,4 +182,4 @@ public class GT_MetaTileEntity_MultiFurnace public boolean explodesOnComponentBreak(ItemStack aStack) { return false; } -} \ No newline at end of file +} -- cgit