Add passive and steam generation Stats to reactor.
This commit is contained in:
parent
e6957c1561
commit
6f9e13a798
|
@ -53,4 +53,8 @@ public interface IFusionReactor
|
|||
public double getMaxCasingTemperature(boolean active);
|
||||
|
||||
public double getIgnitionTemperature(boolean active);
|
||||
|
||||
public double getPassiveGeneration(boolean active, boolean current);
|
||||
|
||||
public int getSteamPerTick(boolean current);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package mekanism.generators.client.gui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import mekanism.api.util.ListUtils;
|
||||
|
@ -27,20 +28,23 @@ public class GuiReactorController extends GuiMekanism
|
|||
{
|
||||
super(new ContainerReactorController(inventory, tentity));
|
||||
tileEntity = tentity;
|
||||
guiElements.add(new GuiEnergyInfo(new IInfoHandler()
|
||||
if(tileEntity.isFormed())
|
||||
{
|
||||
@Override
|
||||
public List<String> getInfo()
|
||||
guiElements.add(new GuiEnergyInfo(new IInfoHandler()
|
||||
{
|
||||
return ListUtils.asList(
|
||||
"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
|
||||
"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
|
||||
}
|
||||
}, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"), 79, 38));
|
||||
guiElements.add(new GuiHeatTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
guiElements.add(new GuiFuelTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
guiElements.add(new GuiStatTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
@Override
|
||||
public List<String> getInfo()
|
||||
{
|
||||
return tileEntity.isFormed() ? ListUtils.asList(
|
||||
"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
|
||||
"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.getReactor().getPassiveGeneration(false, true)) + "/t") : new ArrayList();
|
||||
}
|
||||
}, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"), 79, 38));
|
||||
guiElements.add(new GuiHeatTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
guiElements.add(new GuiFuelTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
guiElements.add(new GuiStatTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png")));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -51,9 +51,9 @@ public class GuiReactorFuel extends GuiMekanism
|
|||
@Override
|
||||
public List<String> getInfo()
|
||||
{
|
||||
return ListUtils.asList(
|
||||
return tileEntity.isFormed() ? ListUtils.asList(
|
||||
"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
|
||||
"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
|
||||
"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.getReactor().getPassiveGeneration(false, true)) + "/t") : new ArrayList();
|
||||
}
|
||||
}, this, MekanismUtils.getResource(ResourceType.GUI, "GuiTall.png")));
|
||||
guiElements.add(new GuiGasGauge(new IGasInfoHandler()
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package mekanism.generators.client.gui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import mekanism.api.Coord4D;
|
||||
|
@ -48,9 +49,9 @@ public class GuiReactorHeat extends GuiMekanism
|
|||
@Override
|
||||
public List<String> getInfo()
|
||||
{
|
||||
return ListUtils.asList(
|
||||
return tileEntity.isFormed() ? ListUtils.asList(
|
||||
"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
|
||||
"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
|
||||
"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.getReactor().getPassiveGeneration(false, true)) + "/t") : new ArrayList();
|
||||
}
|
||||
}, this, MekanismUtils.getResource(ResourceType.GUI, "GuiTall.png")));
|
||||
guiElements.add(new GuiNumberGauge(new INumberInfoHandler()
|
||||
|
@ -76,7 +77,7 @@ public class GuiReactorHeat extends GuiMekanism
|
|||
@Override
|
||||
public String getText(double level)
|
||||
{
|
||||
return "Plasma: " + (int)(level+23) + "C";
|
||||
return "Plasma: " + (int)level + "C";
|
||||
}
|
||||
}, Type.STANDARD, this, MekanismUtils.getResource(ResourceType.GUI, "GuiTall.png"), 7, 50));
|
||||
guiElements.add(new GuiProgress(new IProgressInfoHandler()
|
||||
|
@ -110,7 +111,7 @@ public class GuiReactorHeat extends GuiMekanism
|
|||
@Override
|
||||
public String getText(double level)
|
||||
{
|
||||
return "Case: " + (int)(level+23) + "C";
|
||||
return "Case: " + (int)level + "C";
|
||||
}
|
||||
}, Type.STANDARD, this, MekanismUtils.getResource(ResourceType.GUI, "GuiTall.png"), 61, 50));
|
||||
guiElements.add(new GuiProgress(new IProgressInfoHandler()
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package mekanism.generators.client.gui;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import mekanism.api.Coord4D;
|
||||
|
@ -37,9 +38,9 @@ public class GuiReactorStats extends GuiMekanism
|
|||
@Override
|
||||
public List<String> getInfo()
|
||||
{
|
||||
return ListUtils.asList(
|
||||
return tileEntity.isFormed() ? ListUtils.asList(
|
||||
"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
|
||||
"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
|
||||
"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.getReactor().getPassiveGeneration(false, true)) + "/t") : new ArrayList();
|
||||
}
|
||||
}, this, MekanismUtils.getResource(ResourceType.GUI, "GuiTall.png")));
|
||||
guiElements.add(new GuiHeatTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiTall.png")));
|
||||
|
@ -59,12 +60,15 @@ public class GuiReactorStats extends GuiMekanism
|
|||
fontRendererObj.drawString(MekanismUtils.localize("gui.ignition") + ": " + (nf.format(tileEntity.getReactor().getIgnitionTemperature(false))), 16, 46, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.maxPlasma") + ": " + (nf.format(tileEntity.getReactor().getMaxPlasmaTemperature(false))), 16, 56, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.maxCasing") + ": " + (nf.format(tileEntity.getReactor().getMaxCasingTemperature(false))), 16, 66, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.passiveGeneration") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getReactor().getPassiveGeneration(false, false))+"/t", 16, 76, 0x404040);
|
||||
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.active"), 6, 86, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.minInject") + ": " + (tileEntity.getReactor().getMinInjectionRate(true)), 16, 96, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.ignition") + ": " + (nf.format(tileEntity.getReactor().getIgnitionTemperature(true))), 16, 106, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.maxPlasma") + ": " + (nf.format(tileEntity.getReactor().getMaxPlasmaTemperature(true))), 16, 116, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.maxCasing") + ": " + (nf.format(tileEntity.getReactor().getMaxCasingTemperature(true))), 16, 126, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.active"), 6, 96, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.minInject") + ": " + (tileEntity.getReactor().getMinInjectionRate(true)), 16, 106, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.ignition") + ": " + (nf.format(tileEntity.getReactor().getIgnitionTemperature(true))), 16, 116, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.maxPlasma") + ": " + (nf.format(tileEntity.getReactor().getMaxPlasmaTemperature(true))), 16, 126, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.maxCasing") + ": " + (nf.format(tileEntity.getReactor().getMaxCasingTemperature(true))), 16, 136, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.passiveGeneration") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getReactor().getPassiveGeneration(true, false))+"/t", 16, 146, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.localize("gui.steamProduction") + ": " + nf.format(tileEntity.getReactor().getSteamPerTick(false)) + "mB/t", 16, 156, 0x404040);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -494,4 +494,18 @@ public class FusionReactor implements IFusionReactor
|
|||
double k = active ? caseWaterConductivity : 0;
|
||||
return burnTemperature * energyPerFuel * burnRatio * (plasmaCaseConductivity+k+caseAirConductivity) / (energyPerFuel * burnRatio * (plasmaCaseConductivity+k+caseAirConductivity) - plasmaCaseConductivity * (k + caseAirConductivity));
|
||||
}
|
||||
|
||||
public double getPassiveGeneration(boolean active, boolean current)
|
||||
{
|
||||
double temperature = current ? caseTemperature : getMaxCasingTemperature(active);
|
||||
|
||||
return thermocoupleEfficiency * caseAirConductivity * temperature;
|
||||
}
|
||||
|
||||
public int getSteamPerTick(boolean current)
|
||||
{
|
||||
double temperature = current ? caseTemperature : getMaxCasingTemperature(true);
|
||||
|
||||
return (int)(steamTransferEfficiency * caseWaterConductivity * temperature / enthalpyOfVaporization);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -688,6 +688,8 @@ gui.minInject=Min. Inject Rate
|
|||
gui.ignition=Ignition Temp
|
||||
gui.maxPlasma=Max. Plasma Temp
|
||||
gui.maxCasing=Max. Casing Temp
|
||||
gui.passiveGeneration=Passive Generation
|
||||
gui.steamProduction=Steam Production
|
||||
|
||||
//*****//
|
||||
//TOOLS//
|
||||
|
|
Loading…
Reference in a new issue