From e9d793ab51571a3f8926a1fdbbe79f1ea51f45ba Mon Sep 17 00:00:00 2001 From: Raycoms Date: Wed, 29 Jan 2025 16:50:32 +0100 Subject: [PATCH] don't reuse message if altering (#10621) Don't reuse message because of race condition --- .../core/colony/managers/ColonyPackageManager.java | 4 +--- .../messages/client/colony/ColonyViewMessage.java | 11 +---------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/minecolonies/core/colony/managers/ColonyPackageManager.java b/src/main/java/com/minecolonies/core/colony/managers/ColonyPackageManager.java index 96ad07214e9..d7b55e241d9 100755 --- a/src/main/java/com/minecolonies/core/colony/managers/ColonyPackageManager.java +++ b/src/main/java/com/minecolonies/core/colony/managers/ColonyPackageManager.java @@ -211,11 +211,9 @@ public void sendColonyViewPackets() } players.addAll(newSubscribers); - final ColonyViewMessage message = new ColonyViewMessage(colony, colonyFriendlyByteBuf); for (ServerPlayer player : players) { - message.setIsNewSubscription(newSubscribers.contains(player)); - Network.getNetwork().sendToPlayer(message, player); + Network.getNetwork().sendToPlayer(new ColonyViewMessage(colony, colonyFriendlyByteBuf, newSubscribers.contains(player)), player); } } colony.getRequestManager().setDirty(false); diff --git a/src/main/java/com/minecolonies/core/network/messages/client/colony/ColonyViewMessage.java b/src/main/java/com/minecolonies/core/network/messages/client/colony/ColonyViewMessage.java index 25fc5883225..eac7a898eb1 100755 --- a/src/main/java/com/minecolonies/core/network/messages/client/colony/ColonyViewMessage.java +++ b/src/main/java/com/minecolonies/core/network/messages/client/colony/ColonyViewMessage.java @@ -55,20 +55,11 @@ public ColonyViewMessage() * @param colony Colony of the view to update. * @param buf the bytebuffer. */ - public ColonyViewMessage(@NotNull final Colony colony, final FriendlyByteBuf buf) + public ColonyViewMessage(@NotNull final Colony colony, final FriendlyByteBuf buf, boolean newSubscription) { this.colonyId = colony.getID(); this.dim = colony.getDimension(); this.colonyBuffer = new FriendlyByteBuf(buf.copy()); - } - - /** - * Set whether the message is a new subscription(full view) - * - * @param newSubscription - */ - public void setIsNewSubscription(boolean newSubscription) - { isNewSubscription = newSubscription; }