Fixed/Finished Networked Tanks
Still need to do more testing as well get a new render for the tanks, but so far they seem to work rather nice.
This commit is contained in:
parent
64877994d4
commit
260602f2e8
4 changed files with 29 additions and 18 deletions
|
@ -33,7 +33,7 @@ public class RenderTank extends TileEntitySpecialRenderer
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
if (stack != null)
|
if (stack != null)
|
||||||
{
|
{
|
||||||
pos = Math.min((stack.amount / LiquidContainerRegistry.BUCKET_VOLUME), 4);
|
pos = Math.min(((stack.amount / LiquidContainerRegistry.BUCKET_VOLUME) / 2), 4);
|
||||||
if (meta == ColorCode.NONE.ordinal())
|
if (meta == ColorCode.NONE.ordinal())
|
||||||
{
|
{
|
||||||
guageMeta = ColorCode.get(stack).ordinal();
|
guageMeta = ColorCode.get(stack).ordinal();
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package dark.fluid.common.machines;
|
package dark.fluid.common.machines;
|
||||||
|
|
||||||
import hydraulic.api.FluidRestrictionHandler;
|
import hydraulic.api.FluidRestrictionHandler;
|
||||||
|
import hydraulic.api.INetworkPart;
|
||||||
import hydraulic.api.INetworkPipe;
|
import hydraulic.api.INetworkPipe;
|
||||||
import hydraulic.helpers.FluidHelper;
|
import hydraulic.helpers.FluidHelper;
|
||||||
|
|
||||||
|
@ -175,9 +176,9 @@ public class BlockTank extends BlockAdvanced
|
||||||
|
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
if (tileEntity instanceof INetworkPipe)
|
if (tileEntity instanceof INetworkPart)
|
||||||
{
|
{
|
||||||
((INetworkPipe) tileEntity).updateNetworkConnections();
|
((INetworkPart) tileEntity).updateNetworkConnections();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,9 +187,9 @@ public class BlockTank extends BlockAdvanced
|
||||||
{
|
{
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
if (tileEntity instanceof INetworkPipe)
|
if (tileEntity instanceof INetworkPart)
|
||||||
{
|
{
|
||||||
((INetworkPipe) tileEntity).updateNetworkConnections();
|
((INetworkPart) tileEntity).updateNetworkConnections();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,10 @@ import hydraulic.api.IColorCoded;
|
||||||
import hydraulic.api.INetworkFluidPart;
|
import hydraulic.api.INetworkFluidPart;
|
||||||
import hydraulic.api.INetworkPipe;
|
import hydraulic.api.INetworkPipe;
|
||||||
import hydraulic.api.IReadOut;
|
import hydraulic.api.IReadOut;
|
||||||
|
import hydraulic.network.ContainerNetwork;
|
||||||
import hydraulic.network.FluidNetwork;
|
import hydraulic.network.FluidNetwork;
|
||||||
import hydraulic.network.TileNetwork;
|
import hydraulic.network.TileNetwork;
|
||||||
import hydraulic.prefab.tile.TileEntityFluidDevice;
|
import hydraulic.prefab.tile.TileEntityFluidDevice;
|
||||||
import hydraulic.prefab.tile.TileEntityFluidStorage;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.network.INetworkManager;
|
import net.minecraft.network.INetworkManager;
|
||||||
|
@ -43,7 +43,7 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
private LiquidTank tank = new LiquidTank(this.getTankSize());
|
private LiquidTank tank = new LiquidTank(this.getTankSize());
|
||||||
|
|
||||||
/* NETWORK INSTANCE THAT THIS PIPE USES */
|
/* NETWORK INSTANCE THAT THIS PIPE USES */
|
||||||
private FluidNetwork fluidNetwork;
|
private ContainerNetwork fluidNetwork;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initiate()
|
public void initiate()
|
||||||
|
@ -83,6 +83,7 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
int id = dataStream.readInt();
|
int id = dataStream.readInt();
|
||||||
if (id == 0)
|
if (id == 0)
|
||||||
{
|
{
|
||||||
|
this.tank.setLiquid(new LiquidStack(dataStream.readInt(), dataStream.readInt(), dataStream.readInt()));
|
||||||
this.renderConnection[0] = dataStream.readInt();
|
this.renderConnection[0] = dataStream.readInt();
|
||||||
this.renderConnection[1] = dataStream.readInt();
|
this.renderConnection[1] = dataStream.readInt();
|
||||||
this.renderConnection[2] = dataStream.readInt();
|
this.renderConnection[2] = dataStream.readInt();
|
||||||
|
@ -96,7 +97,12 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
@Override
|
@Override
|
||||||
public Packet getDescriptionPacket()
|
public Packet getDescriptionPacket()
|
||||||
{
|
{
|
||||||
return PacketManager.getPacket(FluidMech.CHANNEL, this, 0, this.renderConnection[0], this.renderConnection[1], this.renderConnection[2], this.renderConnection[3], this.renderConnection[4], this.renderConnection[5]);
|
LiquidStack stack = new LiquidStack(0, 0, 0);
|
||||||
|
if (this.getTank().getLiquid() != null)
|
||||||
|
{
|
||||||
|
stack = this.getTank().getLiquid();
|
||||||
|
}
|
||||||
|
return PacketManager.getPacket(FluidMech.CHANNEL, this, 0, stack.itemID, stack.amount, stack.itemMeta, this.renderConnection[0], this.renderConnection[1], this.renderConnection[2], this.renderConnection[3], this.renderConnection[4], this.renderConnection[5]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -131,7 +137,7 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
|
|
||||||
if (testNetwork)
|
if (testNetwork)
|
||||||
{
|
{
|
||||||
string += "|NetID>" + this.getTileNetwork().toString();
|
string += "\nNetID>" + this.getTileNetwork().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
return string;
|
return string;
|
||||||
|
@ -146,11 +152,11 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
@Override
|
@Override
|
||||||
public int fill(int tankIndex, LiquidStack resource, boolean doFill)
|
public int fill(int tankIndex, LiquidStack resource, boolean doFill)
|
||||||
{
|
{
|
||||||
if (tankIndex != 0 || resource == null || !this.getColor().isValidLiquid(resource))
|
if (tankIndex != 0 || resource == null || !this.getColor().isValidLiquid(resource) || this.worldObj.isRemote)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return ((FluidNetwork) this.getTileNetwork()).storeFluidInSystem(resource, doFill);
|
return ((ContainerNetwork) this.getTileNetwork()).storeFluidInSystem(resource, doFill);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -162,7 +168,11 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
@Override
|
@Override
|
||||||
public LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain)
|
public LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain)
|
||||||
{
|
{
|
||||||
return ((FluidNetwork) this.getTileNetwork()).drainFluidFromSystem(maxDrain, doDrain);
|
if (tankIndex != 0 || this.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return ((ContainerNetwork) this.getTileNetwork()).drainFluidFromSystem(maxDrain, doDrain);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -243,7 +253,7 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
{
|
{
|
||||||
if (this.fluidNetwork == null)
|
if (this.fluidNetwork == null)
|
||||||
{
|
{
|
||||||
this.setTileNetwork(new FluidNetwork(this.getColor(), this));
|
this.setTileNetwork(new ContainerNetwork(this.getColor(), this));
|
||||||
}
|
}
|
||||||
return this.fluidNetwork;
|
return this.fluidNetwork;
|
||||||
}
|
}
|
||||||
|
@ -251,9 +261,9 @@ public class TileEntityTank extends TileEntityFluidDevice implements ITankContai
|
||||||
@Override
|
@Override
|
||||||
public void setTileNetwork(TileNetwork network)
|
public void setTileNetwork(TileNetwork network)
|
||||||
{
|
{
|
||||||
if (network instanceof FluidNetwork)
|
if (network instanceof ContainerNetwork)
|
||||||
{
|
{
|
||||||
this.fluidNetwork = ((FluidNetwork) network);
|
this.fluidNetwork = ((ContainerNetwork) network);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ public class TileEntityConstructionPump extends TileEntityRunnableMachine implem
|
||||||
{
|
{
|
||||||
if (outputTile instanceof ITankContainer)
|
if (outputTile instanceof ITankContainer)
|
||||||
{
|
{
|
||||||
for (ITankContainer tank : ((FluidNetwork) ((INetworkPipe) inputTile).getTileNetwork()).fluidTanks)
|
for (ITankContainer tank : ((FluidNetwork) ((INetworkPipe) inputTile).getTileNetwork()).connectedTanks)
|
||||||
{
|
{
|
||||||
if (tank instanceof TileEntityDrain)
|
if (tank instanceof TileEntityDrain)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue