diff --git a/src/main/java/com/minecolonies/core/colony/buildings/workerbuildings/BuildingTownHall.java b/src/main/java/com/minecolonies/core/colony/buildings/workerbuildings/BuildingTownHall.java index c17a884595b..9468afbf860 100755 --- a/src/main/java/com/minecolonies/core/colony/buildings/workerbuildings/BuildingTownHall.java +++ b/src/main/java/com/minecolonies/core/colony/buildings/workerbuildings/BuildingTownHall.java @@ -130,23 +130,27 @@ public void serializeToView(@NotNull final FriendlyByteBuf buf) final Level level = colony.getWorld(); - int validMapCount = 0; + final List mapDataList = new ArrayList<>(); for (final ItemStack stack : maps) { - if(MapItem.getSavedData(stack, level) != null) + try { - validMapCount++; + final MapItemSavedData mapData = MapItem.getSavedData(stack, level); + if (mapData != null) + { + mapDataList.add(mapData); + } + } + catch (final Exception ex) + { + // Do nothing } } - buf.writeInt(validMapCount); - for (final ItemStack stack : maps) + buf.writeInt(mapDataList.size()); + for (final MapItemSavedData mapData : mapDataList) { - final MapItemSavedData mapData = MapItem.getSavedData(stack, level); - if(mapData != null) - { - buf.writeNbt(mapData.save(new CompoundTag())); - } + buf.writeNbt(mapData.save(new CompoundTag())); } }