Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
public static void glowPlayer(Player who, Player whom) { //подсветка
int entityId = whom.getEntityId();
PacketPlayOutEntityEffect packet = new PacketPlayOutEntityEffect(entityId, new MobEffect(MobEffectList.fromId(24)));
((CraftPlayer)who).getHandle().playerConnection.sendPacket(packet);
}
public Player tracePlayer(Player who, int distance) { //получаем игрока, на которого смотрим
Location loc = who.getLocation();
Player whom = null;
List<Player> players = getNearbyPlayers(loc, distance);
Vector v = who.getLocation().getDirection();
for (Player p : players) {
if...
public static void glowPlayer(Player who, Player whom) { //подсветка
int entityId = whom.getEntityId();
PacketPlayOutEntityEffect packet = new PacketPlayOutEntityEffect(entityId, new MobEffect(MobEffectList.fromId(24)));
((CraftPlayer)who).getHandle().playerConnection.sendPacket(packet);
}
public Player tracePlayer(Player who, int distance) { //получаем игрока, на которого смотрим
Location loc = who.getLocation();
Player whom = null;
List<Player> players = getNearbyPlayers(loc, distance);
Vector v = who.getLocation().getDirection();
for (Player p : players) {
if (p.getLocation().toVector().equals(v)) {
whom = p;
break;
}
}
return whom;
}
public static List<Player> getNearbyPlayers(Location location, int distance) { //код, который я обычно использую
List<Player> list = new ArrayList<Player>(); //для получения ближайших игроков
for (Player p : Bukkit.getServer().getOnlinePlayers())
if (p.getLocation().distance(location) <= distance)
list.add(p);
return list;
}
getNearbyPlayers
можно заменить на Player#getNearbyEntities
и уже внутри цикла делать дополнительную проверку Entity instanceof Player
.import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.Vector;
import net.minecraft.server.v1_12_R1.PacketPlayOutEntityEffect;
import org.bukkit.Location;
import java.util.*;
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
import net.minecraft.server.v1_12_R1.MobEffect;
import net.minecraft.server.v1_12_R1.MobEffectList;
public class Main extends JavaPlugin {
public static void glowPlayer(Player who, Player whom) { //подсветка
int entityId = whom.getEntityId();
PacketPlayOutEntityEffect packet = new PacketPlayOutEntityEffect(entityId, new MobEffect(MobEffectList.fromId(24)));
((CraftPlayer)who).getHandle().playerConnection.sendPacket(packet);
}
public Player tracePlayer(Player who, int distance) { //получаем игрока, на которого смотрим
Location loc = who.getLocation();
Player whom = null;
List<Player> players = getNearbyPlayers(loc, distance);
Vector v = who.getLocation().getDirection();
for (Player p : players) {
if (p.getLocation().toVector().equals(v)) {
whom = p;
break;
}
}
return whom;
}
public static List<Player> getNearbyPlayers(Location location, int distance) { //код, который я обычно использую
List<Player> list = new ArrayList<Player>(); //для получения ближайших игроков
for (Player p : Bukkit.getServer().getOnlinePlayers())
if (p.getLocation().distance(location) <= distance)
list.add(p);
return list;
}
}
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения