From 779ee7676e015fb4e027a9123484c2aee7927b17 Mon Sep 17 00:00:00 2001 From: Alex 'mcmonkey' Goodwin Date: Wed, 27 Jan 2021 23:39:20 -0800 Subject: [PATCH] showfake: remove empty lists --- .../denizenscript/denizen/utilities/blocks/FakeBlock.java | 6 ++++++ .../impl/network/handlers/DenizenNetworkManagerImpl.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FakeBlock.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FakeBlock.java index 9753b141b7..1c48658ce6 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FakeBlock.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FakeBlock.java @@ -42,6 +42,9 @@ public void remove(FakeBlock block) { List chunkBlocks = byChunk.get(block.chunkCoord); if (chunkBlocks != null) { chunkBlocks.remove(block); + if (chunkBlocks.isEmpty()) { + byChunk.remove(block.chunkCoord); + } } } } @@ -124,6 +127,9 @@ public void cancelBlock() { } FakeBlockMap mapping = blocks.get(player.getUUID()); mapping.remove(this); + if (mapping.byChunk.isEmpty()) { + blocks.remove(player.getUUID()); + } } private void updateBlock(MaterialTag material, DurationTag duration) { diff --git a/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/impl/network/handlers/DenizenNetworkManagerImpl.java b/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/impl/network/handlers/DenizenNetworkManagerImpl.java index cbb4e8f630..48f38a4f50 100644 --- a/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/impl/network/handlers/DenizenNetworkManagerImpl.java +++ b/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/impl/network/handlers/DenizenNetworkManagerImpl.java @@ -616,7 +616,7 @@ public boolean processShowFakeForPacket(Packet packet, GenericFutureListener< int chunkZ = CHUNKZ_MAPCHUNK.getInt(packet); ChunkCoordinate chunkCoord = new ChunkCoordinate(chunkX, chunkZ, player.getWorld().getWorld().getName()); List blocks = FakeBlock.getFakeBlocksFor(player.getUniqueID(), chunkCoord); - if (blocks == null) { + if (blocks == null || blocks.isEmpty()) { return false; } PacketPlayOutMapChunk newPacket = FakeBlockHelper.handleMapChunkPacket((PacketPlayOutMapChunk) packet, blocks);