From 23a4f53380ab920533f32446e34a9e5ba4f1f5b0 Mon Sep 17 00:00:00 2001 From: DarkGuardsman Date: Tue, 22 Oct 2013 21:14:50 -0400 Subject: [PATCH] Toyed with heat couple --- src/dark/api/energy/IHeatProducer.java | 2 +- .../common/machines/TileEntityHeatCouple.java | 50 ++++++++++++++++++- .../common/machines/TileEntitySolarPanel.java | 3 +- .../core/common/transmit/TileEntityWire.java | 20 ++------ 4 files changed, 55 insertions(+), 20 deletions(-) diff --git a/src/dark/api/energy/IHeatProducer.java b/src/dark/api/energy/IHeatProducer.java index 1cd031e0..a0c5d2a1 100644 --- a/src/dark/api/energy/IHeatProducer.java +++ b/src/dark/api/energy/IHeatProducer.java @@ -8,5 +8,5 @@ public interface IHeatProducer public boolean getCanProduceHeat(ForgeDirection dir); /** Gets the amount of heat in joules this can output */ - public double getHeatAmmount(ForgeDirection dir); + public float getHeatAmmount(ForgeDirection dir); } diff --git a/src/dark/core/common/machines/TileEntityHeatCouple.java b/src/dark/core/common/machines/TileEntityHeatCouple.java index 11331403..3975cc0c 100644 --- a/src/dark/core/common/machines/TileEntityHeatCouple.java +++ b/src/dark/core/common/machines/TileEntityHeatCouple.java @@ -1,11 +1,59 @@ package dark.core.common.machines; +import java.util.EnumSet; + +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.ForgeDirection; +import universalelectricity.core.vector.Vector3; +import dark.api.energy.IHeatProducer; import dark.core.prefab.machine.TileEntityEnergyMachine; /** Machine that turns heat into usable electrical energy - * + * * @author DarkGuardsman */ public class TileEntityHeatCouple extends TileEntityEnergyMachine { + protected float tempture = 0.0f; + protected float outputWatts = 0f; + protected float heatJoules = 0f; + @Override + public void updateEntity() + { + super.updateEntity(); + + if (!this.worldObj.isRemote) + { + if (this.ticks % 10 == 0) + { + for (ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + Vector3 loc = new Vector3(this).translate(new Vector3(side)); + TileEntity entity = loc.getTileEntity(this.worldObj); + if (entity instanceof IHeatProducer && ((IHeatProducer) entity).getCanProduceHeat(side.getOpposite())) + { + this.heatJoules = ((IHeatProducer) entity).getHeatAmmount(side.getOpposite()); + } + } + this.outputWatts = heatJoules * .4f; + } + } + } + + @Override + public float getRequest(ForgeDirection direction) + { + return 0; + } + + @Override + public float getProvide(ForgeDirection direction) + { + return this.outputWatts; + } + + public EnumSet getOutputDirections() + { + return EnumSet.allOf(ForgeDirection.class); + } } diff --git a/src/dark/core/common/machines/TileEntitySolarPanel.java b/src/dark/core/common/machines/TileEntitySolarPanel.java index 54414abb..140d5311 100644 --- a/src/dark/core/common/machines/TileEntitySolarPanel.java +++ b/src/dark/core/common/machines/TileEntitySolarPanel.java @@ -10,7 +10,7 @@ import dark.core.prefab.machine.TileEntityEnergyMachine; public class TileEntitySolarPanel extends TileEntityEnergyMachine { - float wattOutput = 0; + protected float wattOutput = 0; public TileEntitySolarPanel() { @@ -42,7 +42,6 @@ public class TileEntitySolarPanel extends TileEntityEnergyMachine this.wattOutput = 0; } } - this.wattOutput += this.wattOutput * (this.worldObj.provider instanceof ISolarLevel ? (int) ((ISolarLevel) this.worldObj.provider).getSolarEnergyMultiplier() : 0); } else diff --git a/src/dark/core/common/transmit/TileEntityWire.java b/src/dark/core/common/transmit/TileEntityWire.java index 3d20e89e..b08c95fa 100644 --- a/src/dark/core/common/transmit/TileEntityWire.java +++ b/src/dark/core/common/transmit/TileEntityWire.java @@ -1,12 +1,12 @@ package dark.core.common.transmit; -import net.minecraftforge.common.Configuration; import universalelectricity.compatibility.TileEntityUniversalConductor; -import dark.core.prefab.IExtraInfo.IExtraTileEntityInfo; +import dark.api.ColorCode; -public class TileEntityWire extends TileEntityUniversalConductor implements IExtraTileEntityInfo +public class TileEntityWire extends TileEntityUniversalConductor { - int updateTick = 0; + protected int updateTick = 0; + protected ColorCode color = ColorCode.BLACK; @Override public float getResistance() @@ -20,16 +20,4 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IExt return BlockWire.ampMax; } - @Override - public boolean hasExtraConfigs() - { - return false; - } - - @Override - public void loadExtraConfigs(Configuration config) - { - - } - }