- Баллы
- 66
- Имя в Minecraft
- op03
Приветствую вас.
При компиляции выдает ошибку:
Не удается конвертировать тип данных String в Player.
Мне нужно было сделать так, чтобы переменная username была указана на выводе сообщения:
Но если указать эту переменную (username) в функции sendMessage, то это вызывало ошибку.
Для устранения мне понадобилось указать вместо username указать user, это помогло избавиться от проблемы, как сразу возникла следующая:
При компиляции выдает ошибку:
Не удается конвертировать тип данных String в Player.
Код:
package adminreport.main;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Reply implements CommandExecutor{
private Object plugin;
public Reply(AdminReport adminReport) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(!sender.hasPermission("report.reply")) {
sender.sendMessage(ChatColor.DARK_RED + "[Ошибка] "+ ChatColor.WHITE +"У Вас нет прав.");
return true;
}
if(args.length < 2) {
sender.sendMessage(ChatColor.DARK_RED + "[Ошибка] "+ ChatColor.WHITE +"Недостаточно аргументов.");
return true;
}
Player user = args[0];
String username = user.getName();
String adminname = sender.getName();
String message = String.join(" ", args);
if(sender.hasPermission("report.reply")) {
sender.sendMessage(ChatColor.GREEN+"[PM] "+ChatColor.WHITE+"Администратор "+ChatColor.GREEN+adminname+ChatColor.WHITE+" для "+ChatColor.GREEN+username+ChatColor.WHITE+":");
sender.sendMessage("- "+message);
user.sendMessage(ChatColor.GREEN+"[PM] "+ChatColor.WHITE+"Администратор "+ChatColor.GREEN+adminname+ChatColor.WHITE+" ответил "+ChatColor.GREEN+"Вам"+ChatColor.WHITE+":");
user.sendMessage("- "+message);
return true;
}
return false;
}
}
Мне нужно было сделать так, чтобы переменная username была указана на выводе сообщения:
C этим я разобрался[PM] Администратор adminname для username:
Но если указать эту переменную (username) в функции sendMessage, то это вызывало ошибку.
Для устранения мне понадобилось указать вместо username указать user, это помогло избавиться от проблемы, как сразу возникла следующая:
Description Resource Path Location Type
Type mismatch: cannot convert from String to Player Reply.java /AdminReport/src/adminreport/main line 29 Java Problem
Последнее редактирование: