- Баллы
- 173
Есть табличка Sign sign, при /arena setsign пишет "[Miniger] Табличка привязана", однако на табличке при sign.setLine(0, "текст") ничего не появляется:
Java:
public class ArenaCommand implements CommandExecutor {
String name = "";
Location join = null, start = null, end = null;
int maxplayers = 0;
Sign sign = null;
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("arena") && sender instanceof Player && args.length >= 1) {
Player p = (Player) sender;
if (p.hasPermission("miniger.arena.create")) {
//...
if (args[0].equalsIgnoreCase("setsign")) {
BlockState bs = p.getTargetBlock(null, 5).getState();
if ((bs != null) && (bs instanceof Sign)) {
sign = (Sign) bs;
if (args.length >= 2) sign.setLine(0, args[1]);
p.sendMessage("§2[Miniger] §aТабличка привязана");
} else {
p.sendMessage("§4[Miniger] §cТабличка не найдена");
}
} else if (args.length >= 2 && args[0].equalsIgnoreCase("setmax") && args[1] != "") {
try {
maxplayers = Integer.parseInt(args[1]);
if (maxplayers < 2 || maxplayers > 100) {
p.sendMessage("§4[Miniger] §cНедопустимое количество игроков");
return true;
}
} catch (NumberFormatException e) {
p.sendMessage("§4[Miniger] §cКоличество игроков должно быть числом");
return true;
}
p.sendMessage("§2[Miniger] §aМаксимум §e"+maxplayers+"§a игроков");
} else if (args[0].equalsIgnoreCase("reset")) {
resetArena();
p.sendMessage("§2[Miniger] §aВсе параметры удалены");
} else if (args[0].equalsIgnoreCase("finish")) {
if (name == "") {
p.sendMessage("§4[Miniger] §cСперва создайте арену: /arena create <имя>");
return true;
} else if (maxplayers == 0) {
p.sendMessage("§4[Miniger] §cНе указан максимум игроков");
return true;
} else if (join == null || end == null || start == null) {
p.sendMessage("§4[Miniger] §cНе все точки указаны");
return true;
}
sign.setLine(1, name);
Manager.getManager().createArena(name, join, start, end, maxplayers, sign);
p.sendMessage("§2[Miniger] §aАрена §e"+name+"§a успешно создана");
resetArena();
return true;
}
} else {
p.sendMessage("§4[Miniger] §cВы не можете создавать арены");
return true;
}
if (p.hasPermission("miniger.arena.tp") && args.length >= 2) {
if (args[0].equalsIgnoreCase("tojoin")) {
p.teleport(Manager.getManager().getArena(args[1]).getJoinLocation());
} else if (args[0].equalsIgnoreCase("toend")) {
p.teleport(Manager.getManager().getArena(args[1]).getEndLocation());
} else if (args[0].equalsIgnoreCase("tostart")) {
p.teleport(Manager.getManager().getArena(args[1]).getStartLocation());
}
}
}
return false;
}
private void resetArena() {
name = "";
join = null;
end = null;
start = null;
maxplayers = 0;
sign = null;
}
}
Последнее редактирование: