不能从类型java bukkit minecraft静态引用非静态方法

dfuffjeb  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(230)

我知道有很多类似的帖子来自于人们试图在他们的静态类中发现他们的问题,我读过,但是没有用。我正在尝试为bedwars和尝试使用world制作一个minecraft bukkit插件。--我经常会遇到这些错误(无法静态引用类型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);
    }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题