Added pressure detection to multimeter
This commit is contained in:
parent
8b4afcac8c
commit
e431807bc1
8 changed files with 19 additions and 30 deletions
|
@ -116,26 +116,14 @@ public class TileChannel extends TileFluidNetwork implements IBlockActivate, IFl
|
|||
public void writeToNBT(NBTTagCompound nbt)
|
||||
{
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setBoolean("isExtracting", isExtracting);
|
||||
tank.writeToNBT(nbt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt)
|
||||
{
|
||||
super.readFromNBT(nbt);
|
||||
isExtracting = nbt.getBoolean("isExtracting");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPressureIn(ForgeDirection side)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWrongPressure(ForgeDirection side, int pressure)
|
||||
{
|
||||
|
||||
tank.readFromNBT(nbt);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -32,6 +32,7 @@ public class MultimeterNetwork extends Network<MultimeterNetwork, PartMultimeter
|
|||
public final GraphF angularVelocityGraph = new GraphF("Speed", maxData);
|
||||
public final GraphI fluidGraph = new GraphI("Fluid", maxData);
|
||||
public final GraphF thermalGraph = new GraphF("Temperature", maxData);
|
||||
public final GraphI pressureGraph = new GraphI("Pressure", maxData);
|
||||
|
||||
/**
|
||||
* The absolute center of the multimeter screens.
|
||||
|
@ -68,6 +69,7 @@ public class MultimeterNetwork extends Network<MultimeterNetwork, PartMultimeter
|
|||
graphs.add(angularVelocityGraph);
|
||||
graphs.add(fluidGraph);
|
||||
graphs.add(thermalGraph);
|
||||
graphs.add(pressureGraph);
|
||||
}
|
||||
|
||||
public String getDisplay(int graphID)
|
||||
|
@ -97,6 +99,9 @@ public class MultimeterNetwork extends Network<MultimeterNetwork, PartMultimeter
|
|||
if (graph == thermalGraph)
|
||||
graphValue = UnitDisplay.roundDecimals(thermalGraph.get()) + " K";
|
||||
|
||||
if (graph == pressureGraph)
|
||||
graphValue = UnitDisplay.roundDecimals(pressureGraph.get()) + " Pa";
|
||||
|
||||
return graph.name + ": " + graphValue;
|
||||
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraftforge.common.ForgeDirection;
|
|||
import net.minecraftforge.fluids.FluidTankInfo;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
import resonantinduction.api.mechanical.IMechanical;
|
||||
import resonantinduction.api.mechanical.fluid.IPressure;
|
||||
import resonantinduction.core.ResonantInduction;
|
||||
import resonantinduction.core.prefab.part.PartFace;
|
||||
import resonantinduction.electrical.Electrical;
|
||||
|
@ -300,6 +301,11 @@ public class PartMultimeter extends PartFace implements IConnector<MultimeterNet
|
|||
}
|
||||
}
|
||||
|
||||
if (tileEntity instanceof IPressure)
|
||||
{
|
||||
getNetwork().pressureGraph.queue(((IPressure) tileEntity).getPressure(receivingSide));
|
||||
}
|
||||
|
||||
if (tileEntity instanceof ITemperature)
|
||||
{
|
||||
getNetwork().thermalGraph.queue(((ITemperature) tileEntity).getTemperature());
|
||||
|
|
|
@ -18,6 +18,7 @@ public class MultipartMechanical implements IPartFactory
|
|||
{
|
||||
MultiPartRegistry.registerParts(this, PART_TYPES);
|
||||
MultipartGenerator.registerPassThroughInterface("resonantinduction.api.mechanical.fluid.IFluidPipe");
|
||||
MultipartGenerator.registerPassThroughInterface("resonantinduction.api.mechanical.fluid.IPressure");
|
||||
MultipartGenerator.registerTrait("resonantinduction.api.mechanical.IMechanical", "resonantinduction.mechanical.trait.TraitMechanical");
|
||||
}
|
||||
|
||||
|
|
|
@ -167,12 +167,6 @@ public class PartPipe extends PartFramedConnection<EnumPipeMaterial, IFluidPipe,
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPressureIn(ForgeDirection side)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPressure(ForgeDirection dir)
|
||||
{
|
||||
|
@ -185,12 +179,6 @@ public class PartPipe extends PartFramedConnection<EnumPipeMaterial, IFluidPipe,
|
|||
pressure = amount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWrongPressure(ForgeDirection side, int pressure)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFlowRate()
|
||||
{
|
||||
|
@ -208,12 +196,14 @@ public class PartPipe extends PartFramedConnection<EnumPipeMaterial, IFluidPipe,
|
|||
public void save(NBTTagCompound nbt)
|
||||
{
|
||||
super.save(nbt);
|
||||
tank.writeToNBT(nbt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load(NBTTagCompound nbt)
|
||||
{
|
||||
super.load(nbt);
|
||||
tank.readFromNBT(nbt);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
package resonantinduction.api.mechanical.fluid;
|
||||
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
|
||||
/**
|
||||
* Applied to tiles that are pipes and support pressure
|
||||
*
|
||||
* @author DarkGuardsman
|
||||
*/
|
||||
public interface IFluidPipe extends IFluidConnector, IPressureInput
|
||||
public interface IFluidPipe extends IFluidConnector, IPressure
|
||||
{
|
||||
|
||||
/**
|
||||
|
@ -16,5 +14,4 @@ public interface IFluidPipe extends IFluidConnector, IPressureInput
|
|||
* @return amount in liters.
|
||||
*/
|
||||
int getMaxFlowRate();
|
||||
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import net.minecraftforge.common.ForgeDirection;
|
|||
*
|
||||
* @author DarkGaurdsman
|
||||
*/
|
||||
@Deprecated
|
||||
public interface IPressureInput extends IPressure
|
||||
{
|
||||
public int getPressureIn(ForgeDirection side);
|
||||
|
|
|
@ -7,6 +7,7 @@ import net.minecraftforge.common.ForgeDirection;
|
|||
*
|
||||
* @author Darkguardsman
|
||||
*/
|
||||
@Deprecated
|
||||
public interface IPressureOutput
|
||||
{
|
||||
public int getPressureOut(ForgeDirection side);
|
||||
|
|
Loading…
Reference in a new issue