Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Логично, только вот не могу понять что, убрал replaceColoredMacros - не помогло, можно по-корректнее?
- Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
- at ru.xDark.xTagEdit.MAIN.XMAINCLASS.onCommand(XMAINCLASS.java:64)
Почему не используете конструкциюЗдравствуйте девелоперы! Возникает ошибка "An internal error occurred while attempting to perform this command".
Вот логи:
Главный класс:Код:2016-07-01 19:21:36 [INFO] xDark issued server command: /te set 2016-07-01 19:21:36 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'te' in plugin xTagEdit v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServer.java:523) at net.minecraft.server.v1_5_R3.PlayerConnection.handleCommand(PlayerConnection.java:966) at net.minecraft.server.v1_5_R3.PlayerConnection.chat(PlayerConnection.java:884) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:841) at net.minecraft.server.v1_5_R3.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:110) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:581) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at ru.xDark.xTagEdit.MAIN.XMAINCLASS.onCommand(XMAINCLASS.java:64) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ... 15 more
Заранее спасибо.CSS:package ru.xDark.xTagEdit.MAIN; import java.io.PrintStream; import org.bukkit.entity.Player; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfigurationOptions; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; public class XMAINCLASS extends JavaPlugin { PrintStream sys = System.out; public void onEnable() { FileConfiguration cfg = getConfig(); FileConfigurationOptions cfgOptions = cfg.options(); cfgOptions.copyDefaults(true); cfgOptions.copyHeader(true); saveConfig(); sys.println("[xTagEdit] Plugin enabled!"); } public void onDisable() { sys.println("[xTagEdit] Plugin disabled!"); } public boolean onCommand(CommandSender s, Command cmd, String label, String[] args) { Player sp = (Player)s; String command = ChatColor.GOLD + "[" + ChatColor.DARK_GREEN + "xTagEdit" + ChatColor.GOLD + "] "; if ((cmd.getName().equalsIgnoreCase("te"))) if (args.length == 0) if (s.hasPermission("xTagEdit.help")) { s.sendMessage(""); s.sendMessage(ChatColor.GREEN + "/te set [префикс] - " + ChatColor.YELLOW + "Установить префикс"); s.sendMessage(ChatColor.GREEN + "/te set [игрок] [префикс] - " + ChatColor.YELLOW + "Установить префикс другому игроку"); s.sendMessage(ChatColor.GREEN + "/te reset - " + ChatColor.YELLOW + "Сбросить префикс"); s.sendMessage(ChatColor.GREEN + "/te reset [игрок] - " + ChatColor.YELLOW + "Сбросить префикс другому игроку"); } if ((cmd.getName().equalsIgnoreCase("te"))) if (args.length == 1) if (args[0].equalsIgnoreCase("set")) if (s.hasPermission("xTagEdit.set")) { s.sendMessage(command + ChatColor.RED + "Слишком мало аргументов!"); s.sendMessage(command + ChatColor.GOLD + "/te set [префикс]"); } if ((cmd.getName().equalsIgnoreCase("te"))) if (args.length >= 2) if (args[0].equalsIgnoreCase("set")) if (s.hasPermission("xTagEdit.set")) { StringBuilder prefix = new StringBuilder(); if (args.length > 0) { prefix.append(args[1]); for (int i = 2; i < args.length; i++) { prefix.append(" "); prefix.append(args[i]); } sp.setPlayerListName(ChatColor.translateAlternateColorCodes('&', prefix + s.getName())); s.sendMessage(command + ChatColor.GOLD + "Установлен префикс: " + prefix); } } Player t = Bukkit.getPlayer(args[1]); if ((cmd.getName().equalsIgnoreCase("te"))) if (args.length >= 3) if (args[0].equalsIgnoreCase("set")) if (args[1].equals(t)) if (s.hasPermission("xTagEdit.set.others")) { if (t.isOnline()) { StringBuilder prefix = new StringBuilder(); if (args.length > 0) { prefix.append(args[2]); for (int i = 3; i < args.length; i++) { prefix.append(" "); prefix.append(args[i]); } t.setPlayerListName(replaceColorMacros(prefix + s.getName())); s.sendMessage(command + ChatColor.GOLD + " Установили префикс " + prefix + " для игрока " + t.getName()); } } } if ((cmd.getName().equalsIgnoreCase("te"))) if (args.length >= 3) if (args[0].equalsIgnoreCase("set")) if (args[1].equals(t)) if (s.hasPermission("xTagEdit.set.others")) { if (!t.isOnline()) { s.sendMessage(command + ChatColor.RED + "Игрок оффлайн!"); } } if ((cmd.getName().equalsIgnoreCase("te"))) if (args.length == 1) if (args[0].equalsIgnoreCase("reset")) if (s.hasPermission("xTagEdit.reset")) { sp.setPlayerListName(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("defaultprefix"))); s.sendMessage(command + ChatColor.GOLD + "Установлен стандартный префикс!"); } if ((cmd.getName().equalsIgnoreCase("te"))) if (args.length == 2) if (args[0].equalsIgnoreCase("reset")) if (args[1].equals(t)) if (s.hasPermission("xTagEdit.reset.others")) { t.setPlayerListName(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("defaultprefix"))); } return true; } public String replaceColorMacros(String str) { str = str.replace("&c", ChatColor.RED.toString()); str = str.replace("&4", ChatColor.DARK_RED.toString()); str = str.replace("&e", ChatColor.YELLOW.toString()); str = str.replace("&6", ChatColor.GOLD.toString()); str = str.replace("&a", ChatColor.GREEN.toString()); str = str.replace("&2", ChatColor.DARK_GREEN.toString()); str = str.replace("&b", ChatColor.AQUA.toString()); str = str.replace("&3", ChatColor.DARK_AQUA.toString()); str = str.replace("&9", ChatColor.BLUE.toString()); str = str.replace("&1", ChatColor.DARK_BLUE.toString()); str = str.replace("&d", ChatColor.LIGHT_PURPLE.toString()); str = str.replace("&5", ChatColor.DARK_PURPLE.toString()); str = str.replace("&0", ChatColor.BLACK.toString()); str = str.replace("&8", ChatColor.DARK_GRAY.toString()); str = str.replace("&7", ChatColor.GRAY.toString()); str = str.replace("&f", ChatColor.WHITE.toString()); str = str.replace("&0", ChatColor.BLACK.toString()); str = str.replace("&d", ChatColor.LIGHT_PURPLE.toString()); return str; } }
Потому-что для слабаков!Почему не используете конструкцию
switch() {
case:
}
?
У тебя ошибка "Выше предела массива" т.е. скорее всего длина массива - 1 (т.е. макс элемень - 0) а ты пытаешся получить args[1] (второй аргумент (которого нету)).Логично, только вот не могу понять что, убрал replaceColoredMacros - не помогло, можно по-корректнее?
Почему не используете конструкцию
switch() {
case:
}
?