diff options
| author | Martin Robertz <dream-master@gmx.net> | 2023-03-13 10:27:49 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-13 10:27:49 +0100 |
| commit | 6cb571531f3748de23b187385e5fec684ddcd045 (patch) | |
| tree | e1351153a246356c276197c504a7d2ef2bf13b5b /src/main/java/com/detrav/net/ProspectingPacket.java | |
| parent | ff242451cd57db0e9786435313ee34254094ec95 (diff) | |
| parent | 693f203d85d27244f94992eec9e6761bc3379eff (diff) | |
| download | GT5-Unofficial-6cb571531f3748de23b187385e5fec684ddcd045.tar.gz GT5-Unofficial-6cb571531f3748de23b187385e5fec684ddcd045.tar.bz2 GT5-Unofficial-6cb571531f3748de23b187385e5fec684ddcd045.zip | |
Merge pull request #28 from GTNewHorizons/feature/compress
compress prospecting packet using deflater
Diffstat (limited to 'src/main/java/com/detrav/net/ProspectingPacket.java')
| -rw-r--r-- | src/main/java/com/detrav/net/ProspectingPacket.java | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/main/java/com/detrav/net/ProspectingPacket.java b/src/main/java/com/detrav/net/ProspectingPacket.java index 4d6fd72b82..1d48c6a765 100644 --- a/src/main/java/com/detrav/net/ProspectingPacket.java +++ b/src/main/java/com/detrav/net/ProspectingPacket.java @@ -1,6 +1,9 @@ package com.detrav.net; +import java.io.*; import java.util.HashMap; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidRegistry; @@ -12,9 +15,6 @@ import com.detrav.gui.textures.DetravMapTexture; import com.detrav.utils.GTppHelper; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.google.common.base.Objects; -import com.google.common.io.ByteArrayDataInput; -import com.google.common.io.ByteArrayDataOutput; -import com.google.common.io.ByteStreams; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; @@ -100,7 +100,8 @@ public class ProspectingPacket extends DetravPacket { packet.metaMap.put(meta, name); } - public static Object decode(ByteArrayDataInput aData) { + public static Object decode(InputStream in) throws IOException { + DataInput aData = new DataInputStream(new GZIPInputStream(in)); ProspectingPacket packet = new ProspectingPacket( aData.readInt(), aData.readInt(), @@ -134,10 +135,9 @@ public class ProspectingPacket extends DetravPacket { return 0; } - @SuppressWarnings("UnstableApiUsage") @Override - public byte[] encode() { - ByteArrayDataOutput tOut = ByteStreams.newDataOutput(1); + public void encode(OutputStream out) throws IOException { + DataOutputStream tOut = new DataOutputStream(new GZIPOutputStream(out)); tOut.writeInt(chunkX); tOut.writeInt(chunkZ); tOut.writeInt(posX); @@ -149,18 +149,19 @@ public class ProspectingPacket extends DetravPacket { int aSize = (size * 2 + 1) * 16; int checkOut = 0; for (int i = 0; i < aSize; i++) for (int j = 0; j < aSize; j++) { - if (map[i][j] == null) tOut.writeByte(0); + HashMap<Byte, Short> data = map[i][j]; + if (data == null) tOut.writeByte(0); else { - tOut.writeByte(map[i][j].keySet().size()); - for (byte key : map[i][j].keySet()) { + tOut.writeByte(data.keySet().size()); + for (byte key : data.keySet()) { tOut.writeByte(key); - tOut.writeShort(map[i][j].get(key)); + tOut.writeShort(data.get(key)); checkOut++; } } } tOut.writeInt(checkOut); - return tOut.toByteArray(); + tOut.close(); } @Override |
