diff options
author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-23 22:21:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-23 20:21:30 +0000 |
commit | b9f4304cc182802c32197ac15e153d0e840f7a4d (patch) | |
tree | 0a891fb8432cec0aa60ffbfcfd69c134ecac3b0b /src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessComputationOutput.java | |
parent | 4a38c5955dfa24785d495e77bbfd86118449c88b (diff) | |
download | GT5-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.java | 30 |
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; + } } } |