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/MTEHatchWirelessDataItemsInput.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/MTEHatchWirelessDataItemsInput.java')
-rw-r--r-- | src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessDataItemsInput.java | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessDataItemsInput.java b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessDataItemsInput.java index e7d604328a..f3e4619c05 100644 --- a/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessDataItemsInput.java +++ b/src/main/java/tectech/thing/metaTileEntity/hatch/MTEHatchWirelessDataItemsInput.java @@ -18,6 +18,8 @@ import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.reflect.FieldUtils; +import com.google.common.collect.ImmutableList; + import gregtech.api.enums.Dyes; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -32,6 +34,8 @@ public class MTEHatchWirelessDataItemsInput extends MTEHatchDataAccess { private String clientLocale = "en_US"; + private List<ItemStack> dataItems = null; + public MTEHatchWirelessDataItemsInput(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); TTUtility.setTier(aTier, this); @@ -118,15 +122,26 @@ public class MTEHatchWirelessDataItemsInput extends MTEHatchDataAccess { @Override public List<ItemStack> getInventoryItems(Predicate<ItemStack> filter) { - WirelessDataStore wirelessData = WirelessDataStore - .getWirelessDataSticks(getBaseMetaTileEntity().getOwnerUuid()); - return wirelessData.downloadData() - .stream() + if (this.dataItems == null) return ImmutableList.of(); + return this.dataItems.stream() .filter(stack -> stack != null && filter.test(stack)) .collect(Collectors.toList()); } @Override + public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + if (aBaseMetaTileEntity.isServerSide()) { + // Upload data packet and mark it as uploaded, so it will not be uploaded again + // until the data bank resets the wireless network + if (aTick % WirelessDataStore.DOWNLOAD_TICK == 0) { + WirelessDataStore wirelessDataStore = WirelessDataStore + .getWirelessDataSticks(getBaseMetaTileEntity().getOwnerUuid()); + this.dataItems = wirelessDataStore.downloadData(aTick); + } + } + } + + @Override public boolean isGivingInformation() { return true; } |