Changed TileMechanical to use ID based packet interface

This commit is contained in:
Robert S 2014-06-10 09:47:25 -04:00
parent 64e3736806
commit 6f4ac81fdf

View file

@ -8,6 +8,7 @@ import resonant.api.grid.INode;
import resonant.api.grid.INodeProvider; import resonant.api.grid.INodeProvider;
import resonant.lib.content.module.TileBase; import resonant.lib.content.module.TileBase;
import resonant.lib.network.IPacketReceiver; import resonant.lib.network.IPacketReceiver;
import resonant.lib.network.IPacketReceiverWithID;
import resonant.lib.network.PacketHandler; import resonant.lib.network.PacketHandler;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.mechanical.Mechanical; import resonantinduction.mechanical.Mechanical;
@ -18,7 +19,7 @@ import com.google.common.io.ByteArrayDataInput;
/** Prefab for mechanical tiles /** Prefab for mechanical tiles
* *
* @author Calclavia */ * @author Calclavia */
public abstract class TileMechanical extends TileBase implements INodeProvider, IPacketReceiver public abstract class TileMechanical extends TileBase implements INodeProvider, IPacketReceiverWithID
{ {
protected static final int PACKET_VELOCITY = 1; protected static final int PACKET_VELOCITY = 1;
@ -76,19 +77,21 @@ public abstract class TileMechanical extends TileBase implements INodeProvider,
private void sendRotationPacket() private void sendRotationPacket()
{ {
PacketHandler.sendPacketToClients(ResonantInduction.PACKET_TILE.getPacket(this, PACKET_VELOCITY, mechanicalNode.angularVelocity), worldObj, new Vector3(this), 20); PacketHandler.sendPacketToClients(ResonantInduction.PACKET_TILE.getPacketWithID(PACKET_VELOCITY, this, mechanicalNode.angularVelocity), worldObj, new Vector3(this), 20);
} }
@Override @Override
public void onReceivePacket(ByteArrayDataInput data, EntityPlayer player, Object... extra) public boolean onReceivePacket(int id, ByteArrayDataInput data, EntityPlayer player, Object... extra)
{ {
onReceivePacket(data.readInt(), data, player, extra); if (!world().isRemote)
} {
if (id == PACKET_VELOCITY)
public void onReceivePacket(int id, ByteArrayDataInput data, EntityPlayer player, Object... extra) {
{ mechanicalNode.angularVelocity = data.readDouble();
if (id == PACKET_VELOCITY) return true;
mechanicalNode.angularVelocity = data.readDouble(); }
}
return false;
} }
@Override @Override