Skip to content

Commit d03c3ac

Browse files
Add WorldUtils#getPlayersAround
1 parent d4b52af commit d03c3ac

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/main/java/com/mmodding/mmodding_lib/library/utils/WorldUtils.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,21 @@
33
import com.mmodding.mmodding_lib.library.MModdingDamageSources;
44
import com.mmodding.mmodding_lib.library.worldgen.veins.CustomVeinType;
55
import net.minecraft.client.world.ClientWorld;
6+
import net.minecraft.server.network.ServerPlayerEntity;
67
import net.minecraft.server.world.ServerWorld;
78
import net.minecraft.util.Identifier;
89
import net.minecraft.util.math.BlockPos;
10+
import net.minecraft.util.math.Vec3d;
911
import net.minecraft.util.registry.Registry;
1012
import net.minecraft.util.registry.RegistryKey;
1113
import net.minecraft.world.World;
1214
import net.minecraft.world.WorldAccess;
1315
import net.minecraft.world.explosion.Explosion;
1416

1517
import java.util.List;
18+
import java.util.Set;
19+
import java.util.function.Predicate;
20+
import java.util.stream.Collectors;
1621

1722
public class WorldUtils {
1823

@@ -81,6 +86,13 @@ public static void pushExplosion(WorldAccess world, BlockPos pos, float power) {
8186
explosion.affectWorld(false);
8287
}
8388

89+
public static Set<ServerPlayerEntity> getPlayersAround(ServerWorld serverWorld, Vec3d pos, Predicate<Double> length) {
90+
return serverWorld.getPlayers()
91+
.stream()
92+
.filter(player -> length.test(player.getPos().subtract(pos).length()))
93+
.collect(Collectors.toSet());
94+
}
95+
8496
public interface TickTaskServer {
8597

8698
void mmodding_lib$doTaskAfter(long ticksToWait, Runnable run);

0 commit comments

Comments
 (0)