Java “正确”;至于;此实例中的用法
如果我试图获取玩家的位置并在Bukkit计划任务中传送他们,那么(玩家p:)的正确用法是什么?当使用Java “正确”;至于;此实例中的用法,java,api,minecraft,bukkit,Java,Api,Minecraft,Bukkit,如果我试图获取玩家的位置并在Bukkit计划任务中传送他们,那么(玩家p:)的正确用法是什么?当使用:时,它会给我一个无法识别的错误,我认为我需要将语句的重置连接在一起,但可能还有另一种方法。虽然这是一个与Minecraft Bukkit有关的问题,但我相信这里有人能够帮助我 当前代码: private void teleporter() { if (getConfig().getBoolean("teleport")) { Bukkit.getScheduler().s
:
时,它会给我一个无法识别的错误,我认为我需要将语句的重置连接在一起,但可能还有另一种方法。虽然这是一个与Minecraft Bukkit有关的问题,但我相信这里有人能够帮助我
当前代码:
private void teleporter()
{
if (getConfig().getBoolean("teleport")) {
Bukkit.getScheduler().scheduleSyncRepeatingTask(this,
new Runnable()
{
public void run() {
for (Player p : ) {
if (p.getLocation().getY() <= 0.0D)
{
p.teleport(NoVoid.spawnLocation);
p.setFallDistance(0.0F);
}
}
}
}, 0L, 100L);
}
}
private void传送器()
{
if(getConfig().getBoolean(“传送”)){
Bukkit.getScheduler().scheduleSyncRepeatingTask(此,
新的Runnable()
{
公开募捐{
对于(玩家p:){
如果(p.getLocation().getY()获取您的代码:
for (Player p : ) {
if(p.getLocation().getY() <= 0.0D)
p.teleport(NoVoid.spawnLocation);
p.setFallDistance(0.0F);
}
变量listOfPlayersInTheGame
必须是玩家的集合。有效示例包括但不限于:
列表
Player[]
ArrayList
LinkedList
另一方面,我不认为你希望你的传送机传送服务器上的所有玩家。你可能只想抓取当前站在传送机上的玩家。你可以通过在x、y和z平面上获取他们的位置和传送机位置之间的差异来实现这一点。显然有一些公差,所以我们如果差异小于1个块,则表示满意。例如(伪代码):
对于列表中的每个玩家p:
如果Math.abs(p.x-teleporter.x)<1:
如果(数学绝对值(p.y-远程传输的y)<1):
如果(数学绝对值(p.z-远程传输的.z)<1):
//他们一定是站在传送机上!
p、 传送(繁殖)
你是否有某种集合
或一组玩家
或者你能得到一个吗?如果有的话,用它在的右边:
。你是想传送一个玩家,还是服务器上的所有玩家?完全不相关-我不敢相信我必须在我访问的同一天回答一个关于Minecraft的问题把我的图标挂成一块土。
for (Player p : listOfPlayersInTheGame) {
for each player p in list:
if Math.abs(p.x - teleporter.x) < 1:
if(Math.abs(p.y - teleported.y) < 1):
if(Math.abs(p.z - teleported.z) < 1):
// They must be standing on the teleporter!
p.teleport(spawn)