From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Taiyou06 Date: Mon, 12 May 2025 19:39:03 +0200 Subject: [PATCH] Remove streams in TemptingSensor diff --git a/net/minecraft/world/entity/ai/sensing/TemptingSensor.java b/net/minecraft/world/entity/ai/sensing/TemptingSensor.java index 4b3ba795bc18417f983600f1edbc1895ccb7deab..48fef89a7a3286c17a56a842fa44b80797971d2f 100644 --- a/net/minecraft/world/entity/ai/sensing/TemptingSensor.java +++ b/net/minecraft/world/entity/ai/sensing/TemptingSensor.java @@ -1,12 +1,13 @@ package net.minecraft.world.entity.ai.sensing; import com.google.common.collect.ImmutableSet; +import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Set; import java.util.function.Predicate; -import java.util.stream.Collectors; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.EntitySelector; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.Brain; @@ -36,14 +37,21 @@ public class TemptingSensor extends Sensor { protected void doTick(ServerLevel level, PathfinderMob entity) { Brain brain = entity.getBrain(); TargetingConditions targetingConditions = TEMPT_TARGETING.copy().range((float)entity.getAttributeValue(Attributes.TEMPT_RANGE)); - List list = level.players() - .stream() - .filter(EntitySelector.NO_SPECTATORS) - .filter(serverPlayer -> targetingConditions.test(level, entity, serverPlayer)) - .filter(this::playerHoldingTemptation) - .filter(serverPlayer -> !entity.hasPassenger(serverPlayer)) - .sorted(Comparator.comparingDouble(entity::distanceToSqr)) - .collect(Collectors.toList()); + + List allPlayers = level.players(); + List list = new ArrayList<>(); + + for (Player serverPlayer : allPlayers) { + if (EntitySelector.NO_SPECTATORS.test(serverPlayer) && + targetingConditions.test(level, entity, serverPlayer) && + this.playerHoldingTemptation(serverPlayer) && + !entity.hasPassenger(serverPlayer)) { + list.add(serverPlayer); + } + } + + list.sort(Comparator.comparingDouble(entity::distanceToSqr)); + if (!list.isEmpty()) { Player player = list.get(0); // CraftBukkit start