Rewrote the Pipe Contents packet
Probably cut the packet length in half, there was a lot of unneeded bytes. Also removed the chunkPacket marker. This is not a high priority packet.
This commit is contained in:
parent
cd49e61f57
commit
1817ae6936
2 changed files with 87 additions and 40 deletions
common/buildcraft/transport/network
|
@ -1,13 +1,14 @@
|
|||
package buildcraft.transport.network;
|
||||
|
||||
import buildcraft.core.network.PacketCoordinates;
|
||||
import buildcraft.core.network.PacketIds;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
import net.minecraftforge.liquids.LiquidStack;
|
||||
import buildcraft.core.network.PacketCoordinates;
|
||||
import buildcraft.core.network.PacketIds;
|
||||
|
||||
|
||||
public class PacketLiquidUpdate extends PacketCoordinates{
|
||||
|
@ -17,10 +18,8 @@ public class PacketLiquidUpdate extends PacketCoordinates{
|
|||
public PacketLiquidUpdate(int xCoord, int yCoord, int zCoord) {
|
||||
super(PacketIds.PIPE_LIQUID, xCoord, yCoord, zCoord);
|
||||
}
|
||||
|
||||
public PacketLiquidUpdate() {
|
||||
|
||||
}
|
||||
public PacketLiquidUpdate() {}
|
||||
|
||||
@Override
|
||||
public void readData(DataInputStream data) throws IOException {
|
||||
|
@ -31,7 +30,6 @@ public class PacketLiquidUpdate extends PacketCoordinates{
|
|||
int liquidMeta = data.readInt();
|
||||
displayLiquid[direction.ordinal()] = new LiquidStack(liquidId, liquidQuantity, liquidMeta);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -47,8 +45,11 @@ public class PacketLiquidUpdate extends PacketCoordinates{
|
|||
data.writeInt(0);
|
||||
data.writeInt(0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getID() {
|
||||
return PacketIds.PIPE_LIQUID;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,78 +1,124 @@
|
|||
package buildcraft.transport.network;
|
||||
|
||||
import buildcraft.core.network.PacketCoordinates;
|
||||
import buildcraft.core.network.PacketIds;
|
||||
import buildcraft.transport.EntityData;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
|
||||
import buildcraft.core.network.PacketIds;
|
||||
import buildcraft.core.network.PacketPayload;
|
||||
import buildcraft.core.network.PacketUpdate;
|
||||
public class PacketPipeTransportContent extends PacketCoordinates {
|
||||
|
||||
import buildcraft.transport.EntityData;
|
||||
private EntityData entityData;
|
||||
|
||||
public class PacketPipeTransportContent extends PacketUpdate {
|
||||
private int entityId;
|
||||
|
||||
public PacketPipeTransportContent() {
|
||||
super(PacketIds.PIPE_CONTENTS);
|
||||
}
|
||||
private ForgeDirection input;
|
||||
private ForgeDirection output;
|
||||
|
||||
private int itemId;
|
||||
private byte stackSize;
|
||||
private int itemDamage;
|
||||
|
||||
private float itemX;
|
||||
private float itemY;
|
||||
private float itemZ;
|
||||
|
||||
private float speed;
|
||||
|
||||
public PacketPipeTransportContent() {}
|
||||
|
||||
public PacketPipeTransportContent(int x, int y, int z, EntityData data) {
|
||||
this();
|
||||
super(PacketIds.PIPE_CONTENTS, x, y, z);
|
||||
|
||||
this.entityData = data;
|
||||
}
|
||||
|
||||
this.posX = x;
|
||||
this.posY = y;
|
||||
this.posZ = z;
|
||||
@Override
|
||||
public void writeData(DataOutputStream data) throws IOException {
|
||||
super.writeData(data);
|
||||
|
||||
this.payload = new PacketPayload(6, 4, 0);
|
||||
data.writeInt(entityData.item.getEntityId());
|
||||
|
||||
payload.intPayload[0] = data.item.getEntityId();
|
||||
payload.intPayload[1] = data.input.ordinal();
|
||||
payload.intPayload[2] = data.output.ordinal();
|
||||
payload.intPayload[3] = data.item.getItemStack().itemID;
|
||||
payload.intPayload[4] = data.item.getItemStack().stackSize;
|
||||
payload.intPayload[5] = data.item.getItemStack().getItemDamage();
|
||||
data.writeByte((byte)entityData.input.ordinal());
|
||||
data.writeByte((byte)entityData.output.ordinal());
|
||||
|
||||
payload.floatPayload[0] = (float) data.item.getPosition().x;
|
||||
payload.floatPayload[1] = (float) data.item.getPosition().y;
|
||||
payload.floatPayload[2] = (float) data.item.getPosition().z;
|
||||
payload.floatPayload[3] = data.item.getSpeed();
|
||||
data.writeInt(entityData.item.getItemStack().itemID);
|
||||
data.writeByte((byte)entityData.item.getItemStack().stackSize);
|
||||
data.writeInt(entityData.item.getItemStack().getItemDamage());
|
||||
|
||||
data.writeFloat((float) entityData.item.getPosition().x);
|
||||
data.writeFloat((float) entityData.item.getPosition().y);
|
||||
data.writeFloat((float) entityData.item.getPosition().z);
|
||||
|
||||
data.writeFloat(entityData.item.getSpeed());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readData(DataInputStream data) throws IOException {
|
||||
super.readData(data);
|
||||
|
||||
this.entityId = data.readInt();
|
||||
|
||||
this.input = ForgeDirection.getOrientation(data.readByte());
|
||||
this.output = ForgeDirection.getOrientation(data.readByte());
|
||||
|
||||
this.itemId = data.readInt();
|
||||
this.stackSize = data.readByte();
|
||||
this.itemDamage = data.readInt();
|
||||
|
||||
this.itemX = data.readFloat();
|
||||
this.itemY = data.readFloat();
|
||||
this.itemZ = data.readFloat();
|
||||
|
||||
this.speed = data.readFloat();
|
||||
}
|
||||
|
||||
public int getEntityId() {
|
||||
return payload.intPayload[0];
|
||||
return entityId;
|
||||
}
|
||||
|
||||
public ForgeDirection getInputOrientation() {
|
||||
return ForgeDirection.values()[payload.intPayload[1]];
|
||||
return input;
|
||||
}
|
||||
|
||||
public ForgeDirection getOutputOrientation() {
|
||||
return ForgeDirection.values()[payload.intPayload[2]];
|
||||
return output;
|
||||
}
|
||||
|
||||
public int getItemId() {
|
||||
return payload.intPayload[3];
|
||||
return itemId;
|
||||
}
|
||||
|
||||
public int getStackSize() {
|
||||
return payload.intPayload[4];
|
||||
return stackSize;
|
||||
}
|
||||
|
||||
public int getItemDamage() {
|
||||
return payload.intPayload[5];
|
||||
return itemDamage;
|
||||
}
|
||||
|
||||
public double getPosX() {
|
||||
return payload.floatPayload[0];
|
||||
return itemX;
|
||||
}
|
||||
|
||||
public double getPosY() {
|
||||
return payload.floatPayload[1];
|
||||
return itemY;
|
||||
}
|
||||
|
||||
public double getPosZ() {
|
||||
return payload.floatPayload[2];
|
||||
return itemZ;
|
||||
}
|
||||
|
||||
public float getSpeed() {
|
||||
return payload.floatPayload[3];
|
||||
return speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getID() {
|
||||
return PacketIds.PIPE_CONTENTS;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue