I’m having a problem with my command.
When I run it in game it says that an internal server error has occurred while attempting to perform this command.
Also there is some very long text in the console that I will not attempt to type out because I will mess up very badly.
Also this is my first time using arguments so I may not be doing them right but it looks quite the same as a tutorial I viewed.
package me.mcmatt.squidcp;
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.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
public class Main extends JavaPlugin {
public void onEnable() {
Bukkit.getServer().getLogger().info("Squid CP booted up! Version: " + Bukkit.getPluginManager().getPlugin("SquidCarePackages").getDescription().getVersion());
}
public void onDisable() {
Bukkit.getServer().getLogger().info("Squid CP shut down!");
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (commandLabel.equalsIgnoreCase("squid")) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.RED + "You must be a player to run this command");
} else {
Player player = (Player) sender;
if (!(args[1].toString().equalsIgnoreCase("set"))) {
player.sendMessage("Gratz");
}
}
}
return true;
}
public WorldEditPlugin getWorldEdit() {
Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
if (p instanceof WorldEditPlugin) return (WorldEditPlugin) p;
else return null;
}
}
Unihedron
10.9k13 gold badges62 silver badges72 bronze badges
asked Jul 29, 2015 at 22:09
5
An internal error is most likely occurring because an ArrayIndexOutOfBoundsException
is being thrown when executing the squid
command without supplying enough arguments. Your code assumes that the args
array has at least length 2 and that therefore the second argument, args[1]
, exists. args[0]
is the first String
in the array. When typing in just «/squid» or even «/squid set» and not specifying any further arguments, the exception is thrown since the args
array is empty or does not contain a second element. Check whether the args
array has the correct length by adding a check such as if (args.length == 2) {}
or even if (args.length > 1) {}
.
I’m guessing you meant to access only the first String
in the args
array. Changing args[1]
to args[0]
would allow the command to work the way you probably intended. However, it would be good to still make sure that the array has the correct length to avoid causing that error when a player uses the command incorrectly by providing too few or no arguments at all.
answered Jul 29, 2015 at 22:46
Adrian SohnAdrian Sohn
1,2718 silver badges10 bronze badges
1
-
Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
-
Вы находитесь в сообществе Rubukkit. Мы — администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
Скрыть объявление
Помогите Произошла внутренняя ошибка при попытке выполнить эту команду
Тема в разделе «Помощь», создана пользователем Prefik, 17 июл 2018.
-
Не могу поставить кейсы не работает пишу /donatcase create и выдает Произошла внутренняя ошибка при попытке выполнить эту команду.
Везде искал не нашел ХЕЛП! -
Akame
Активный участник
Пользователь- Баллы:
- 76
- Имя в Minecraft:
- Akame
плагин не настроен, либо несовместим с использующей версией ядра
-
Подскажи если проблема в ядре какую версию плагина надо
-
Akame
Активный участник
Пользователь- Баллы:
- 76
- Имя в Minecraft:
- Akame
стабильная версия 1.12
И не рекомендую качать сборки, особенно старичков. -
Akame
Активный участник
Пользователь- Баллы:
- 76
- Имя в Minecraft:
- Akame
Вам 19 лет, чего не можете найти ? Google еще никого не банил просто так
-
Я там ищу и никак не могу найти эту версию
-
Akame
Активный участник
Пользователь- Баллы:
- 76
- Имя в Minecraft:
- Akame
А что вы вводите в поисковик? текст в студию
-
Буду благодарен за ссылочку
-
Akame
Активный участник
Пользователь- Баллы:
- 76
- Имя в Minecraft:
- Akame
-
Akame
Активный участник
Пользователь- Баллы:
- 76
- Имя в Minecraft:
- Akame
-
Скиньте плагин на кейсы на версию 1.6.4 (ток не Icase)
-
d1anjke
Активный участник
Пользователь- Баллы:
- 76
- Имя в Minecraft:
- LuYM
динозавр,переходи уже на новую версию.
Поделиться этой страницей
Войти или зарегистрироваться
-
Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
-
Вы находитесь в русском сообществе Bukkit. Мы — администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
Скрыть объявление
Файлы cookie
Добро пожаловать!
Помогите Произошла внутренняя ошибка при выполнении команды.
Тема в разделе «[Архив] Помощь», создана пользователем azat4610, 3 фев 2013.
-
azat4610
Старожил
Пользователь- Баллы:
- 173
Стоят два плагина последней версии:
MultiVerse под 1.4.5 и Iconomy 7 под 1.2.4.
При попытке выполнений команды:
MultiVerse: /mv gens
Iconomy: /money
Выходит ошибка: An internal error occurred while attempting to perform this command.
Список плагинов:
azat4610,
3 фев 2013
#1 -
azat4610
Старожил
Пользователь- Баллы:
- 173
Up
azat4610,
3 фев 2013
#2 -
snowgleb
Старожил
Пользователь- Баллы:
- 103
- Имя в Minecraft:
- gleb
Тоже такое было, но с AuthMe, я переустановил плагин и все…..:bm:
Если не помогло, то меняй ядро
snowgleb,
3 фев 2013
#3 -
azat4610
Старожил
Пользователь- Баллы:
- 173
Ядро как раз самое новое 1.4.7 R1.0. Переустановил Iconomy — стало всё норм. С MultiVerse также. Подожду Версию R1.1.
azat4610,
3 фев 2013
#4
МиднайтЖелаетВамДобра и Оригинало_о нравится это.
<
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Поделиться этой страницей
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
Поиск
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…
Внутренняя ошибка, скорее всего, происходит из-за ArrayIndexOutOfBoundsException
бросается при выполнении squid
Команда без предоставления достаточных аргументов. Ваш код предполагает, что args
массив имеет по крайней мере длину 2 и, следовательно, второй аргумент, args[1]
, существует. args[0]
это первый String
в массиве. При вводе просто «/squid» или даже «/squid set» и без указания каких-либо дополнительных аргументов, возникает исключение, так как args
массив пуст или не содержит второй элемент. Проверьте, args
массив имеет правильную длину, добавив проверку, такую как if (args.length == 2) {}
или даже if (args.length > 1) {}
,
Я предполагаю, что вы хотели получить доступ только к первому String
в args
массив. изменения args[1]
в args[0]
позволит команде работать так, как вы, вероятно, хотели. Тем не менее, было бы хорошо по-прежнему убедиться, что массив имеет правильную длину, чтобы избежать возникновения этой ошибки, когда игрок неправильно использует команду, предоставляя слишком мало аргументов или вообще не используя их.
Распространенной ошибкой при работе со многими программами является сообщение «an internal error occurred while attempting to perform this command» (возникла внутренняя ошибка при выполнении этой команды). Эта ошибка может возникать по разным причинам и требует индивидуального подхода к решению.
Причины ошибки
Нехватка ресурсов
Одной из причин ошибки может быть недостаток ресурсов. Если устройство не имеет достаточное количество свободного места на жестком диске, оперативной памяти или процессора, оно может не иметь возможности обработать команду, вызывающую ошибку.
Ошибки в работе программного обеспечения
Внутренняя ошибка может также возникнуть из-за ошибок программного обеспечения. Это может быть вызвано несовместимостью программных версий, ошибками при установке или неправильными настройками программы.
Проблемы с драйверами и оборудованием
Другой причиной ошибки может быть проблема с драйверами и оборудованием. Если драйвера не обновлены или несовместимы с операционной системой, то это может вызвать ошибку. Проблемы с оборудованием, такие как поврежденные или неисправные диски или другое оборудование, также могут вызвать ошибку.
Методы решения
Очистка ресурсов
Если ошибку вызвала нехватка ресурсов, вы можете освободить место на жестком диске или памяти. Для этого можно удалить ненужные файлы, программы или приложения, которые занимают много места.
Обновление программного обеспечения
Если ошибку вызывает программное обеспечение, вам необходимо обновить программу до последней версии. Это может устранить ошибку, если она связана с известными проблемами, которые были исправлены в новой версии.
Обновление драйверов
Если ошибку вызывают драйверы, вам необходимо обновить их до последней версии. Это может устранить ошибку, если она связана с известными проблемами, которые были исправлены в новой версии.
Проверка оборудования
Если вы подозреваете, что ошибка связана с оборудованием, вам необходимо проверить работу устройства. Это может включать проверку положения кабелей, замену батареек на клавиатуре или мыши или проверку целостности диска.
Обратиться в службу технической поддержки
Если ни один из методов не устранил ошибку, вы можете обратиться в службу технической поддержки. Они могут предоставить индивидуальный подход к решению проблемы, которая может быть вызвана другими причинами.
Заключение
Ошибка «an internal error occurred while attempting to perform this command» может быть вызвана различными причинами и требует индивидуального подхода к решению. Проверьте ресурсы, обновите программное обеспечение и драйверы, а также проверьте оборудование, прежде чем обращаться в службу технической поддержки.