我正在关注YouTube教程,但我遇到了这个错误。
在这一行,@SuppressWarnings("deprecation")
出现了。
Player targerPlayer = Bukkit.getServer().getPlayer(args[0]);
这是我简单的治疗插件。
package me.roofer.youtube;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
public class youtube extends JavaPlugin {
public static Logger logger = Logger.getLogger("Minecraft");
public static youtube plugin;
@Override
public void onDisable() {
PluginDescriptionFile pdfFile = this.getDescription();
youtube.logger.info(pdfFile.getName() + " has been disabled!");
}
@Override
public void onEnable() {
PluginDescriptionFile pdfFile = this.getDescription();
youtube.logger.info(pdfFile.getName() + " Version" + pdfFile.getVersion() + " has been Enabled!");
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
@SuppressWarnings("unused")
Player player = (Player) sender;
if(commandLabel.equalsIgnoreCase("heal") || commandLabel.equalsIgnoreCase("h")) {
// heal >> 0 args | heal roofer777 >> 1 arg
if (args.length == 0){
player.setHealth(20);
player.sendMessage(ChatColor.RED + "Healed!");
}else if(args.length == 1){
@SuppressWarnings({"unused", "deprecation"})
Player targerPlayer = Bukkit.getServer().getPlayer(args[0]);
targetPlayer.setHealth(20);
}
}
return false;
}
}
答案 0 :(得分:2)
这不是错误。 您应该阅读the definition of deprecation。
注释@Deprecated的程序元素是程序员不鼓励使用的程序元素,通常是因为它很危险,或者因为存在更好的替代方案。当在不推荐使用的代码中使用或覆盖已弃用的程序元素时,编译器会发出警告。
不推荐使用该特定方法的原因是因为Bukkit现在转移到新的UUID系统,因此使用名称不是获取Player
对象的最佳方法。