bug fixes and packet reductions
fixed another bug with the pipe, pipe would not lose pressure after being disconncted from source. Also cleaned up a bit on some of the code and added code to only send packets if the machine updated. This will reduce a lot of paceket load being sent to the client.
This commit is contained in:
parent
89e5ca315b
commit
3bd9b857d4
10 changed files with 129 additions and 104 deletions
|
@ -84,17 +84,13 @@ public class BlockPipe extends BlockContainer
|
||||||
}
|
}
|
||||||
public static void updateConductorTileEntity(World world, int x, int y, int z)
|
public static void updateConductorTileEntity(World world, int x, int y, int z)
|
||||||
{
|
{
|
||||||
|
|
||||||
for(int i = 0; i < 6; i++)
|
for(int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
//Update the tile entity on neighboring blocks
|
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
if(tileEntity instanceof TileEntityPipe)
|
if(tileEntity instanceof TileEntityPipe)
|
||||||
{
|
{
|
||||||
TileEntityPipe conductorTileEntity = (TileEntityPipe) tileEntity;
|
((TileEntityPipe) tileEntity).addConnection(getLiquidUnit(world, x, y, z,
|
||||||
Liquid type = conductorTileEntity.getType();
|
ForgeDirection.getOrientation(i), ((TileEntityPipe) tileEntity).getType()), ForgeDirection.getOrientation(i));
|
||||||
ForgeDirection side = ForgeDirection.getOrientation(i);
|
|
||||||
conductorTileEntity.addConnection(getLiquidUnit(world, x, y, z, side, type), side);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,6 +103,7 @@ public class BlockPipe extends BlockContainer
|
||||||
@Override
|
@Override
|
||||||
public void breakBlock(World world, int x, int y, int z,int par5, int par6)
|
public void breakBlock(World world, int x, int y, int z,int par5, int par6)
|
||||||
{
|
{
|
||||||
|
super.breakBlock(world, x, y, z, par5, par6);
|
||||||
TileEntity ent = world.getBlockTileEntity(x, y, z);
|
TileEntity ent = world.getBlockTileEntity(x, y, z);
|
||||||
Random furnaceRand = new Random();
|
Random furnaceRand = new Random();
|
||||||
if(ent instanceof TileEntityPipe)
|
if(ent instanceof TileEntityPipe)
|
||||||
|
|
|
@ -66,7 +66,9 @@ public class ItemGuage extends Item
|
||||||
|
|
||||||
print = typeName +" " + steam +" @ "+pressure+"PSI";
|
print = typeName +" " + steam +" @ "+pressure+"PSI";
|
||||||
|
|
||||||
player.addChatMessage(print);
|
player.sendChatToPlayer(print);
|
||||||
|
player.sendChatToPlayer("hPre: "+pipeEntity.hPressure+" hPPre:"+pipeEntity.hPProducer);
|
||||||
|
player.sendChatToPlayer("cUnits: "+pipeEntity.connectedUnits);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if(blockEntity instanceof IMechanical)
|
if(blockEntity instanceof IMechanical)
|
||||||
|
@ -78,7 +80,7 @@ public class ItemGuage extends Item
|
||||||
|
|
||||||
print = " " + steam +"N "+pressure*45+"degrees";
|
print = " " + steam +"N "+pressure*45+"degrees";
|
||||||
|
|
||||||
player.addChatMessage(print);
|
player.sendChatToPlayer(print);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,20 +16,20 @@ import basicpipes.pipes.api.Liquid;
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
public class TileEntityPipe extends TileEntity implements ILiquidConsumer,IPacketReceiver
|
public class TileEntityPipe extends TileEntity implements ILiquidConsumer,IPacketReceiver
|
||||||
{
|
{
|
||||||
//The amount stored in the conductor
|
|
||||||
protected int liquidStored = 0;
|
|
||||||
//the current set type of the pipe 0-5
|
|
||||||
protected Liquid type = Liquid.DEFUALT;
|
protected Liquid type = Liquid.DEFUALT;
|
||||||
//The maximum amount of electricity this conductor can take
|
|
||||||
public int capacity = 2;
|
public int capacity = 2;
|
||||||
public int hPressure = this.presure;
|
|
||||||
private int count = 0;
|
private int count = 0;
|
||||||
private boolean intiUpdate = true;
|
|
||||||
//Stores information on all connected blocks around this tile entity
|
|
||||||
public TileEntity[] connectedBlocks = {null, null, null, null, null, null};
|
|
||||||
//Checks if this is the first the tile entity updates
|
|
||||||
protected boolean firstUpdate = true;
|
|
||||||
public int presure = 0;
|
public int presure = 0;
|
||||||
|
public int connectedUnits = 0;
|
||||||
|
public int hPressure = 0;
|
||||||
|
public int hPProducer = 0;
|
||||||
|
protected int liquidStored = 0;
|
||||||
|
|
||||||
|
private boolean intiUpdate = true;
|
||||||
|
protected boolean firstUpdate = true;
|
||||||
|
|
||||||
|
public TileEntity[] connectedBlocks = {null, null, null, null, null, null};
|
||||||
/**
|
/**
|
||||||
* This function adds a connection between this pipe and other blocks
|
* This function adds a connection between this pipe and other blocks
|
||||||
* @param tileEntity - Must be either a producer, consumer or a conductor
|
* @param tileEntity - Must be either a producer, consumer or a conductor
|
||||||
|
@ -44,15 +44,19 @@ public class TileEntityPipe extends TileEntity implements ILiquidConsumer,IPacke
|
||||||
{
|
{
|
||||||
this.connectedBlocks[side.ordinal()] = tileEntity;
|
this.connectedBlocks[side.ordinal()] = tileEntity;
|
||||||
}
|
}
|
||||||
}else
|
}
|
||||||
if(tileEntity instanceof ILiquidProducer)
|
if(tileEntity instanceof ILiquidProducer)
|
||||||
{
|
{
|
||||||
if(((ILiquidProducer)tileEntity).canProduceLiquid(this.type, side))
|
if(((ILiquidProducer)tileEntity).canProduceLiquid(this.type, side))
|
||||||
{
|
{
|
||||||
this.connectedBlocks[side.ordinal()] = tileEntity;
|
this.connectedBlocks[side.ordinal()] = tileEntity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public int getPressure()
|
||||||
|
{
|
||||||
|
return this.presure;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* onRecieveLiquid is called whenever a something sends a volume to the pipe (which is this block).
|
* onRecieveLiquid is called whenever a something sends a volume to the pipe (which is this block).
|
||||||
* @param vols - The amount of vol source is trying to give to this pipe
|
* @param vols - The amount of vol source is trying to give to this pipe
|
||||||
|
@ -73,72 +77,64 @@ public class TileEntityPipe extends TileEntity implements ILiquidConsumer,IPacke
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity()
|
public void updateEntity()
|
||||||
{
|
{
|
||||||
if(++count >= 10 || firstUpdate)
|
if(++count >= 5)
|
||||||
{count = 0;firstUpdate = false;
|
{
|
||||||
|
this.connectedUnits = 0;
|
||||||
|
this.hPressure = 0;
|
||||||
|
this.hPProducer = 0;
|
||||||
|
|
||||||
|
count = 0;
|
||||||
BlockPipe.updateConductorTileEntity(this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
BlockPipe.updateConductorTileEntity(this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
||||||
if(!this.worldObj.isRemote){
|
if(!this.worldObj.isRemote)
|
||||||
//update connections
|
{
|
||||||
|
if(firstUpdate)
|
||||||
//send packet with liquid type data
|
{ firstUpdate = false;
|
||||||
Packet packet = PacketManager.getPacket("Pipes",this, new Object[]{this.type.ordinal()});
|
Packet packet = PacketManager.getPacket("Pipes",this, new Object[]{this.type.ordinal()});
|
||||||
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 60);
|
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int connectedUnits = 0;
|
|
||||||
int pipes = 1;
|
|
||||||
int producers = 0;
|
|
||||||
int averageVolume = this.liquidStored;
|
|
||||||
int aProducerPressure = 0;
|
|
||||||
|
|
||||||
for(int i = 0; i < 6; i++)
|
for(int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
if(connectedBlocks[i] instanceof ILiquidConsumer || connectedBlocks[i] instanceof ILiquidProducer)
|
if(connectedBlocks[i] instanceof ILiquidProducer)
|
||||||
{
|
{
|
||||||
connectedUnits ++;
|
|
||||||
if(connectedBlocks[i] instanceof ILiquidProducer)
|
if(((ILiquidProducer)connectedBlocks[i]).canProducePresure(this.type, ForgeDirection.getOrientation(i)))
|
||||||
{
|
{++this.connectedUnits;
|
||||||
if(((ILiquidProducer)connectedBlocks[i]).canProducePresure(this.type, ForgeDirection.getOrientation(i)))
|
if(((ILiquidProducer)connectedBlocks[i]).presureOutput(this.type,ForgeDirection.getOrientation(i)) > hPProducer)
|
||||||
{
|
{
|
||||||
aProducerPressure += ((ILiquidProducer)connectedBlocks[i]).presureOutput(this.type,ForgeDirection.getOrientation(i));
|
hPProducer = ((ILiquidProducer)connectedBlocks[i]).presureOutput(this.type,ForgeDirection.getOrientation(i));
|
||||||
producers++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(connectedBlocks[i] instanceof TileEntityPipe)
|
|
||||||
{
|
|
||||||
pipes ++;
|
|
||||||
//add pipes volume to average collection value
|
|
||||||
averageVolume += ((TileEntityPipe)connectedBlocks[i]).liquidStored;
|
|
||||||
//get the current pipes pressure
|
|
||||||
int pPressure = ((TileEntityPipe)connectedBlocks[i]).presure ;
|
|
||||||
if(pPressure > hPressure)
|
|
||||||
{
|
|
||||||
this.hPressure = pPressure;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if(connectedBlocks[i] instanceof TileEntityPipe)
|
||||||
|
{
|
||||||
|
++this.connectedUnits;
|
||||||
|
if(((TileEntityPipe)connectedBlocks[i]).presure > hPressure)
|
||||||
|
{
|
||||||
|
hPressure = ((TileEntityPipe)connectedBlocks[i]).getPressure();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//turn average collection into actual average pipe volume
|
}//end of pressure update
|
||||||
averageVolume = Math.max(averageVolume/pipes,0);
|
|
||||||
//sets the pressure of the pipe to the producer pressure or to the highest pipe pressure -1
|
this.presure = 0;
|
||||||
if(producers > 0)
|
|
||||||
{
|
|
||||||
aProducerPressure = Math.max(aProducerPressure/producers,0);
|
|
||||||
this.presure = aProducerPressure;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if(connectedUnits > 0)
|
if(connectedUnits > 0)
|
||||||
{
|
{
|
||||||
this.presure = hPressure - 1;
|
if(hPProducer > 0)
|
||||||
|
{
|
||||||
|
this.presure = hPProducer;
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
this.presure = Math.max(hPressure - 1,0);
|
||||||
|
}
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
this.presure = 1;
|
this.presure = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//only trade liquid if there is more than one thing connect and its pressure is higher than 1
|
//only trade liquid if there is more than one thing connect and its pressure is higher than 1
|
||||||
if(connectedUnits > 0 && this.presure > 0)
|
if(this.connectedUnits > 0 && this.presure > 0 && this.liquidStored > 0)
|
||||||
{
|
{
|
||||||
for(byte i = 0; i < 6; i++)
|
for(int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
if(connectedBlocks[i] != null)
|
if(connectedBlocks[i] != null)
|
||||||
{
|
{
|
||||||
|
@ -175,9 +171,9 @@ public class TileEntityPipe extends TileEntity implements ILiquidConsumer,IPacke
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}//end of liquid trader
|
||||||
|
|
||||||
}
|
}//end of !worldObj.isRemote
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ public class TileEntityRod extends TileEntity implements IPacketReceiver,IMechan
|
||||||
|
|
||||||
public int pos = 0;
|
public int pos = 0;
|
||||||
private int force = 0;
|
private int force = 0;
|
||||||
|
private int pForce = 0;
|
||||||
public int aForce = 0;
|
public int aForce = 0;
|
||||||
public int forceMax = 1000;
|
public int forceMax = 1000;
|
||||||
private int tickCount = 0;
|
private int tickCount = 0;
|
||||||
|
@ -72,8 +73,12 @@ public class TileEntityRod extends TileEntity implements IPacketReceiver,IMechan
|
||||||
this.force -=Math.max(force/10, 0);
|
this.force -=Math.max(force/10, 0);
|
||||||
}
|
}
|
||||||
aForce = Math.max(force - 10,0);
|
aForce = Math.max(force - 10,0);
|
||||||
Packet packet = PacketManager.getPacket(SteamPowerMain.channel,this, new Object[]{force,aForce});
|
if(this.force != this.pForce)
|
||||||
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 40);
|
{
|
||||||
|
Packet packet = PacketManager.getPacket(SteamPowerMain.channel,this, new Object[]{force});
|
||||||
|
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 40);
|
||||||
|
}
|
||||||
|
this.pForce = this.force;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,7 +118,6 @@ public class TileEntityRod extends TileEntity implements IPacketReceiver,IMechan
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
this.force = dataStream.readInt();
|
this.force = dataStream.readInt();
|
||||||
this.aForce = dataStream.readInt();
|
|
||||||
}catch(Exception e)
|
}catch(Exception e)
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
|
@ -82,11 +82,15 @@ public class TileEntityMachine extends TileEntity implements IInventory, ISided
|
||||||
{
|
{
|
||||||
return new Object[]{};
|
return new Object[]{};
|
||||||
}
|
}
|
||||||
|
public boolean needUpdate()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
public void updateEntity()
|
public void updateEntity()
|
||||||
{
|
{
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
|
|
||||||
if(count ++ >= 20 && !worldObj.isRemote)
|
if(count ++ >= 10 && !worldObj.isRemote && needUpdate())
|
||||||
{count = 0;
|
{count = 0;
|
||||||
Packet packet = PacketManager.getPacket(SteamPowerMain.channel,this, getSendData());
|
Packet packet = PacketManager.getPacket(SteamPowerMain.channel,this, getSendData());
|
||||||
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 40);
|
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 40);
|
||||||
|
|
|
@ -32,8 +32,6 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
|
|
||||||
/** The number of ticks that the boiler will keep burning */
|
/** The number of ticks that the boiler will keep burning */
|
||||||
public int RunTime = 0;
|
public int RunTime = 0;
|
||||||
/** The ammount of energy stored before being add to run Timer */
|
|
||||||
public int energyStore = 0;
|
|
||||||
/** The ammount of water stored */
|
/** The ammount of water stored */
|
||||||
public int waterStored = 0;
|
public int waterStored = 0;
|
||||||
/** The ammount of steam stored */
|
/** The ammount of steam stored */
|
||||||
|
@ -53,13 +51,16 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
int steamMax = 140;
|
int steamMax = 140;
|
||||||
public boolean isBeingHeated = false;
|
public boolean isBeingHeated = false;
|
||||||
private Random random = new Random();
|
private Random random = new Random();
|
||||||
|
private int pWater = 0;
|
||||||
|
private int pSteam = 0;
|
||||||
|
private int pHullH = 0;
|
||||||
public String getInvName()
|
public String getInvName()
|
||||||
{
|
{
|
||||||
return "container.boiler";
|
return "container.boiler";
|
||||||
}
|
}
|
||||||
public Object[] getSendData()
|
public Object[] getSendData()
|
||||||
{
|
{
|
||||||
return new Object[]{(int)RunTime,(int)energyStore,(int)waterStored,
|
return new Object[]{(int)RunTime,(int)waterStored,
|
||||||
(int)steamStored,(int)heatStored,(int)hullHeat,(int)heatTick};
|
(int)steamStored,(int)heatStored,(int)hullHeat,(int)heatTick};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +72,6 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
{
|
{
|
||||||
|
|
||||||
RunTime = dataStream.readInt();
|
RunTime = dataStream.readInt();
|
||||||
energyStore = dataStream.readInt();
|
|
||||||
waterStored = dataStream.readInt();
|
waterStored = dataStream.readInt();
|
||||||
steamStored = dataStream.readInt();
|
steamStored = dataStream.readInt();
|
||||||
heatStored = dataStream.readInt();
|
heatStored = dataStream.readInt();
|
||||||
|
@ -91,7 +91,6 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
{
|
{
|
||||||
super.readFromNBT(par1NBTTagCompound);
|
super.readFromNBT(par1NBTTagCompound);
|
||||||
this.RunTime = par1NBTTagCompound.getShort("BurnTime");
|
this.RunTime = par1NBTTagCompound.getShort("BurnTime");
|
||||||
this.energyStore = par1NBTTagCompound.getInteger("energyStore");
|
|
||||||
this.steamStored = par1NBTTagCompound.getInteger("steamStore");
|
this.steamStored = par1NBTTagCompound.getInteger("steamStore");
|
||||||
this.heatStored = par1NBTTagCompound.getInteger("heatStore");
|
this.heatStored = par1NBTTagCompound.getInteger("heatStore");
|
||||||
this.waterStored = par1NBTTagCompound.getInteger("waterStore");
|
this.waterStored = par1NBTTagCompound.getInteger("waterStore");
|
||||||
|
@ -105,7 +104,6 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
{
|
{
|
||||||
super.writeToNBT(par1NBTTagCompound);
|
super.writeToNBT(par1NBTTagCompound);
|
||||||
par1NBTTagCompound.setShort("BurnTime", (short)this.RunTime);
|
par1NBTTagCompound.setShort("BurnTime", (short)this.RunTime);
|
||||||
par1NBTTagCompound.setInteger("energyStore", (int)this.energyStore);
|
|
||||||
par1NBTTagCompound.setInteger("steamStore", (int)this.steamStored);
|
par1NBTTagCompound.setInteger("steamStore", (int)this.steamStored);
|
||||||
par1NBTTagCompound.setInteger("heatStore", (int)this.heatStored);
|
par1NBTTagCompound.setInteger("heatStore", (int)this.heatStored);
|
||||||
par1NBTTagCompound.setInteger("waterStore", (int)this.waterStored);
|
par1NBTTagCompound.setInteger("waterStore", (int)this.waterStored);
|
||||||
|
@ -115,10 +113,19 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
/**
|
/**
|
||||||
* Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count
|
* Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count
|
||||||
* ticks and creates a new spawn inside its implementation.
|
* ticks and creates a new spawn inside its implementation.
|
||||||
*/
|
*/
|
||||||
|
public boolean needUpdate()
|
||||||
|
{
|
||||||
|
if(this.pWater != this.waterStored || this.pSteam != this.steamStored || this.pHullH != this.hullHeat)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity()
|
public void updateEntity()
|
||||||
{
|
{
|
||||||
|
super.updateEntity();
|
||||||
if(count++ >=20)
|
if(count++ >=20)
|
||||||
{
|
{
|
||||||
count = 0;
|
count = 0;
|
||||||
|
@ -183,8 +190,12 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
{
|
{
|
||||||
heatStored += (int) Math.min((int)(random.nextDouble()*100), heatMax);
|
heatStored += (int) Math.min((int)(random.nextDouble()*100), heatMax);
|
||||||
}
|
}
|
||||||
|
//keeps track of what the previous measure were so packets stop sending after the machine doesn't change any
|
||||||
|
this.pWater = this.waterStored;
|
||||||
|
this.pSteam = this.steamStored;
|
||||||
|
this.pHullH = this.hullHeat;
|
||||||
}
|
}
|
||||||
super.updateEntity();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void emptyBuckets()
|
private void emptyBuckets()
|
||||||
|
@ -309,15 +320,7 @@ public class TileEntityBoiler extends TileEntityMachine implements IPacketReceiv
|
||||||
public int presureOutput(Liquid type, ForgeDirection side) {
|
public int presureOutput(Liquid type, ForgeDirection side) {
|
||||||
if(type == Liquid.STEAM)
|
if(type == Liquid.STEAM)
|
||||||
{
|
{
|
||||||
if(side == ForgeDirection.UP)
|
return (this.steamStored/this.steamMax)*40 +60;
|
||||||
{
|
|
||||||
return 100;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return 80;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,10 @@ public class TileEntityFireBox extends TileEntityMachine implements IPacketRecei
|
||||||
return 5;
|
return 5;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public boolean needUpdate()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
public void updateEntity()
|
public void updateEntity()
|
||||||
{
|
{
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
|
|
|
@ -28,7 +28,10 @@ public class TileEntityGen extends TileEntityMachine implements IPacketReceiver,
|
||||||
public boolean empProf = false;
|
public boolean empProf = false;
|
||||||
|
|
||||||
IConductor[] wires = {null,null,null,null,null,null};
|
IConductor[] wires = {null,null,null,null,null,null};
|
||||||
|
public boolean needUpdate()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity()
|
public void updateEntity()
|
||||||
{
|
{
|
||||||
|
|
|
@ -41,7 +41,10 @@ public class TileEntitySteamPiston extends TileEntityMachine implements IPacketR
|
||||||
private ForgeDirection frontDir;
|
private ForgeDirection frontDir;
|
||||||
public TileEntity ff;
|
public TileEntity ff;
|
||||||
public TileEntity bb;
|
public TileEntity bb;
|
||||||
|
private int pWater = 0;
|
||||||
|
private int pSteam = 0;
|
||||||
|
private int pForce = 0;
|
||||||
|
public int pCount = 0;
|
||||||
public boolean running= false;
|
public boolean running= false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -51,7 +54,7 @@ public class TileEntitySteamPiston extends TileEntityMachine implements IPacketR
|
||||||
if(tickCount++ >=10)
|
if(tickCount++ >=10)
|
||||||
{tickCount = 0;
|
{tickCount = 0;
|
||||||
|
|
||||||
++tCount;if(tCount > 120){tCount = 0;}
|
//++tCount;if(tCount > 120){tCount = 0;}
|
||||||
|
|
||||||
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
|
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
|
||||||
int nMeta = 0;
|
int nMeta = 0;
|
||||||
|
@ -130,7 +133,9 @@ public class TileEntitySteamPiston extends TileEntityMachine implements IPacketR
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pWater = this.water;
|
||||||
|
pSteam = this.steam;
|
||||||
|
pForce = this.force;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -260,7 +265,15 @@ public class TileEntitySteamPiston extends TileEntityMachine implements IPacketR
|
||||||
//----------------
|
//----------------
|
||||||
public Object[] getSendData()
|
public Object[] getSendData()
|
||||||
{
|
{
|
||||||
return new Object[]{steam,water,force,aForce,bForce,genRate,runTime};
|
return new Object[]{steam,water,force,aForce,genRate,runTime};
|
||||||
|
}
|
||||||
|
public boolean needUpdate()
|
||||||
|
{
|
||||||
|
if(this.pForce != this.force || this.pWater != this.water || this.pSteam != this.steam)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void handlePacketData(NetworkManager network,Packet250CustomPayload packet, EntityPlayer player,ByteArrayDataInput dataStream) {
|
public void handlePacketData(NetworkManager network,Packet250CustomPayload packet, EntityPlayer player,ByteArrayDataInput dataStream) {
|
||||||
|
@ -270,10 +283,9 @@ public class TileEntitySteamPiston extends TileEntityMachine implements IPacketR
|
||||||
this.water = dataStream.readInt();
|
this.water = dataStream.readInt();
|
||||||
this.force = dataStream.readInt();
|
this.force = dataStream.readInt();
|
||||||
this.aForce = dataStream.readInt();
|
this.aForce = dataStream.readInt();
|
||||||
this.bForce = dataStream.readInt();
|
|
||||||
this.genRate= dataStream.readInt();
|
this.genRate= dataStream.readInt();
|
||||||
this.runTime = dataStream.readInt();
|
this.runTime = dataStream.readInt();
|
||||||
//System.out.print("Packet \n");
|
++pCount;
|
||||||
}
|
}
|
||||||
catch(Exception e)
|
catch(Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,14 +61,14 @@ import universalelectricity.electricity.ElectricInfo.ElectricUnit;
|
||||||
displayText2 = "water" + "-" + tileEntity.water;
|
displayText2 = "water" + "-" + tileEntity.water;
|
||||||
displayText3 = "steam" + "-" + tileEntity.steam;
|
displayText3 = "steam" + "-" + tileEntity.steam;
|
||||||
|
|
||||||
displayText4 = "Debug:Time" + "=" + tileEntity.tCount;
|
displayText4 = "Db:PacketsReceived " + "=" + tileEntity.pCount;
|
||||||
displayText5 = "Debug:bforce" + "=" + tileEntity.bForce;
|
//displayText5 = "Debug:bforce" + "=" + tileEntity.bForce;
|
||||||
|
|
||||||
this.fontRenderer.drawString(displayText, (int)(105-displayText.length()*1), 45, 4210752);
|
this.fontRenderer.drawString(displayText, (int)(105-displayText.length()*1), 45, 4210752);
|
||||||
this.fontRenderer.drawString(displayText2, (int)(105-displayText.length()*1), 55, 4210752);
|
this.fontRenderer.drawString(displayText2, (int)(105-displayText.length()*1), 55, 4210752);
|
||||||
this.fontRenderer.drawString(displayText3, (int)(105-displayText.length()*1), 65, 4210752);
|
this.fontRenderer.drawString(displayText3, (int)(105-displayText.length()*1), 65, 4210752);
|
||||||
this.fontRenderer.drawString(displayText4, (int)(105-displayText.length()*1), 75, 4210752);
|
this.fontRenderer.drawString(displayText4, (int)(105-displayText.length()*1), 75, 4210752);
|
||||||
this.fontRenderer.drawString(displayText5, (int)(105-displayText.length()*1), 85, 4210752);
|
// this.fontRenderer.drawString(displayText5, (int)(105-displayText.length()*1), 85, 4210752);
|
||||||
this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue