package mekanism.generators.common.content.turbine; import java.util.HashMap; import java.util.Map; import mekanism.api.Coord4D; import mekanism.common.multiblock.SynchronizedData; import mekanism.common.tile.TileEntityGasTank.GasMode; import net.minecraftforge.fluids.FluidStack; public class SynchronizedTurbineData extends SynchronizedData<SynchronizedTurbineData> { public static Map<String, Float> clientRotationMap = new HashMap<String, Float>(); public static final float ROTATION_THRESHOLD = 0.001F; public FluidStack fluidStored; public FluidStack prevFluid; public double electricityStored; public GasMode dumpMode = GasMode.IDLE; public int blades; public int vents; public int coils; public int condensers; public int lowerVolume; public Coord4D complex; public int lastSteamInput; public int newSteamInput; public int flowRemaining; public int clientDispersers; public int clientFlow; public float clientRotation; public int getDispersers() { return (volLength-2)*(volWidth-2) - 1; } public int getFluidCapacity() { return lowerVolume*TurbineUpdateProtocol.FLUID_PER_TANK; } public double getEnergyCapacity() { return volume*16000000D; //16 MJ energy capacity per volume } public boolean needsRenderUpdate() { if((fluidStored == null && prevFluid != null) || (fluidStored != null && prevFluid == null)) { return true; } if(fluidStored != null && prevFluid != null) { if((fluidStored.getFluid() != prevFluid.getFluid()) || (fluidStored.amount != prevFluid.amount)) { return true; } } return false; } }