aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-23 22:21:30 +0200
committerGitHub <noreply@github.com>2024-09-23 20:21:30 +0000
commitb9f4304cc182802c32197ac15e153d0e840f7a4d (patch)
tree0a891fb8432cec0aa60ffbfcfd69c134ecac3b0b /src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java
parent4a38c5955dfa24785d495e77bbfd86118449c88b (diff)
downloadGT5-Unofficial-b9f4304cc182802c32197ac15e153d0e840f7a4d.tar.gz
GT5-Unofficial-b9f4304cc182802c32197ac15e153d0e840f7a4d.tar.bz2
GT5-Unofficial-b9f4304cc182802c32197ac15e153d0e840f7a4d.zip
Wireless data refactor & fixes (#3264)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java')
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java
index 8495f95e6f..712cd26d80 100644
--- a/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java
+++ b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java
@@ -1,14 +1,18 @@
package tectech.thing.metaTileEntity.hatch;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.common.WirelessComputationPacket;
+import tectech.mechanics.dataTransport.QuantumDataPacket;
public class MTEHatchWirelessComputationOutput extends MTEHatchDataOutput {
+ private int clearDelay = 0;
+
public MTEHatchWirelessComputationOutput(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier);
@@ -40,11 +44,35 @@ public class MTEHatchWirelessComputationOutput extends MTEHatchDataOutput {
}
@Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ if (aNBT.hasKey("clearDelay")) {
+ this.clearDelay = aNBT.getInteger("clearDelay");
+ }
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ aNBT.setInteger("clearDelay", this.clearDelay);
+ }
+
+ @Override
+ public void providePacket(QuantumDataPacket packet) {
+ super.providePacket(packet);
+ // Keep providing to wireless net for 21 ticks, because after this time a new packet from the computer should
+ // have arrived
+ this.clearDelay = 21;
+ }
+
+ @Override
public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
super.onPreTick(aBaseMetaTileEntity, aTick);
if (aBaseMetaTileEntity.isServerSide() && q != null) {
WirelessComputationPacket.uploadData(aBaseMetaTileEntity.getOwnerUuid(), q.getContent(), aTick);
- q = null;
+ if (clearDelay-- == 0) {
+ q = null;
+ }
}
}