使用ProtocolLibrary PacketAdapter()时出错

时间:2014-04-06 19:24:48

标签: java eclipse minecraft bukkit

我正在制作一个Craftbukkit插件,在播放器计数列表中有一条消息,如HIVE-MC或Omega Realm。我在Ecplise中编码并使用ProtocolLib v3.2.0和Craftbukkit 1.7.2 R0.3。我是java的新手并且不太了解它。我知道一切都是进口的。

到目前为止,这里是导入的方法,代码和错误

方法:

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.bukkit.plugin.java.JavaPlugin;

import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.events.ListenerOptions;
import com.comphenix.protocol.events.ListenerPriority;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.wrappers.WrappedGameProfile;

代码:

    private List<WrappedGameProfile> message = new ArrayList<WrappedGameProfile>();

public void onEnable() {
    if(!new File(getDataFolder(),"RESET.FILE").exists()){
        try {
            getConfig().set("PCMessage",
                    Arrays.asList(new String[]{"First Line", "Second Line"}));
            new File(getDataFolder(),"RESET.FILE").createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }   
    saveConfig();

    for (String str : getConfig().getStringList("PCMessage"))
        message.add(new WrappedGameProfile("1", str));



    ProtocolLibrary
    .getProtocolManager()
    .addPacketListener(
            new PacketAdapter(
                    this,ListenerPriority.NORMAL,
            Arrays.asList(new PacketType[] {PacketType.Status.Server.OUT_SERVER_INFO}),
            new ListenerOptions[] { ListenerOptions.ASYNC })); {

    }
}

错误:

enter image description here

  

无法实例化PacketAdapter类型

1 个答案:

答案 0 :(得分:0)

正如您将在Javadocs中看到的PacketAdapeter,它被声明为:

public abstract class PacketAdapter implements PacketListener

abstract表示该类不是完整的类,必须实现为完整类或anonymous class,它无法实例化。您需要找到PacketAdapter的子类,或者自己制作一个。

有关详细信息,请参阅Abstract Methods and Classes的Java教程。