- Баллы
- 61
- Имя в Minecraft
- TheSeems
Доброго времени, в процессе написания плагина столкнулся с проблемой. Когда человек пытается заглушить игрока на время и с причиной, вместо первого слова причины выводятся 2, дальше все в порядке. Код и скрины ниже.

Код:
if(cmd.getName().equalsIgnoreCase("mute")){
//Игрок
if(sender instanceof Player){
if(PermissionsEx.getUser(sender.getName()).has("sw.mute")){
//Админ
if(PermissionsEx.getUser(sender.getName()).has("sw.admin")){
if(args.length == 0){
sender.sendMessage(pr + "Укажите ник игрока!");
return true;
}
if(args.length == 1){
mute(args[0], "Вы были замучены навсегда!", (Player) sender);
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда");
return true;
}
if(args.length == 2){
StringBuilder s1 = new StringBuilder();
if (args.length >= 2) {
s1.append(args[1]);
for (int i = 2; i < args.length; i++) {
s1.append(" ");
s1.append(args[i]);
}
}
String res = s1.toString();
mute(args[0], res, (Player) sender);
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда." + " Причина: '" + res + "'");
return true;
}
if(args.length >= 3){
StringBuilder s1 = new StringBuilder();
if (args.length >= 3) {
s1.append(args[2]);
for (int i = 2; i < args.length; i++) {
s1.append(" ");
s1.append(args[i]);
}
}
java.util.Timer timer2 = new java.util.Timer();
TimerTask task = new TimerTask() {
public void run()
{
unmute(args[0].toLowerCase(), (Player) sender);
}
};
try {
int es = new Integer(args[1]);
timer2.schedule(task, es*60000);
String res = s1.toString();
mute(args[0], res, (Player) sender);
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". На " + args[1] + " минут." + " Причина: '" + res + "'");
}catch (NumberFormatException e) {
sender.sendMessage(priority.pre() + "Указано не (целое) число!");
return false;
}
}
}
//Обычный
else{
if(args.length == 0){
sender.sendMessage(pr + "Укажите ник игрока!");
return true;
}
if(args.length == 1){
if(PermissionsEx.getUser(sender.getName()).has("mute.ever")){
if(priority.p(sender.getName())>priority.p(args[0])){
mute(args[0], "Вы были замучены навсегда!", (Player) sender);
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда");
return true;
}
else{
sender.sendMessage(priority.pre() + "Недостаточно приоритета, чтобы заткнуть этого пользователя");
sender.sendMessage(priority.pre() + "Логическая запись: §a" + priority.p(args[0]) + " §7>= §c" + priority.p(sender.getName()));
return true;
}
}
else{
sender.sendMessage(pr + "У Вас нет прав, чтобы мутить навсегда!");
return true;
}
}
if(args.length == 2){
if(priority.p(sender.getName())>priority.p(args[0])){
StringBuilder s1 = new StringBuilder();
if (args.length >= 2) {
s1.append(args[1]);
for (int i = 2; i < args.length; i++) {
s1.append(" ");
s1.append(args[i]);
}
}
String res = s1.toString();
mute(args[0], res, (Player) sender);
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда." + " Причина: '" + res + "'");
return true;
}
else{
sender.sendMessage(priority.pre() + "Недостаточно приоритета, чтобы заткнуть этого пользователя");
sender.sendMessage(priority.pre() + "Логическая запись: §a" + priority.p(args[0]) + " §7>= §c" + priority.p(sender.getName()));
return true;
}
}
if(args.length >= 3){
if(priority.p(sender.getName())>priority.p(args[0])){
java.util.Timer timer2 = new java.util.Timer();
TimerTask task = new TimerTask() {
public void run()
{
unmute(args[0].toLowerCase(), (Player) sender);
}
};
try {
StringBuilder s1 = new StringBuilder();
if (args.length >= 3) {
s1.append(args[2]);
for (int i = 2; i < args.length; i++) {
s1.append(" ");
s1.append(args[i]);
}
}
int es = new Integer(args[1]);
timer2.schedule(task, es*60000);
String res = s1.toString();
mute(args[0], res, (Player) sender);
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут игроком " + sender.getName() + ". На " + args[1] + " минут." + " Причина: '" + res + "'");
}catch (NumberFormatException e) {
sender.sendMessage(priority.pre() + "Указано не (целое) число!");
return false;
}
}
else{
sender.sendMessage(priority.pre() + "Недостаточно приоритета, чтобы заткнуть этого пользователя");
sender.sendMessage(priority.pre() + "Логическая запись: §a" + priority.p(args[0]) + " §7>= §c" + priority.p(sender.getName()));
return true;
}
}
}
}
else{
sender.sendMessage(cperm("mute"));
}
}
//Консоль
else{
if(args.length == 0){
sender.sendMessage(pr + "Укажите ник игрока!");
return true;
}
if(args.length == 1){
mute(args[0], "Вы были замучены навсегда!", (Player) getServer().getConsoleSender());
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут Консолью" + ". Навсегда");
return true;
}
if(args.length == 2){
StringBuilder s1 = new StringBuilder();
if (args.length >= 2) {
s1.append(args[1]);
for (int i = 2; i < args.length; i++) {
s1.append(" ");
s1.append(args[i]);
}
}
String res = s1.toString();
mute(args[0], res, (Player) getServer().getConsoleSender());
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут Консолью" + ". Навсегда." + " Причина: '" + res + "'");
return true;
}
if(args.length == 3){
StringBuilder s1 = new StringBuilder();
if (args.length >= 3) {
s1.append(args[1]);
for (int i = 2; i < args.length; i++) {
s1.append(" ");
s1.append(args[i]);
}
}
java.util.Timer timer2 = new java.util.Timer();
TimerTask task = new TimerTask() {
public void run()
{
unmute(args[0].toLowerCase(), (Player) getServer().getConsoleSender());
}
};
try {
int es = new Integer(args[1]);
timer2.schedule(task, es*60000);
String res = s1.toString();
mute(args[0], res, (Player) sender);
Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут Консолью" + ". На " + args[1] + " минут." + " Причина: '" + res + "'");
}catch (NumberFormatException e) {
sender.sendMessage(priority.pre() + "Указано не (целое) число!");
return false;
}
}
}
return true;
}