Remove some legacy config handling, make all turbine values configurable
This commit is contained in:
parent
345feedf70
commit
7c52d03cb5
5 changed files with 38 additions and 42 deletions
|
@ -131,6 +131,11 @@ public class MekanismConfig
|
||||||
|
|
||||||
public static int windGenerationMinY;
|
public static int windGenerationMinY;
|
||||||
public static int windGenerationMaxY;
|
public static int windGenerationMaxY;
|
||||||
|
|
||||||
|
public static int turbineBladesPerCoil;
|
||||||
|
public static double turbineBaseEnergyPerSteam;
|
||||||
|
public static double turbineVentGasFlow;
|
||||||
|
public static double turbineDisperserGasFlow;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class tools
|
public static class tools
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package mekanism.generators.client.gui;
|
package mekanism.generators.client.gui;
|
||||||
|
|
||||||
|
import mekanism.api.MekanismConfig.generators;
|
||||||
import mekanism.client.gui.GuiMekanism;
|
import mekanism.client.gui.GuiMekanism;
|
||||||
import mekanism.client.gui.element.GuiPowerBar;
|
import mekanism.client.gui.element.GuiPowerBar;
|
||||||
import mekanism.client.gui.element.GuiRateBar;
|
import mekanism.client.gui.element.GuiRateBar;
|
||||||
|
@ -42,8 +43,8 @@ public class GuiIndustrialTurbine extends GuiMekanism
|
||||||
@Override
|
@Override
|
||||||
public double getLevel()
|
public double getLevel()
|
||||||
{
|
{
|
||||||
double rate = tileEntity.structure.lowerVolume*(tileEntity.structure.clientDispersers*TileEntityTurbineCasing.DISPERSER_GAS_FLOW);
|
double rate = tileEntity.structure.lowerVolume*(tileEntity.structure.clientDispersers*generators.turbineDisperserGasFlow);
|
||||||
rate = Math.min(rate, tileEntity.structure.vents*TileEntityTurbineCasing.VENT_GAS_FLOW);
|
rate = Math.min(rate, tileEntity.structure.vents*generators.turbineVentGasFlow);
|
||||||
|
|
||||||
return (double)tileEntity.structure.lastSteamInput/rate;
|
return (double)tileEntity.structure.lastSteamInput/rate;
|
||||||
}
|
}
|
||||||
|
@ -58,10 +59,10 @@ public class GuiIndustrialTurbine extends GuiMekanism
|
||||||
|
|
||||||
fontRendererObj.drawString(tileEntity.getInventoryName(), (xSize/2)-(fontRendererObj.getStringWidth(tileEntity.getInventoryName())/2), 5, 0x404040);
|
fontRendererObj.drawString(tileEntity.getInventoryName(), (xSize/2)-(fontRendererObj.getStringWidth(tileEntity.getInventoryName())/2), 5, 0x404040);
|
||||||
|
|
||||||
double energyMultiplier = TileEntityTurbineCasing.ENERGY_PER_STEAM*Math.min(tileEntity.structure.blades, tileEntity.structure.coils*TileEntityTurbineCasing.BLADE_TO_COIL_RATIO);
|
double energyMultiplier = generators.turbineBaseEnergyPerSteam*Math.min(tileEntity.structure.blades, tileEntity.structure.coils*generators.turbineBladesPerCoil);
|
||||||
|
|
||||||
double rate = tileEntity.structure.lowerVolume*(tileEntity.structure.clientDispersers*TileEntityTurbineCasing.DISPERSER_GAS_FLOW);
|
double rate = tileEntity.structure.lowerVolume*(tileEntity.structure.clientDispersers*generators.turbineDisperserGasFlow);
|
||||||
rate = Math.min(rate, tileEntity.structure.vents*TileEntityTurbineCasing.VENT_GAS_FLOW);
|
rate = Math.min(rate, tileEntity.structure.vents*generators.turbineVentGasFlow);
|
||||||
|
|
||||||
renderScaledText(LangUtils.localize("gui.production") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.structure.clientFlow*energyMultiplier), 53, 26, 0x00CD00, 106);
|
renderScaledText(LangUtils.localize("gui.production") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.structure.clientFlow*energyMultiplier), 53, 26, 0x00CD00, 106);
|
||||||
renderScaledText(LangUtils.localize("gui.flowRate") + ": " + tileEntity.structure.clientFlow + " mB/t", 53, 35, 0x00CD00, 106);
|
renderScaledText(LangUtils.localize("gui.flowRate") + ": " + tileEntity.structure.clientFlow + " mB/t", 53, 35, 0x00CD00, 106);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package mekanism.generators.client.gui;
|
package mekanism.generators.client.gui;
|
||||||
|
|
||||||
import mekanism.api.EnumColor;
|
import mekanism.api.EnumColor;
|
||||||
|
import mekanism.api.MekanismConfig.generators;
|
||||||
import mekanism.client.gui.GuiMekanism;
|
import mekanism.client.gui.GuiMekanism;
|
||||||
import mekanism.common.inventory.container.ContainerNull;
|
import mekanism.common.inventory.container.ContainerNull;
|
||||||
import mekanism.common.util.LangUtils;
|
import mekanism.common.util.LangUtils;
|
||||||
|
@ -41,10 +42,10 @@ public class GuiTurbineStats extends GuiMekanism
|
||||||
|
|
||||||
fontRendererObj.drawString(LangUtils.localize("gui.tankVolume") + ": " + tileEntity.structure.lowerVolume, 8, 26, 0x404040);
|
fontRendererObj.drawString(LangUtils.localize("gui.tankVolume") + ": " + tileEntity.structure.lowerVolume, 8, 26, 0x404040);
|
||||||
|
|
||||||
boolean dispersersLimiting = tileEntity.structure.lowerVolume*tileEntity.structure.clientDispersers*TileEntityTurbineCasing.DISPERSER_GAS_FLOW <
|
boolean dispersersLimiting = tileEntity.structure.lowerVolume*tileEntity.structure.clientDispersers*generators.turbineDisperserGasFlow <
|
||||||
tileEntity.structure.vents*TileEntityTurbineCasing.VENT_GAS_FLOW;
|
tileEntity.structure.vents*generators.turbineVentGasFlow;
|
||||||
boolean ventsLimiting = tileEntity.structure.lowerVolume*tileEntity.structure.clientDispersers*TileEntityTurbineCasing.DISPERSER_GAS_FLOW >
|
boolean ventsLimiting = tileEntity.structure.lowerVolume*tileEntity.structure.clientDispersers*generators.turbineDisperserGasFlow >
|
||||||
tileEntity.structure.vents*TileEntityTurbineCasing.VENT_GAS_FLOW;
|
tileEntity.structure.vents*generators.turbineVentGasFlow;
|
||||||
|
|
||||||
fontRendererObj.drawString(LangUtils.localize("gui.steamFlow"), 8, 40, 0x797979);
|
fontRendererObj.drawString(LangUtils.localize("gui.steamFlow"), 8, 40, 0x797979);
|
||||||
fontRendererObj.drawString(LangUtils.localize("gui.dispersers") + ": " + tileEntity.structure.clientDispersers + (dispersersLimiting ? limiting : ""), 14, 49, 0x404040);
|
fontRendererObj.drawString(LangUtils.localize("gui.dispersers") + ": " + tileEntity.structure.clientDispersers + (dispersersLimiting ? limiting : ""), 14, 49, 0x404040);
|
||||||
|
@ -57,9 +58,9 @@ public class GuiTurbineStats extends GuiMekanism
|
||||||
fontRendererObj.drawString(LangUtils.localize("gui.blades") + ": " + tileEntity.structure.blades + (bladesLimiting ? limiting : ""), 14, 81, 0x404040);
|
fontRendererObj.drawString(LangUtils.localize("gui.blades") + ": " + tileEntity.structure.blades + (bladesLimiting ? limiting : ""), 14, 81, 0x404040);
|
||||||
fontRendererObj.drawString(LangUtils.localize("gui.coils") + ": " + tileEntity.structure.coils + (coilsLimiting ? limiting : ""), 14, 90, 0x404040);
|
fontRendererObj.drawString(LangUtils.localize("gui.coils") + ": " + tileEntity.structure.coils + (coilsLimiting ? limiting : ""), 14, 90, 0x404040);
|
||||||
|
|
||||||
double energyMultiplier = TileEntityTurbineCasing.ENERGY_PER_STEAM*Math.min(tileEntity.structure.blades, tileEntity.structure.coils*TileEntityTurbineCasing.BLADE_TO_COIL_RATIO);
|
double energyMultiplier = generators.turbineBaseEnergyPerSteam*Math.min(tileEntity.structure.blades, tileEntity.structure.coils*generators.turbineBladesPerCoil);
|
||||||
double rate = tileEntity.structure.lowerVolume*(tileEntity.structure.clientDispersers*TileEntityTurbineCasing.DISPERSER_GAS_FLOW);
|
double rate = tileEntity.structure.lowerVolume*(tileEntity.structure.clientDispersers*generators.turbineDisperserGasFlow);
|
||||||
rate = Math.min(rate, tileEntity.structure.vents*TileEntityTurbineCasing.VENT_GAS_FLOW);
|
rate = Math.min(rate, tileEntity.structure.vents*generators.turbineVentGasFlow);
|
||||||
|
|
||||||
fontRendererObj.drawString(LangUtils.localize("gui.maxProduction") + ": " + MekanismUtils.getEnergyDisplay(rate*energyMultiplier), 8, 104, 0x404040);
|
fontRendererObj.drawString(LangUtils.localize("gui.maxProduction") + ": " + MekanismUtils.getEnergyDisplay(rate*energyMultiplier), 8, 104, 0x404040);
|
||||||
|
|
||||||
|
|
|
@ -92,15 +92,20 @@ public class GeneratorsCommonProxy implements IGuiProvider
|
||||||
*/
|
*/
|
||||||
public void loadConfiguration()
|
public void loadConfiguration()
|
||||||
{
|
{
|
||||||
generators.advancedSolarGeneration = Mekanism.configuration.get("generation", "AdvancedSolarGeneration", 300D).getDouble(300D);
|
generators.advancedSolarGeneration = Mekanism.configuration.get("generation", "AdvancedSolarGeneration", 300D).getDouble();
|
||||||
generators.bioGeneration = Mekanism.configuration.get("generation", "BioGeneration", 350D).getDouble(350D);
|
generators.bioGeneration = Mekanism.configuration.get("generation", "BioGeneration", 350D).getDouble();
|
||||||
generators.heatGeneration = Mekanism.configuration.get("generation", "HeatGeneration", 150D).getDouble(150D);
|
generators.heatGeneration = Mekanism.configuration.get("generation", "HeatGeneration", 150D).getDouble();
|
||||||
generators.heatGenerationLava = Mekanism.configuration.get("generation", "HeatGenerationLava", 5D).getDouble(5D);
|
generators.heatGenerationLava = Mekanism.configuration.get("generation", "HeatGenerationLava", 5D).getDouble();
|
||||||
generators.heatGenerationNether = Mekanism.configuration.get("generation", "HeatGenerationNether", 100D).getDouble(100D);
|
generators.heatGenerationNether = Mekanism.configuration.get("generation", "HeatGenerationNether", 100D).getDouble();
|
||||||
generators.solarGeneration = Mekanism.configuration.get("generation", "SolarGeneration", 50D).getDouble(50D);
|
generators.solarGeneration = Mekanism.configuration.get("generation", "SolarGeneration", 50D).getDouble();
|
||||||
|
|
||||||
loadWindConfiguration();
|
loadWindConfiguration();
|
||||||
|
|
||||||
|
generators.turbineBladesPerCoil = Mekanism.configuration.get("generation", "TurbineBladesPerCoil", 4).getInt();
|
||||||
|
generators.turbineBaseEnergyPerSteam = Mekanism.configuration.get("generation", "TurbineBaseEnergyPerSteam", 10D).getDouble();
|
||||||
|
generators.turbineVentGasFlow = Mekanism.configuration.get("generation", "TurbineVentGasFlow", 16000D).getDouble();
|
||||||
|
generators.turbineDisperserGasFlow = Mekanism.configuration.get("generation", "TurbineDisperserGasFlow", 640D).getDouble();
|
||||||
|
|
||||||
if(Mekanism.configuration.hasChanged())
|
if(Mekanism.configuration.hasChanged())
|
||||||
{
|
{
|
||||||
Mekanism.configuration.save();
|
Mekanism.configuration.save();
|
||||||
|
@ -109,24 +114,12 @@ public class GeneratorsCommonProxy implements IGuiProvider
|
||||||
|
|
||||||
private void loadWindConfiguration()
|
private void loadWindConfiguration()
|
||||||
{
|
{
|
||||||
if(Mekanism.configuration.hasKey("generation", "WindGeneration"))
|
generators.windGenerationMin = Mekanism.configuration.get("generation", "WindGenerationMin", 60D).getDouble();
|
||||||
{
|
generators.windGenerationMax = Mekanism.configuration.get("generation", "WindGenerationMax", 480D).getDouble();
|
||||||
//Migrate the old wind generation config
|
|
||||||
final double legacyWindGeneration = Mekanism.configuration.get("generation", "WindGeneration", 60D).getDouble(60D);
|
|
||||||
final double windGenerationMax = legacyWindGeneration * 8D;
|
|
||||||
Mekanism.configuration.getCategory("generation").remove("WindGeneration");
|
|
||||||
|
|
||||||
generators.windGenerationMin = Mekanism.configuration.get("generation", "WindGenerationMin", legacyWindGeneration).getDouble(legacyWindGeneration);
|
|
||||||
generators.windGenerationMax = Mekanism.configuration.get("generation", "WindGenerationMax", windGenerationMax).getDouble(windGenerationMax);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
generators.windGenerationMin = Mekanism.configuration.get("generation", "WindGenerationMin", 60D).getDouble(60D);
|
|
||||||
generators.windGenerationMax = Mekanism.configuration.get("generation", "WindGenerationMax", 480D).getDouble(480D);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Ensure max > min to avoid division by zero later
|
//Ensure max > min to avoid division by zero later
|
||||||
final int minY = Mekanism.configuration.get("generation", "WindGenerationMinY", 24).getInt(24);
|
final int minY = Mekanism.configuration.get("generation", "WindGenerationMinY", 24).getInt();
|
||||||
final int maxY = Mekanism.configuration.get("generation", "WindGenerationMaxY", 255).getInt(255);
|
final int maxY = Mekanism.configuration.get("generation", "WindGenerationMaxY", 255).getInt();
|
||||||
|
|
||||||
generators.windGenerationMinY = minY;
|
generators.windGenerationMinY = minY;
|
||||||
generators.windGenerationMaxY = Math.max(minY + 1, maxY);
|
generators.windGenerationMaxY = Math.max(minY + 1, maxY);
|
||||||
|
|
|
@ -5,6 +5,7 @@ import io.netty.buffer.ByteBuf;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import mekanism.api.Coord4D;
|
import mekanism.api.Coord4D;
|
||||||
|
import mekanism.api.MekanismConfig.generators;
|
||||||
import mekanism.api.Range4D;
|
import mekanism.api.Range4D;
|
||||||
import mekanism.api.energy.IStrictEnergyStorage;
|
import mekanism.api.energy.IStrictEnergyStorage;
|
||||||
import mekanism.common.Mekanism;
|
import mekanism.common.Mekanism;
|
||||||
|
@ -26,11 +27,6 @@ import net.minecraftforge.fluids.FluidStack;
|
||||||
|
|
||||||
public class TileEntityTurbineCasing extends TileEntityMultiblock<SynchronizedTurbineData> implements IStrictEnergyStorage
|
public class TileEntityTurbineCasing extends TileEntityMultiblock<SynchronizedTurbineData> implements IStrictEnergyStorage
|
||||||
{
|
{
|
||||||
public static final double DISPERSER_GAS_FLOW = 640;
|
|
||||||
public static final double VENT_GAS_FLOW = 16000;
|
|
||||||
public static final double ENERGY_PER_STEAM = 10;
|
|
||||||
public static final double BLADE_TO_COIL_RATIO = 4;
|
|
||||||
|
|
||||||
public float prevScale;
|
public float prevScale;
|
||||||
|
|
||||||
public TileEntityTurbineCasing()
|
public TileEntityTurbineCasing()
|
||||||
|
@ -82,9 +78,9 @@ public class TileEntityTurbineCasing extends TileEntityMultiblock<SynchronizedTu
|
||||||
|
|
||||||
if(stored > 0 && getEnergy() < structure.getEnergyCapacity())
|
if(stored > 0 && getEnergy() < structure.getEnergyCapacity())
|
||||||
{
|
{
|
||||||
double energyMultiplier = ENERGY_PER_STEAM*Math.min(structure.blades, structure.coils*BLADE_TO_COIL_RATIO);
|
double energyMultiplier = generators.turbineBaseEnergyPerSteam*Math.min(structure.blades, structure.coils*generators.turbineBladesPerCoil);
|
||||||
double rate = structure.lowerVolume*(structure.getDispersers()*DISPERSER_GAS_FLOW);
|
double rate = structure.lowerVolume*(structure.getDispersers()*generators.turbineDisperserGasFlow);
|
||||||
rate = Math.min(rate, structure.vents*VENT_GAS_FLOW);
|
rate = Math.min(rate, structure.vents*generators.turbineVentGasFlow);
|
||||||
|
|
||||||
double origRate = rate;
|
double origRate = rate;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue