Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
Location location = ...;
List<Player> players = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) {
if (player.getWorld() == location.getWorld() && player.getLocation().distance(location) <= 15) {
players.add(player);
}
}
Location location = ...;
List<Player> players = Bukkit.getOnlinePlayers().stream()
.filter(player -> player.getWorld() == location.getWorld() && player.getLocation().distance(location) <= 15)
.collect(Collectors.toList());
Location location = ...;
List<Player> players = location.getNearbyEntities(15, 15, 15).stream()
.filter(entity ->...
Location location = ...;
List<Player> players = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) {
if (player.getWorld() == location.getWorld() && player.getLocation().distance(location) <= 15) {
players.add(player);
}
}
Location location = ...;
List<Player> players = Bukkit.getOnlinePlayers().stream()
.filter(player -> player.getWorld() == location.getWorld() && player.getLocation().distance(location) <= 15)
.collect(Collectors.toList());
Location location = ...;
List<Player> players = location.getNearbyEntities(15, 15, 15).stream()
.filter(entity -> entity.getType() == EntityType.PLAYER).map(entity -> (Player) entity)
.toList();
Location location = ...;
String message = "message";
for (Player player : Bukkit.getOnlinePlayers()) {
if (player.getWorld() == location.getWorld() && player.getLocation().distance(location) <= 15) {
player.sendMessage(message);
}
}
final Location location = // твоя локация
final Collection<Entity> nearbyPlayers = location.getWorld().getNearbyEntities(
location, 15, 15, 15, entity -> entity.getType() == EntityType.PLAYER
);
// тут уже можешь сделать что угодно, например совершить апкаст сущностей до игроков
nearbyPlayers.stream()
.map(entity -> (Player) entity)
.forEach(player -> player.sendMessage("Ты попался в мой радиус"))
Видел как-то в плагине реализацию синхронного таймера, в котором очень часто использовался метод World#getNearbyEntities(), ко мне обращались, чтобы оптимизировать плагин, а единственная проблема нагрузки была так это в синхронном таймере, который имел очень массивный код, а из-за большого количества синхронных методов, которые нельзя выполнять в асинхроне, пришлось это всё добро переписывать, чтобы запускать асинхронный таймер, дабы снизить нагрузкуJava:final Location location = // твоя локация final Collection<Entity> nearbyPlayers = location.getWorld().getNearbyEntities( location, 15, 15, 15, entity -> entity.getType() == EntityType.PLAYER ); // тут уже можешь сделать что угодно, например совершить апкаст сущностей до игроков nearbyPlayers.stream() .map(entity -> (Player) entity) .forEach(player -> player.sendMessage("Ты попался в мой радиус"))
Это решение наиболее правильное в большинстве случаев
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения