这主要是针对Spigot API,但我希望能够使用“Player”对象并将其转换为自定义对象以添加新方法,并且我希望能够执行以下操作:
User user = (User) Bukkit.getPlayer("player_name");
我知道这可能无法解答,但学习如何做到这一点非常有帮助
编辑:我需要知道如何完成用户类/接口
答案 0 :(得分:2)
除非对象实际上是SomeClass
或其子类的实例,否则无法将对象强制转换为SomeClass
。我认为扩展播放器类不是一个选项,因为你不能改变Bukkit.getPlayer()
返回的内容。您可以做的是将播放器对象包装在自定义User
类中,如下所示:
class User {
private Player player;
public User(Player player) {
this.player = player;
}
// your custom methods
}
将Player
更改为Bukkit.getPlayer()
返回的相应类型。然后你可以使用你的课程:
User user = new User(Bukkit.getPlayer("player_name"));
答案 1 :(得分:0)
您可以直接在CraftBukkit中修改CraftPlayer的源代码,然后使用CraftPlayer对象。