【发布时间】:2021-04-24 06:58:09
【问题描述】:
我知道还有很多其他类似的帖子来自人们试图在他们的静态课程中找到他们的问题,我已经阅读了它们但无济于事。我正在尝试为 bedwars 制作一个 minecraft bukkit 插件,并在尝试使用 world 时。--- 我经常收到这些错误(无法从类型 World 中对非静态方法 getPlayers 进行静态引用)并且找不到静态的位置类起源于。这是我的代码:
package me.fitch.bedwars.timers;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.World;
import org.bukkit.entity.Player;
import me.fitch.bedwars.main;
public class starttimer implements Listener {
private main plugin;
public starttimer(main plugin) {
this.plugin = plugin;
Bukkit.getPluginManager().registerEvents(this, plugin);
}
@EventHandler
public void startjoin(PlayerJoinEvent e)
{
Object [] players = World.getPlayers().toArray(); //error here
if(players.length == 8)
{
//start countdown
}
}
}
希望你能帮上忙,我不只是瞎了 谢谢:)
编辑:在实例化 World server = new World(); 之后,我现在收到“无法实例化世界类型”错误,感谢到目前为止的帮助,希望你能帮助解决这个问题 :)
编辑 2:所以 e.getPlayer().getWorld() 现在可以工作了,所以谢谢,但我现在在我的主类中遇到问题,其中 e 不是一个东西
package me.fitch.bedwars;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.plugin.java.JavaPlugin;
import me.fitch.bedwars.listeners.beddestroy;
public class main extends JavaPlugin {
private main plugin;
public main(main plugin) {
this.plugin = plugin;
}
@Override
public void onEnable()
{
World.setSpawnLocation(Integer.parseInt( plugin.getConfig().getString("respawn_pointx")), Integer.parseInt( plugin.getConfig().getString("respawn_pointx")) + 1,Integer.parseInt( plugin.getConfig().getString("respawn_pointz")));
new beddestroy(this);
}
}
【问题讨论】:
-
另外,
private main plugin;是什么?乍一看,这似乎是一个编译错误
标签: java plugins minecraft bukkit