diff --git a/src/main/java/mekanism/common/HeatNetwork.java b/src/main/java/mekanism/common/HeatNetwork.java index 939178463..0e96fa2d4 100644 --- a/src/main/java/mekanism/common/HeatNetwork.java +++ b/src/main/java/mekanism/common/HeatNetwork.java @@ -6,6 +6,9 @@ import java.util.Set; import mekanism.api.IHeatTransfer; import mekanism.api.transmitters.DynamicNetwork; import mekanism.api.transmitters.IGridTransmitter; +import mekanism.api.util.UnitDisplayUtils.TemperatureUnit; +import mekanism.common.multipart.MultipartTransmitter; +import mekanism.common.util.MekanismUtils; import cpw.mods.fml.common.FMLCommonHandler; public class HeatNetwork extends DynamicNetwork @@ -40,13 +43,13 @@ public class HeatNetwork extends DynamicNetwork @Override public String getStoredInfo() { - return meanTemp + "K above ambient"; + return MekanismUtils.getTemperatureDisplay(meanTemp, TemperatureUnit.KELVIN) + " above ambient"; } @Override public String getFlowInfo() { - return heatTransferred + " transferred to acceptors, " + heatLost + " lost to environment, " + (heatTransferred + heatLost == 0 ? "" : heatTransferred / (heatTransferred + heatLost) * 100 + "% efficiency"); + return MekanismUtils.getTemperatureDisplay(heatTransferred, TemperatureUnit.KELVIN) + " transferred to acceptors, " + MekanismUtils.getTemperatureDisplay(heatLost, TemperatureUnit.KELVIN) + " lost to environment, " + (heatTransferred + heatLost == 0 ? "" : heatTransferred / (heatTransferred + heatLost) * 100 + "% efficiency"); } @Override @@ -74,9 +77,9 @@ public class HeatNetwork extends DynamicNetwork { for(IGridTransmitter transmitter : transmitters) { - if(transmitter instanceof IHeatTransfer) + if(transmitter instanceof MultipartTransmitter && ((MultipartTransmitter)transmitter).getPart() instanceof IHeatTransfer) { - IHeatTransfer heatTransmitter = (IHeatTransfer)transmitter; + IHeatTransfer heatTransmitter = (IHeatTransfer)((MultipartTransmitter)transmitter).getPart(); double[] d = heatTransmitter.simulateHeat(); newHeatTransferred += d[0]; newHeatLost += d[1]; @@ -85,9 +88,9 @@ public class HeatNetwork extends DynamicNetwork for(IGridTransmitter transmitter : transmitters) { - if(transmitter instanceof IHeatTransfer) + if(transmitter instanceof MultipartTransmitter && ((MultipartTransmitter)transmitter).getPart() instanceof IHeatTransfer) { - IHeatTransfer heatTransmitter = (IHeatTransfer)transmitter; + IHeatTransfer heatTransmitter = (IHeatTransfer)((MultipartTransmitter)transmitter).getPart(); newSumTemp += heatTransmitter.applyTemperatureChange(); } } diff --git a/src/main/java/mekanism/common/Tier.java b/src/main/java/mekanism/common/Tier.java index 8d86122f3..e697be2be 100644 --- a/src/main/java/mekanism/common/Tier.java +++ b/src/main/java/mekanism/common/Tier.java @@ -484,10 +484,10 @@ public final class Tier public static enum ConductorTier { - BASIC(5, 1, 0, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_BASIC), - ADVANCED(5, 1, 0, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_ADVANCED), - ELITE(5, 1, 0, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_ELITE), - ULTIMATE(5, 1, 0, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_ULTIMATE); + BASIC(5, 1, 10, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_BASIC), + ADVANCED(5, 1, 400, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_ADVANCED), + ELITE(5, 1, 8000, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_ELITE), + ULTIMATE(5, 1, 100000, new ColourRGBA(0.2, 0.2, 0.2, 1), TransmitterType.THERMODYNAMIC_CONDUCTOR_ULTIMATE); public BaseTier getBaseTier() { diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index 7cfe78d1b..269629ddf 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -77,6 +77,7 @@ import mekanism.common.tile.TileEntityOsmiumCompressor; import mekanism.common.tile.TileEntityPRC; import mekanism.common.tile.TileEntityPrecisionSawmill; import mekanism.common.tile.TileEntityPurificationChamber; +import mekanism.common.tile.TileEntityResistiveHeater; import mekanism.common.tile.TileEntityRotaryCondensentrator; import mekanism.common.tile.TileEntitySeismicVibrator; import mekanism.common.tile.TileEntitySolarNeutronActivator; @@ -1144,7 +1145,8 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlo ENTANGLED_BLOCK(MachineBlock.MACHINE_BLOCK_3, 0, "EntangledBlock", 46, TileEntityEntangledBlock.class, true, false, false), SOLAR_NEUTRON_ACTIVATOR(MachineBlock.MACHINE_BLOCK_3, 1, "SolarNeutronActivator", 47, TileEntitySolarNeutronActivator.class, false, true, false), AMBIENT_ACCUMULATOR(MachineBlock.MACHINE_BLOCK_3, 2, "AmbientAccumulator", 48, TileEntityAmbientAccumulator.class, true, false, false), - OREDICTIONIFICATOR(MachineBlock.MACHINE_BLOCK_3, 3, "Oredictionificator", 52, TileEntityOredictionificator.class, false, false, false); + OREDICTIONIFICATOR(MachineBlock.MACHINE_BLOCK_3, 3, "Oredictionificator", 52, TileEntityOredictionificator.class, false, false, false), + RESISTIVE_HEATER(MachineBlock.MACHINE_BLOCK_3, 4, "ResistiveHeater", 53, TileEntityResistiveHeater.class, true, true, false); public MachineBlock typeBlock; public int meta; @@ -1195,7 +1197,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlo for(MachineType type : MachineType.values()) { - if(type != ENTANGLED_BLOCK && type != AMBIENT_ACCUMULATOR) + if(type != ENTANGLED_BLOCK && type != AMBIENT_ACCUMULATOR && type != RESISTIVE_HEATER) { ret.add(type); } diff --git a/src/main/java/mekanism/common/multipart/PartThermodynamicConductor.java b/src/main/java/mekanism/common/multipart/PartThermodynamicConductor.java index bba2e1d22..3a812fab7 100644 --- a/src/main/java/mekanism/common/multipart/PartThermodynamicConductor.java +++ b/src/main/java/mekanism/common/multipart/PartThermodynamicConductor.java @@ -121,9 +121,13 @@ public class PartThermodynamicConductor extends PartTransmitter