Java 检查距离中心一定距离内有多少人
我正在制作一个Spleef插件。 我需要数一数大厅里的人数 我想我可以数一数离大厅中心一定距离内有多少人。 我认为这可能比有人键入命令时录制效果更好 Main.java: 我还没有从主类调用Java 检查距离中心一定距离内有多少人,java,bukkit,Java,Bukkit,我正在制作一个Spleef插件。 我需要数一数大厅里的人数 我想我可以数一数离大厅中心一定距离内有多少人。 我认为这可能比有人键入命令时录制效果更好 Main.java: 我还没有从主类调用onPlayerJoin方法 我欢迎任何有更好的方法来计算大厅里的人数的人。确保你有一个位置对象,你想在该对象的中心找到附近的玩家 Location center = new Location(world, x, y, z); 然后,使用所需距离的double值 double distance = 10D;
onPlayerJoin
方法
我欢迎任何有更好的方法来计算大厅里的人数的人。确保你有一个
位置
对象,你想在该对象的中心找到附近的玩家
Location center = new Location(world, x, y, z);
然后,使用所需距离的double
值
double distance = 10D;
首先,您应该对服务器上的所有玩家进行循环:
for (Player player : Bukkit.getOnlinePlayers()) {
}
然后,获取播放器的位置
:
for (Player player : Bukkit.getOnlinePlayers()) {
Location location = player.getLocation();
}
现在我们可以检查两个位置之间的距离(center
和location
):
确保您有一个
位置
对象,该对象的中心是您想要获得附近玩家的位置
Location center = new Location(world, x, y, z);
然后,使用所需距离的double
值
double distance = 10D;
首先,您应该对服务器上的所有玩家进行循环:
for (Player player : Bukkit.getOnlinePlayers()) {
}
然后,获取播放器的位置
:
for (Player player : Bukkit.getOnlinePlayers()) {
Location location = player.getLocation();
}
现在我们可以检查两个位置之间的距离(center
和location
):
确保您有一个
位置
对象,该对象的中心是您想要获得附近玩家的位置
Location center = new Location(world, x, y, z);
然后,使用所需距离的double
值
double distance = 10D;
首先,您应该对服务器上的所有玩家进行循环:
for (Player player : Bukkit.getOnlinePlayers()) {
}
然后,获取播放器的位置
:
for (Player player : Bukkit.getOnlinePlayers()) {
Location location = player.getLocation();
}
现在我们可以检查两个位置之间的距离(center
和location
):
确保您有一个
位置
对象,该对象的中心是您想要获得附近玩家的位置
Location center = new Location(world, x, y, z);
然后,使用所需距离的double
值
double distance = 10D;
首先,您应该对服务器上的所有玩家进行循环:
for (Player player : Bukkit.getOnlinePlayers()) {
}
然后,获取播放器的位置
:
for (Player player : Bukkit.getOnlinePlayers()) {
Location location = player.getLocation();
}
现在我们可以检查两个位置之间的距离(center
和location
):
就这么做吧
就这么做吧
就这么做吧
只需这样做为什么需要将距离本身相乘?因为distanceSquared()返回距离的平方值。因为我们不想使用distance()方法(它使用平方根操作),所以最好使用平方值和distanceSquared()方法来比较距离。这对小规模情况的影响最小,但仍然是一种更好的做法。-使用distance()可能会使服务器延迟(如果滥用)。只需读取和。为什么需要将
distance
本身相乘?因为distance squared()返回距离的平方值。因为我们不想使用distance()方法(它使用平方根操作),所以最好使用平方值和distanceSquared()方法来比较距离。这对小规模情况的影响最小,但仍然是一种更好的做法。-使用distance()可能会使服务器延迟(如果滥用)。只需读取和。为什么需要将distance
本身相乘?因为distance squared()返回距离的平方值。因为我们不想使用distance()方法(它使用平方根操作),所以最好使用平方值和distanceSquared()方法来比较距离。这对小规模情况的影响最小,但仍然是一种更好的做法。-使用distance()可能会使服务器延迟(如果滥用)。只需读取和。为什么需要将distance
本身相乘?因为distance squared()返回距离的平方值。因为我们不想使用distance()方法(它使用平方根操作),所以最好使用平方值和distanceSquared()方法来比较距离。这对小规模情况的影响最小,但仍然是一种更好的做法。-如果滥用,使用distance()可能会使服务器延迟。只需阅读并记录下你的球员计数练习。首先,一个有用的提示:使用“AMONTOFPLAYERS+=1”或“AMONTOFPLAYERS++”,这将以更简洁的方式增加数值字段(整数、双精度、浮点等)。获取服务器上实时玩家数量的另一种方法:Bukkit.getOnlinePlayer().length;或者Bukkit.getOnlinePlayer.size();(取决于您使用的版本)。你可以在某种运行模式下使用它,或者使用PlayerJoin/PlayerQuit事件。只需在计算玩家的实践中多加注意。首先,一个有用的提示:使用“AMONTOFPLAYERS+=1”或“AMONTOFPLAYERS++”,这将以更简洁的方式增加数值字段(整数、双精度、浮点等)。获取服务器上实时玩家数量的另一种方法:Bukkit.getOnlinePlayer().length;或者Bukkit.getOnlinePlayer.size();(取决于您使用的版本)。你可以在某种运行模式下使用它,或者使用PlayerJoin/PlayerQuit事件。只需在计算玩家的实践中多加注意。首先,一个有用的提示:使用“AMONTOFPLAYERS+=1”或“AMONTOFPLAYERS++”,这将以更简洁的方式增加数值字段(整数、双精度、浮点等)。获取服务器上实时玩家数量的另一种方法:Bukkit.getOnlinePlayer().length;或者Bukkit.getOnlinePlayer.size();(取决于您使用的版本)。你可以在某种运行模式下使用它,或者使用PlayerJoin/PlayerQuit事件。只需在计算玩家的实践中多加注意。首先,一个有用的提示:使用“AMONTOFPLAYERS+=1”或“AMONTOFPLAYERS++”,这将以更简洁的方式增加数值字段(整数、双精度、浮点等)。另一种获取玩家数量的方式