Reputation:
I am making a simple /heal
Bukkit plugin for CraftBukkit Beta Build 1.7.2 R0.3
. (I'm new to java.) I am programming in Eclipse. I'm getting an error that says:
Here is my code:
public boolean onCommand_heal(CommandSender sender, Command cmd, String commandLabel, String[] args){
Player player = (Player) sender;
if(commandLabel.equalsIgnoreCase("heal")){
if(args.length == 0){
player.setHealth(20);
player.setFireTicks(0);
player.sendMessage(ChatColor.GOLD + "You are healed!");
}else if(args.length == 1){
if(player.getServer().getPlayer(args[0]) !=null){
Player targetPlayer = player.getServer().getPlayer(args[0]);
targetPlayer.setHealth(20);
player.sendMessage(ChatColor.GOLD + "Player Healed!");
}else{
player.sendMessage(ChatColor.RED + "PLAYER NOT ONLINE!");
}
}
}
return false;
}
Upvotes: 1
Views: 469
Reputation: 23596
Try doing this:
Player targetPlayer = Bukkit.getServer().getPlayer(args[0]);
//or this:
Player targetPlayer = plugin.getServer().getPlayer(args[0]);
instead of
Player targetPlayer = player.getServer().getPlayer(args[0]);
and the same thing here, replace:
if(player.getServer().getPlayer(args[0]) !=null){
with:
if(Bukkit.getServer().getPlayer(args[0]) != null){
Also, you should always use floats
when setting health since a recent Bukkit update. setHealth(int)
is deprecated, and replaced with setHealth(float)
, so try:
targetPlayer.setHealth(20.0f);
Upvotes: 2