diff --git a/leaf-server/minecraft-patches/features/0154-Remove-streams-on-updateConnectedPlayersWithinRange.patch b/leaf-server/minecraft-patches/features/0154-Remove-streams-on-updateConnectedPlayersWithinRange.patch new file mode 100644 index 00000000..c8bf0f30 --- /dev/null +++ b/leaf-server/minecraft-patches/features/0154-Remove-streams-on-updateConnectedPlayersWithinRange.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Taiyou06 +Date: Sat, 22 Mar 2025 11:22:23 +0100 +Subject: [PATCH] Remove streams on updateConnectedPlayersWithinRange + + +diff --git a/net/minecraft/world/level/block/entity/vault/VaultSharedData.java b/net/minecraft/world/level/block/entity/vault/VaultSharedData.java +index 50d6ff126a35ce8613175b550dac50cd82c43f9d..8fc21228a77206387d341734e6fd9df1f641958d 100644 +--- a/net/minecraft/world/level/block/entity/vault/VaultSharedData.java ++++ b/net/minecraft/world/level/block/entity/vault/VaultSharedData.java +@@ -3,6 +3,8 @@ package net.minecraft.world.level.block.entity.vault; + import com.mojang.serialization.Codec; + import com.mojang.serialization.codecs.RecordCodecBuilder; + import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet; ++ ++import java.util.List; + import java.util.Set; + import java.util.UUID; + import java.util.stream.Collectors; +@@ -65,11 +67,15 @@ public class VaultSharedData { + } + + void updateConnectedPlayersWithinRange(ServerLevel level, BlockPos pos, VaultServerData serverData, VaultConfig config, double deactivationRange) { +- Set set = config.playerDetector() +- .detect(level, config.entitySelector(), pos, deactivationRange, false) +- .stream() +- .filter(uuid -> !serverData.getRewardedPlayers().contains(uuid)) +- .collect(Collectors.toSet()); ++ List detectedPlayers = config.playerDetector().detect(level, config.entitySelector(), pos, deactivationRange, false); ++ Set set = new ObjectLinkedOpenHashSet<>(); ++ ++ for (UUID uuid : detectedPlayers) { ++ if (!serverData.getRewardedPlayers().contains(uuid)) { ++ set.add(uuid); ++ } ++ } ++ + if (!this.connectedPlayers.equals(set)) { + this.connectedPlayers = set; + this.markDirty();