diff options
author | Matt <mtthw8198@gmail.com> | 2021-06-06 07:54:55 -0700 |
---|---|---|
committer | Matt <mtthw8198@gmail.com> | 2021-06-06 07:54:55 -0700 |
commit | 5c68f72256dd5641a113a345700d307312b8693c (patch) | |
tree | 0782193e00eea657679faaa34819218f31d630bd /src/main/java/gregtech/api | |
parent | 51fcb8af2bd2022d9a9111e2874e508d4059d8d0 (diff) | |
download | GT5-Unofficial-5c68f72256dd5641a113a345700d307312b8693c.tar.gz GT5-Unofficial-5c68f72256dd5641a113a345700d307312b8693c.tar.bz2 GT5-Unofficial-5c68f72256dd5641a113a345700d307312b8693c.zip |
Uses GT_WirelessRedstoneCover packets now
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r-- | src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java b/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java index c4196f17aa..64ac09c59e 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java +++ b/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java @@ -3,6 +3,7 @@ package gregtech.api.net; import com.google.common.io.ByteArrayDataInput; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.network.INetHandler; import net.minecraft.network.NetHandlerPlayServer; @@ -13,27 +14,25 @@ import net.minecraftforge.common.DimensionManager; public class GT_Packet_WirelessRedstoneCover extends GT_Packet_TileEntityCover { private static final int PRIVATE_MASK = 0xFFFE0000; - private static final int PUBLIC_MASK = 0x0000FFFF; - private static final int CHECKBOX_MASK = 0x00010000; - - protected int mX; - protected short mY; - protected int mZ; - - protected byte side; - protected int coverID, coverData, dimID; private EntityPlayerMP mPlayer; + private int mPublicChannel; + private int mCheckBoxValue; public GT_Packet_WirelessRedstoneCover() { super(); } - public GT_Packet_WirelessRedstoneCover(int mX, short mY, int mZ, byte coverSide, int coverID, int coverData, int dimID) { + public GT_Packet_WirelessRedstoneCover(int mX, short mY, int mZ, byte coverSide, int coverID, int coverData, int dimID, int publicChannel, int checkBoxValue) { super(mX, mY, mZ, coverSide, coverID, coverData, dimID); + mPublicChannel = publicChannel; + mCheckBoxValue = checkBoxValue; } - public GT_Packet_WirelessRedstoneCover(byte coverSide, int coverID, int coverData, ICoverable tile) { + + public GT_Packet_WirelessRedstoneCover(byte coverSide, int coverID, int coverData, ICoverable tile, int publicChannel, int checkBoxValue) { super(coverSide, coverID, coverData, tile); + mPublicChannel = publicChannel; + mCheckBoxValue = checkBoxValue; } @Override @@ -49,6 +48,22 @@ public class GT_Packet_WirelessRedstoneCover extends GT_Packet_TileEntityCover { } @Override + public void encode(ByteBuf aOut) { + aOut.writeInt(mX); + aOut.writeShort(mY); + aOut.writeInt(mZ); + + aOut.writeByte(side); + aOut.writeInt(coverID); + aOut.writeInt(coverData); + + aOut.writeInt(dimID); + + aOut.writeInt(mPublicChannel); + aOut.writeInt(mCheckBoxValue); + } + + @Override public GT_Packet_New decode(ByteArrayDataInput aData) { return new GT_Packet_WirelessRedstoneCover( aData.readInt(), @@ -59,6 +74,9 @@ public class GT_Packet_WirelessRedstoneCover extends GT_Packet_TileEntityCover { aData.readInt(), aData.readInt(), + aData.readInt(), + + aData.readInt(), aData.readInt()); } @@ -68,7 +86,9 @@ public class GT_Packet_WirelessRedstoneCover extends GT_Packet_TileEntityCover { if (world != null && world.blockExists(mX, mY, mZ)) { TileEntity tile = world.getTileEntity(mX, mY, mZ); if (tile instanceof IGregTechTileEntity && !((IGregTechTileEntity) tile).isDead()) { - ((IGregTechTileEntity) tile).receiveCoverData(side, coverID, (mPlayer.getUniqueID().hashCode() & PRIVATE_MASK) | (coverData & PUBLIC_MASK | CHECKBOX_MASK)); + int tPrivateChannel = (mCheckBoxValue > 0) ? mPlayer.getUniqueID().hashCode() & PRIVATE_MASK : 0; + int tCoverData = tPrivateChannel | mCheckBoxValue | mPublicChannel; + ((IGregTechTileEntity) tile).receiveCoverData(side, coverID, tCoverData); } } } |