aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/net/GTPacketSendCoverData.java
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-02 23:17:17 +0200
committerGitHub <noreply@github.com>2024-09-02 23:17:17 +0200
commit1b820de08a05070909a267e17f033fcf58ac8710 (patch)
tree02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/gregtech/api/net/GTPacketSendCoverData.java
parentafd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff)
downloadGT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip
The Great Renaming (#3014)
* move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names
Diffstat (limited to 'src/main/java/gregtech/api/net/GTPacketSendCoverData.java')
-rw-r--r--src/main/java/gregtech/api/net/GTPacketSendCoverData.java107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/net/GTPacketSendCoverData.java b/src/main/java/gregtech/api/net/GTPacketSendCoverData.java
new file mode 100644
index 0000000000..76adb75d31
--- /dev/null
+++ b/src/main/java/gregtech/api/net/GTPacketSendCoverData.java
@@ -0,0 +1,107 @@
+package gregtech.api.net;
+
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.IBlockAccess;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import com.google.common.io.ByteArrayDataInput;
+
+import gregtech.api.GregTechAPI;
+import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.metatileentity.CoverableTileEntity;
+import gregtech.api.util.ISerializableObject;
+import gregtech.common.covers.CoverInfo;
+import io.netty.buffer.ByteBuf;
+
+/**
+ * Server -> Client : Update cover data
+ */
+public class GTPacketSendCoverData extends GTPacketNew {
+
+ protected int mX;
+ protected short mY;
+ protected int mZ;
+
+ protected ForgeDirection side;
+ protected int coverID;
+ protected ISerializableObject coverData;
+
+ public GTPacketSendCoverData() {
+ super(true);
+ }
+
+ public GTPacketSendCoverData(int mX, short mY, int mZ, ForgeDirection coverSide, int coverID,
+ ISerializableObject coverData) {
+ super(false);
+ this.mX = mX;
+ this.mY = mY;
+ this.mZ = mZ;
+
+ this.side = coverSide;
+ this.coverID = coverID;
+ this.coverData = coverData;
+ }
+
+ public GTPacketSendCoverData(CoverInfo info, ICoverable tile) {
+ super(false);
+ this.mX = tile.getXCoord();
+ this.mY = tile.getYCoord();
+ this.mZ = tile.getZCoord();
+
+ this.side = info.getSide();
+ this.coverID = info.getCoverID();
+ this.coverData = info.getCoverData();
+ }
+
+ public GTPacketSendCoverData(ForgeDirection coverSide, int coverID, ISerializableObject coverData,
+ ICoverable tile) {
+ super(false);
+ this.mX = tile.getXCoord();
+ this.mY = tile.getYCoord();
+ this.mZ = tile.getZCoord();
+
+ this.side = coverSide;
+ this.coverID = coverID;
+ this.coverData = coverData;
+ }
+
+ @Override
+ public byte getPacketID() {
+ return GTPacketTypes.SEND_COVER_DATA.id;
+ }
+
+ @Override
+ public void encode(ByteBuf aOut) {
+ aOut.writeInt(mX);
+ aOut.writeShort(mY);
+ aOut.writeInt(mZ);
+
+ aOut.writeByte(side.ordinal());
+ aOut.writeInt(coverID);
+ coverData.writeToByteBuf(aOut);
+ }
+
+ @Override
+ public GTPacketNew decode(ByteArrayDataInput aData) {
+ final int coverId;
+ return new GTPacketSendCoverData(
+ aData.readInt(),
+ aData.readShort(),
+ aData.readInt(),
+ ForgeDirection.getOrientation(aData.readByte()),
+ coverId = aData.readInt(),
+ GregTechAPI.getCoverBehaviorNew(coverId)
+ .createDataObject()
+ .readFromPacket(aData, null));
+ }
+
+ @Override
+ public void process(IBlockAccess aWorld) {
+ if (aWorld != null) {
+ final TileEntity tile = aWorld.getTileEntity(mX, mY, mZ);
+ if (tile instanceof CoverableTileEntity coverable && !coverable.isDead()) {
+ coverable.receiveCoverData(side, coverID, coverData, null);
+ }
+ }
+ }
+}