minimal less memory usage in chunk storing (don't store air)

This commit is contained in:
bixilon 2020-06-13 22:09:43 +02:00
parent 07be1645cf
commit d0ca08738b
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -13,11 +13,11 @@
package de.bixilon.minosoft.protocol.packets.clientbound.play; package de.bixilon.minosoft.protocol.packets.clientbound.play;
import de.bixilon.minosoft.game.datatypes.blocks.Block;
import de.bixilon.minosoft.game.datatypes.world.Chunk; import de.bixilon.minosoft.game.datatypes.world.Chunk;
import de.bixilon.minosoft.game.datatypes.world.ChunkLocation; import de.bixilon.minosoft.game.datatypes.world.ChunkLocation;
import de.bixilon.minosoft.game.datatypes.world.ChunkNibble; import de.bixilon.minosoft.game.datatypes.world.ChunkNibble;
import de.bixilon.minosoft.game.datatypes.world.ChunkNibbleLocation; import de.bixilon.minosoft.game.datatypes.world.ChunkNibbleLocation;
import de.bixilon.minosoft.game.datatypes.blocks.Block;
import de.bixilon.minosoft.logging.Log; import de.bixilon.minosoft.logging.Log;
import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.packets.ClientboundPacket;
import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.InByteBuffer;
@ -102,7 +102,11 @@ public class PacketChunkBulk implements ClientboundPacket {
// ToDo light, biome // ToDo light, biome
blockMap.put(new ChunkNibbleLocation(nibbleX, nibbleY, nibbleZ), Block.byLegacy(singeBlockId, singleMeta)); Block block = Block.byLegacy(singeBlockId, singleMeta);
if (block == Block.AIR) {
continue;
}
blockMap.put(new ChunkNibbleLocation(nibbleX, nibbleY, nibbleZ), block);
arrayPos++; arrayPos++;
} }
} }