Fixed pipe max pressure material incorrect

This commit is contained in:
Calclavia 2014-03-11 21:15:59 +08:00
parent e03aec6950
commit 1afcb6ae3d
5 changed files with 30 additions and 83 deletions

View file

@ -22,7 +22,6 @@ import resonantinduction.mechanical.energy.turbine.TileWaterTurbine;
import resonantinduction.mechanical.energy.turbine.TileWindTurbine; import resonantinduction.mechanical.energy.turbine.TileWindTurbine;
import resonantinduction.mechanical.fluid.pipe.EnumPipeMaterial; import resonantinduction.mechanical.fluid.pipe.EnumPipeMaterial;
import resonantinduction.mechanical.fluid.pipe.ItemPipe; import resonantinduction.mechanical.fluid.pipe.ItemPipe;
import resonantinduction.mechanical.fluid.transport.BlockPump;
import resonantinduction.mechanical.fluid.transport.TilePump; import resonantinduction.mechanical.fluid.transport.TilePump;
import resonantinduction.mechanical.logistic.belt.BlockDetector; import resonantinduction.mechanical.logistic.belt.BlockDetector;
import resonantinduction.mechanical.logistic.belt.BlockManipulator; import resonantinduction.mechanical.logistic.belt.BlockManipulator;
@ -119,7 +118,7 @@ public class Mechanical
// blockRejector = contentRegistry.createTile(BlockRejector.class, TileRejector.class); // blockRejector = contentRegistry.createTile(BlockRejector.class, TileRejector.class);
blockSorter = contentRegistry.newBlock(TileSorter.class); blockSorter = contentRegistry.newBlock(TileSorter.class);
blockPump = contentRegistry.createTile(BlockPump.class, TilePump.class); blockPump = contentRegistry.newBlock(TilePump.class);
itemPipe = contentRegistry.createItem(ItemPipe.class); itemPipe = contentRegistry.createItem(ItemPipe.class);

View file

@ -33,10 +33,10 @@ public class PartPipe extends PartFramedNode<EnumPipeMaterial, FluidPressureNode
protected FluidTank tank = new FluidTank(FluidContainerRegistry.BUCKET_VOLUME); protected FluidTank tank = new FluidTank(FluidContainerRegistry.BUCKET_VOLUME);
private boolean markPacket = true; private boolean markPacket = true;
public PartPipe(int typeID) public PartPipe()
{ {
super(); super();
material = EnumPipeMaterial.values()[typeID]; material = EnumPipeMaterial.values()[0];
requiresInsulation = false; requiresInsulation = false;
node = new FluidPressureNode(this) node = new FluidPressureNode(this)
@ -109,21 +109,23 @@ public class PartPipe extends PartFramedNode<EnumPipeMaterial, FluidPressureNode
return super.canConnect(from, source); return super.canConnect(from, source);
} }
@Override
public int getMaxFlowRate()
{
return 100;
}
}; };
node.maxFlowRate = getMaterial().maxFlowRate;
node.maxPressure = getMaterial().maxPressure;
} }
public PartPipe() @Override
public void setMaterial(int i)
{ {
this(0); setMaterial(EnumPipeMaterial.values()[i]);
}
@Override
public void setMaterial(EnumPipeMaterial material)
{
this.material = material;
node.maxFlowRate = getMaterial().maxFlowRate;
node.maxPressure = getMaterial().maxPressure;
} }
@Override @Override
@ -172,12 +174,6 @@ public class PartPipe extends PartFramedNode<EnumPipeMaterial, FluidPressureNode
RenderPipe.INSTANCE.render(this, pos.x, pos.y, pos.z, frame); RenderPipe.INSTANCE.render(this, pos.x, pos.y, pos.z, frame);
} }
@Override
public void setMaterial(int i)
{
setMaterial(EnumPipeMaterial.values()[i]);
}
@Override @Override
protected ItemStack getItem() protected ItemStack getItem()
{ {

View file

@ -1,46 +0,0 @@
package resonantinduction.mechanical.fluid.transport;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockRotatable;
import calclavia.lib.render.block.BlockRenderingHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class BlockPump extends BlockRotatable
{
public BlockPump(int id)
{
super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_steel");
rotationMask = Byte.parseByte("111111", 2);
}
@Override
public TileEntity createNewTileEntity(World world)
{
return new TilePump();
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public boolean renderAsNormalBlock()
{
return false;
}
@SideOnly(Side.CLIENT)
@Override
public int getRenderType()
{
return BlockRenderingHandler.ID;
}
}

View file

@ -7,10 +7,12 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.FluidTank;
import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler; import net.minecraftforge.fluids.IFluidHandler;
import resonantinduction.core.Reference;
import resonantinduction.core.grid.Node; import resonantinduction.core.grid.Node;
import resonantinduction.core.grid.fluid.IPressureNodeProvider; import resonantinduction.core.grid.fluid.IPressureNodeProvider;
import resonantinduction.core.grid.fluid.FluidPressureNode; import resonantinduction.core.grid.fluid.FluidPressureNode;
import resonantinduction.mechanical.energy.grid.TileMechanical; import resonantinduction.mechanical.energy.grid.TileMechanical;
import universalelectricity.api.UniversalElectricity;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.tile.IRotatable; import calclavia.lib.prefab.tile.IRotatable;
@ -20,6 +22,8 @@ public class TilePump extends TileMechanical implements IPressureNodeProvider, I
public TilePump() public TilePump()
{ {
super(UniversalElectricity.machine);
pressureNode = new FluidPressureNode(this) pressureNode = new FluidPressureNode(this)
{ {
@Override @Override
@ -29,11 +33,11 @@ public class TilePump extends TileMechanical implements IPressureNodeProvider, I
{ {
if (dir == getDirection()) if (dir == getDirection())
{ {
return (int) Math.max(Math.abs(mechanicalNode.getTorque() / 1000d), 2); return (int) Math.max(Math.abs(mechanicalNode.getTorque() / 8000d), 2);
} }
else if (dir == getDirection().getOpposite()) else if (dir == getDirection().getOpposite())
{ {
return (int) -Math.max(Math.abs(mechanicalNode.getTorque() / 1000d), 2); return (int) -Math.max(Math.abs(mechanicalNode.getTorque() / 8000d), 2);
} }
} }
@ -53,6 +57,12 @@ public class TilePump extends TileMechanical implements IPressureNodeProvider, I
} }
}; };
normalRender = false;
isOpaqueCube = false;
customItemRender = true;
rotationMask = Byte.parseByte("111111", 2);
textureName = "material_steel";
} }
@Override @Override
@ -137,18 +147,6 @@ public class TilePump extends TileMechanical implements IPressureNodeProvider, I
return null; return null;
} }
@Override
public ForgeDirection getDirection()
{
return ForgeDirection.getOrientation(this.worldObj.getBlockMetadata(xCoord, yCoord, zCoord));
}
@Override
public void setDirection(ForgeDirection direction)
{
this.worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, direction.ordinal(), 3);
}
@Override @Override
public FluidTank getPressureTank() public FluidTank getPressureTank()
{ {

View file

@ -19,8 +19,8 @@ public class FluidPressureNode extends Node<IPressureNodeProvider, TickingGrid,
{ {
protected byte connectionMap = Byte.parseByte("111111", 2); protected byte connectionMap = Byte.parseByte("111111", 2);
private int pressure = 0; private int pressure = 0;
public int maxFlowRate = 10; public int maxFlowRate = 20;
public int maxPressure = 10; public int maxPressure = 100;
public FluidPressureNode(IPressureNodeProvider parent) public FluidPressureNode(IPressureNodeProvider parent)
{ {