diff options
Diffstat (limited to 'src/main/java/gregtech/api/net')
5 files changed, 166 insertions, 164 deletions
diff --git a/src/main/java/gregtech/api/net/GT_Packet.java b/src/main/java/gregtech/api/net/GT_Packet.java index 79e2e98695..6fdd013d8f 100644 --- a/src/main/java/gregtech/api/net/GT_Packet.java +++ b/src/main/java/gregtech/api/net/GT_Packet.java @@ -1,29 +1,29 @@ package gregtech.api.net; -import net.minecraft.world.IBlockAccess; - import com.google.common.io.ByteArrayDataInput; +import net.minecraft.world.IBlockAccess; public abstract class GT_Packet { - public GT_Packet(boolean aIsReference) { - // - } - - /** - * I use constant IDs instead of Dynamic ones, since that is much more fail safe - * @return a Packet ID for this Class - */ - public abstract byte getPacketID(); - - /** - * @return encoded byte Stream - */ - public abstract byte[] encode(); - - /** - * @return encoded byte Stream - */ - public abstract GT_Packet decode(ByteArrayDataInput aData); - - public abstract void process(IBlockAccess aWorld); + public GT_Packet(boolean aIsReference) { + // + } + + /** + * I use constant IDs instead of Dynamic ones, since that is much more fail safe + * + * @return a Packet ID for this Class + */ + public abstract byte getPacketID(); + + /** + * @return encoded byte Stream + */ + public abstract byte[] encode(); + + /** + * @return encoded byte Stream + */ + public abstract GT_Packet decode(ByteArrayDataInput aData); + + public abstract void process(IBlockAccess aWorld); }
\ No newline at end of file diff --git a/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java b/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java index 95932d581c..d8cab48bd0 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java +++ b/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java @@ -1,59 +1,58 @@ package gregtech.api.net; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; - import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; /** * Used to transfer Block Events in a much better fashion */ public class GT_Packet_Block_Event extends GT_Packet { - private int mX, mZ; - private short mY; - private byte mID, mValue; - - public GT_Packet_Block_Event() { - super(true); - } - - public GT_Packet_Block_Event(int aX, short aY, int aZ, byte aID, byte aValue) { - super(false); - mX = aX; - mY = aY; - mZ = aZ; - mID = aID; - mValue = aValue; - } - - @Override - public byte[] encode() { + private int mX, mZ; + private short mY; + private byte mID, mValue; + + public GT_Packet_Block_Event() { + super(true); + } + + public GT_Packet_Block_Event(int aX, short aY, int aZ, byte aID, byte aValue) { + super(false); + mX = aX; + mY = aY; + mZ = aZ; + mID = aID; + mValue = aValue; + } + + @Override + public byte[] encode() { ByteArrayDataOutput tOut = ByteStreams.newDataOutput(10); tOut.writeInt(mX); tOut.writeShort(mY); tOut.writeInt(mZ); tOut.writeByte(mID); tOut.writeByte(mValue); - return tOut.toByteArray(); - } - - @Override - public GT_Packet decode(ByteArrayDataInput aData) { + return tOut.toByteArray(); + } + + @Override + public GT_Packet decode(ByteArrayDataInput aData) { return new GT_Packet_Block_Event(aData.readInt(), aData.readShort(), aData.readInt(), aData.readByte(), aData.readByte()); - } - - @Override - public void process(IBlockAccess aWorld) { - if (aWorld != null) { - TileEntity tTileEntity = aWorld.getTileEntity(mX, mY, mZ); - if (tTileEntity != null) tTileEntity.receiveClientEvent(mID, mValue); - } - } - - @Override - public byte getPacketID() { - return 2; - } + } + + @Override + public void process(IBlockAccess aWorld) { + if (aWorld != null) { + TileEntity tTileEntity = aWorld.getTileEntity(mX, mY, mZ); + if (tTileEntity != null) tTileEntity.receiveClientEvent(mID, mValue); + } + } + + @Override + public byte getPacketID() { + return 2; + } }
\ No newline at end of file diff --git a/src/main/java/gregtech/api/net/GT_Packet_Sound.java b/src/main/java/gregtech/api/net/GT_Packet_Sound.java index 74e48bb38e..5490d0d390 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_Sound.java +++ b/src/main/java/gregtech/api/net/GT_Packet_Sound.java @@ -1,34 +1,33 @@ package gregtech.api.net; -import gregtech.api.util.GT_Utility; -import net.minecraft.world.IBlockAccess; - import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; +import gregtech.api.util.GT_Utility; +import net.minecraft.world.IBlockAccess; public class GT_Packet_Sound extends GT_Packet { - private int mX, mZ; - private short mY; - private String mSoundName; - private float mSoundStrength, mSoundPitch; - - public GT_Packet_Sound() { - super(true); - } - - public GT_Packet_Sound(String aSoundName, float aSoundStrength, float aSoundPitch, int aX, short aY, int aZ) { - super(false); - mX = aX; - mY = aY; - mZ = aZ; - mSoundName = aSoundName; - mSoundStrength = aSoundStrength; - mSoundPitch = aSoundPitch; - } - - @Override - public byte[] encode() { + private int mX, mZ; + private short mY; + private String mSoundName; + private float mSoundStrength, mSoundPitch; + + public GT_Packet_Sound() { + super(true); + } + + public GT_Packet_Sound(String aSoundName, float aSoundStrength, float aSoundPitch, int aX, short aY, int aZ) { + super(false); + mX = aX; + mY = aY; + mZ = aZ; + mSoundName = aSoundName; + mSoundStrength = aSoundStrength; + mSoundPitch = aSoundPitch; + } + + @Override + public byte[] encode() { ByteArrayDataOutput tOut = ByteStreams.newDataOutput(10); tOut.writeUTF(mSoundName); tOut.writeFloat(mSoundStrength); @@ -36,21 +35,21 @@ public class GT_Packet_Sound extends GT_Packet { tOut.writeInt(mX); tOut.writeShort(mY); tOut.writeInt(mZ); - return tOut.toByteArray(); - } - - @Override - public GT_Packet decode(ByteArrayDataInput aData) { + return tOut.toByteArray(); + } + + @Override + public GT_Packet decode(ByteArrayDataInput aData) { return new GT_Packet_Sound(aData.readUTF(), aData.readFloat(), aData.readFloat(), aData.readInt(), aData.readShort(), aData.readInt()); - } - - @Override - public void process(IBlockAccess aWorld) { - GT_Utility.doSoundAtClient(mSoundName, 1, mSoundStrength, mSoundPitch, mX, mY, mZ); - } - - @Override - public byte getPacketID() { - return 1; - } + } + + @Override + public void process(IBlockAccess aWorld) { + GT_Utility.doSoundAtClient(mSoundName, 1, mSoundStrength, mSoundPitch, mX, mY, mZ); + } + + @Override + public byte getPacketID() { + return 1; + } }
\ No newline at end of file diff --git a/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java b/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java index a5d8424414..b916da27b9 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java +++ b/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java @@ -1,83 +1,84 @@ package gregtech.api.net; +import com.google.common.io.ByteArrayDataInput; +import com.google.common.io.ByteArrayDataOutput; +import com.google.common.io.ByteStreams; import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.BaseMetaTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; -import com.google.common.io.ByteArrayDataInput; -import com.google.common.io.ByteArrayDataOutput; -import com.google.common.io.ByteStreams; - public class GT_Packet_TileEntity extends GT_Packet { - private int mX, mZ, mC0, mC1, mC2, mC3, mC4, mC5; - private short mY, mID; - private byte mTexture, mUpdate, mRedstone, mColor; - - public GT_Packet_TileEntity() { - super(true); - } - - public GT_Packet_TileEntity(int aX, short aY, int aZ, short aID, int aC0, int aC1, int aC2, int aC3, int aC4, int aC5, byte aTexture, byte aUpdate, byte aRedstone, byte aColor) { - super(false); - mX = aX; - mY = aY; - mZ = aZ; - mC0 = aC0; - mC1 = aC1; - mC2 = aC2; - mC3 = aC3; - mC4 = aC4; - mC5 = aC5; - mID = aID; - mTexture = aTexture; - mUpdate = aUpdate; - mRedstone = aRedstone; - mColor = aColor; - } - - @Override - public byte[] encode() { + private int mX, mZ, mC0, mC1, mC2, mC3, mC4, mC5; + private short mY, mID; + private byte mTexture, mUpdate, mRedstone, mColor; + + public GT_Packet_TileEntity() { + super(true); + } + + public GT_Packet_TileEntity(int aX, short aY, int aZ, short aID, int aC0, int aC1, int aC2, int aC3, int aC4, int aC5, byte aTexture, byte aUpdate, byte aRedstone, byte aColor) { + super(false); + mX = aX; + mY = aY; + mZ = aZ; + mC0 = aC0; + mC1 = aC1; + mC2 = aC2; + mC3 = aC3; + mC4 = aC4; + mC5 = aC5; + mID = aID; + mTexture = aTexture; + mUpdate = aUpdate; + mRedstone = aRedstone; + mColor = aColor; + } + + @Override + public byte[] encode() { ByteArrayDataOutput tOut = ByteStreams.newDataOutput(40); - + tOut.writeInt(mX); tOut.writeShort(mY); tOut.writeInt(mZ); tOut.writeShort(mID); - + tOut.writeInt(mC0); tOut.writeInt(mC1); tOut.writeInt(mC2); tOut.writeInt(mC3); tOut.writeInt(mC4); tOut.writeInt(mC5); - + tOut.writeByte(mTexture); tOut.writeByte(mUpdate); tOut.writeByte(mRedstone); tOut.writeByte(mColor); - - return tOut.toByteArray(); - } - - @Override - public GT_Packet decode(ByteArrayDataInput aData) { + + return tOut.toByteArray(); + } + + @Override + public GT_Packet decode(ByteArrayDataInput aData) { return new GT_Packet_TileEntity(aData.readInt(), aData.readShort(), aData.readInt(), aData.readShort(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readByte(), aData.readByte(), aData.readByte(), aData.readByte()); - } - - @Override - public void process(IBlockAccess aWorld) { - if (aWorld != null) { - TileEntity tTileEntity = aWorld.getTileEntity(mX, mY, mZ); - if (tTileEntity != null) { - if (tTileEntity instanceof BaseMetaTileEntity) ((BaseMetaTileEntity)tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor); - else if (tTileEntity instanceof BaseMetaPipeEntity) ((BaseMetaPipeEntity)tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor); - } - } - } - - @Override - public byte getPacketID() { - return 0; - } + } + + @Override + public void process(IBlockAccess aWorld) { + if (aWorld != null) { + TileEntity tTileEntity = aWorld.getTileEntity(mX, mY, mZ); + if (tTileEntity != null) { + if (tTileEntity instanceof BaseMetaTileEntity) + ((BaseMetaTileEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor); + else if (tTileEntity instanceof BaseMetaPipeEntity) + ((BaseMetaPipeEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor); + } + } + } + + @Override + public byte getPacketID() { + return 0; + } }
\ No newline at end of file diff --git a/src/main/java/gregtech/api/net/IGT_NetworkHandler.java b/src/main/java/gregtech/api/net/IGT_NetworkHandler.java index db27888229..488e25591f 100644 --- a/src/main/java/gregtech/api/net/IGT_NetworkHandler.java +++ b/src/main/java/gregtech/api/net/IGT_NetworkHandler.java @@ -1,12 +1,15 @@ package gregtech.api.net; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.world.World; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; public interface IGT_NetworkHandler { public void sendToPlayer(GT_Packet aPacket, EntityPlayerMP aPlayer); + public void sendToAllAround(GT_Packet aPacket, TargetPoint aPosition); + public void sendToServer(GT_Packet aPacket); - public void sendPacketToAllPlayersInRange(World aWorld, GT_Packet aPacket, int aX, int aZ); + + public void sendPacketToAllPlayersInRange(World aWorld, GT_Packet aPacket, int aX, int aZ); }
\ No newline at end of file |