--- a/net/minecraft/world/level/EntityGetter.java
+++ b/net/minecraft/world/level/EntityGetter.java
@@ -24,6 +_,12 @@
         return this.getEntities(EntityTypeTest.forClass(entityClass), area, filter);
     }
 
+    // Folia start - region threading
+    default List<? extends Player> getLocalPlayers() {
+        return java.util.Collections.emptyList();
+    }
+    // Folia end - region threading
+
     List<? extends Player> players();
 
     default List<Entity> getEntities(@Nullable Entity entity, AABB area) {
@@ -123,7 +_,7 @@
         double d = -1.0;
         Player player = null;
 
-        for (Player player1 : this.players()) {
+        for (Player player1 : this.getLocalPlayers()) { // Folia - region threading
             if (predicate == null || predicate.test(player1)) {
                 double d1 = player1.distanceToSqr(x, y, z);
                 if ((distance < 0.0 || d1 < distance * distance) && (d == -1.0 || d1 < d)) {
@@ -144,7 +_,7 @@
     default List<org.bukkit.entity.HumanEntity> findNearbyBukkitPlayers(double x, double y, double z, double radius, @Nullable Predicate<Entity> predicate) {
         com.google.common.collect.ImmutableList.Builder<org.bukkit.entity.HumanEntity> builder = com.google.common.collect.ImmutableList.builder();
 
-        for (Player human : this.players()) {
+        for (Player human : this.getLocalPlayers()) { // Folia - region threading
             if (predicate == null || predicate.test(human)) {
                 double distanceSquared = human.distanceToSqr(x, y, z);
 
@@ -171,7 +_,7 @@
 
     // Paper start - Affects Spawning API
     default boolean hasNearbyAlivePlayerThatAffectsSpawning(double x, double y, double z, double range) {
-        for (Player player : this.players()) {
+        for (Player player : this.getLocalPlayers()) { // Folia - region threading
             if (EntitySelector.PLAYER_AFFECTS_SPAWNING.test(player)) { // combines NO_SPECTATORS and LIVING_ENTITY_STILL_ALIVE with an "affects spawning" check
                 double distanceSqr = player.distanceToSqr(x, y, z);
                 if (range < 0.0D || distanceSqr < range * range) {
@@ -184,7 +_,7 @@
     // Paper end - Affects Spawning API
 
     default boolean hasNearbyAlivePlayer(double x, double y, double z, double distance) {
-        for (Player player : this.players()) {
+        for (Player player : this.getLocalPlayers()) { // Folia - region threading
             if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
                 double d = player.distanceToSqr(x, y, z);
                 if (distance < 0.0 || d < distance * distance) {
@@ -198,8 +_,7 @@
 
     @Nullable
     default Player getPlayerByUUID(UUID uniqueId) {
-        for (int i = 0; i < this.players().size(); i++) {
-            Player player = this.players().get(i);
+        for (Player player : this.getLocalPlayers()) { // Folia - region threading
             if (uniqueId.equals(player.getUUID())) {
                 return player;
             }
