我正在制作一个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 })); {
}
}
错误:
无法实例化PacketAdapter类型
答案 0 :(得分:0)
正如您将在Javadocs中看到的PacketAdapeter,它被声明为:
public abstract class PacketAdapter implements PacketListener
abstract
表示该类不是完整的类,必须实现为完整类或anonymous class,它无法实例化。您需要找到PacketAdapter的子类,或者自己制作一个。
有关详细信息,请参阅Abstract Methods and Classes的Java教程。