mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-02-21 13:32:28 +00:00
Added config options for industrial steam turbine
This commit is contained in:
parent
b31105d4d1
commit
bcdd522464
@ -3,7 +3,10 @@ package com.hbm.tileentity.machine;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.stream.JsonWriter;
|
||||||
import com.hbm.blocks.BlockDummyable;
|
import com.hbm.blocks.BlockDummyable;
|
||||||
import com.hbm.handler.CompatHandler;
|
import com.hbm.handler.CompatHandler;
|
||||||
import com.hbm.interfaces.IFluidAcceptor;
|
import com.hbm.interfaces.IFluidAcceptor;
|
||||||
@ -19,6 +22,7 @@ import com.hbm.inventory.gui.GUIMachineLargeTurbine;
|
|||||||
import com.hbm.lib.Library;
|
import com.hbm.lib.Library;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
import com.hbm.sound.AudioWrapper;
|
import com.hbm.sound.AudioWrapper;
|
||||||
|
import com.hbm.tileentity.IConfigurableMachine;
|
||||||
import com.hbm.tileentity.IGUIProvider;
|
import com.hbm.tileentity.IGUIProvider;
|
||||||
import com.hbm.tileentity.TileEntityMachineBase;
|
import com.hbm.tileentity.TileEntityMachineBase;
|
||||||
import com.hbm.util.CompatEnergyControl;
|
import com.hbm.util.CompatEnergyControl;
|
||||||
@ -44,10 +48,9 @@ import net.minecraft.world.World;
|
|||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
||||||
public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent {
|
public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IConfigurableMachine {
|
||||||
|
|
||||||
public long power;
|
public long power;
|
||||||
public static final long maxPower = 100000000;
|
|
||||||
public int age = 0;
|
public int age = 0;
|
||||||
public List<IFluidAcceptor> list2 = new ArrayList();
|
public List<IFluidAcceptor> list2 = new ArrayList();
|
||||||
public FluidTank[] tanks;
|
public FluidTank[] tanks;
|
||||||
@ -61,17 +64,46 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
|
|||||||
private AudioWrapper audio;
|
private AudioWrapper audio;
|
||||||
private float audioDesync;
|
private float audioDesync;
|
||||||
|
|
||||||
|
//Configurable Values
|
||||||
|
public static long maxPower = 100000000;
|
||||||
|
public static int inputTankSize = 512_000;
|
||||||
|
public static int outputTankSize = 10_240_000;
|
||||||
|
public static double efficiency = 1.0;
|
||||||
|
|
||||||
|
|
||||||
public TileEntityMachineLargeTurbine() {
|
public TileEntityMachineLargeTurbine() {
|
||||||
super(7);
|
super(7);
|
||||||
|
|
||||||
tanks = new FluidTank[2];
|
tanks = new FluidTank[2];
|
||||||
tanks[0] = new FluidTank(Fluids.STEAM, 512000, 0);
|
tanks[0] = new FluidTank(Fluids.STEAM, inputTankSize, 0);
|
||||||
tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 10240000, 1);
|
tanks[1] = new FluidTank(Fluids.SPENTSTEAM, outputTankSize, 1);
|
||||||
|
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
audioDesync = rand.nextFloat() * 0.05F;
|
audioDesync = rand.nextFloat() * 0.05F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getConfigName() {
|
||||||
|
return "steamturbineIndustrial";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readIfPresent(JsonObject obj) {
|
||||||
|
maxPower = IConfigurableMachine.grab(obj, "L:maxPower", maxPower);
|
||||||
|
inputTankSize = IConfigurableMachine.grab(obj, "I:inputTankSize", inputTankSize);
|
||||||
|
outputTankSize = IConfigurableMachine.grab(obj, "I:outputTankSize", outputTankSize);
|
||||||
|
efficiency = IConfigurableMachine.grab(obj, "D:efficiency", efficiency);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeConfig(JsonWriter writer) throws IOException {
|
||||||
|
writer.name("L:maxPower").value(maxPower);
|
||||||
|
writer.name("INFO").value("industrial steam turbine consumes 20% of availible steam per tick");
|
||||||
|
writer.name("I:inputTankSize").value(inputTankSize);
|
||||||
|
writer.name("I:outputTankSize").value(outputTankSize);
|
||||||
|
writer.name("D:efficiency").value(efficiency);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return "container.machineLargeTurbine";
|
return "container.machineLargeTurbine";
|
||||||
@ -106,7 +138,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
|
|||||||
boolean valid = false;
|
boolean valid = false;
|
||||||
if(in.hasTrait(FT_Coolable.class)) {
|
if(in.hasTrait(FT_Coolable.class)) {
|
||||||
FT_Coolable trait = in.getTrait(FT_Coolable.class);
|
FT_Coolable trait = in.getTrait(FT_Coolable.class);
|
||||||
double eff = trait.getEfficiency(CoolingType.TURBINE); //100% efficiency
|
double eff = trait.getEfficiency(CoolingType.TURBINE) * efficiency; //100% efficiency by default
|
||||||
if(eff > 0) {
|
if(eff > 0) {
|
||||||
tanks[1].setTankType(trait.coolsTo);
|
tanks[1].setTankType(trait.coolsTo);
|
||||||
int inputOps = (int) Math.floor(tanks[0].getFill() / trait.amountReq); //amount of cycles possible with the entire input buffer
|
int inputOps = (int) Math.floor(tanks[0].getFill() / trait.amountReq); //amount of cycles possible with the entire input buffer
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user