Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Постоянное возвращение false при выполнении команд

Статус
Закрыто для дальнейших ответов.

SenProd

Ньюби
Баллы
1
Имя в Minecraft
Senate
Добрый вечер, я пишу плагин на дополнительные команды для сервера, все идеально работало, но вот стоило мне сегодня добавить ещё одну команду и всё перестало работать, и да я переименовал package, но везде все указал, не думаю что проблема в этом.
При вводе команды на сервер выводится usage из plugin.yml, хотя даже в onCommands вообще нету return false
 
Лучше кодом поделись, иначе дело может не сдвинуться.
 
Добрый вечер, я пишу плагин на дополнительные команды для сервера, все идеально работало, но вот стоило мне сегодня добавить ещё одну команду и всё перестало работать, и да я переименовал package, но везде все указал, не думаю что проблема в этом.
При вводе команды на сервер выводится usage из plugin.yml, хотя даже в onCommands вообще нету return false
скорее всего setExecutor(); не поставил.
 
Ошибка может быть и в самом блоке кода команды, кинь код хоть
 
Код:
package senprodcodes.MintCommands;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class MintCMD_rcon implements CommandExecutor
{
    private MainClass plugin;
    
    public MintCMD_rcon(MainClass mainClass)
    {
        this.plugin = mainClass;
    }

    @Override
    public boolean onCommand(CommandSender cs, Command cmd, String str, String[] args)
    {
        if (args.length == 0)
        {
            if (cs instanceof Player)
            {
                final  Player pl = (Player) cs;
                if (pl.hasPermission("MintTime.rcon"))
                {
                    
                    if(MainClass.rconList.contains(pl))
                    {
                        MainClass.rconList.remove(pl);
                        pl.sendMessage(plugin.getConfig().getString("messages.rcon.rcon_disable").replace("&","\u00a7"));
                    }
                    else
                    {
                        MainClass.rconList.add(pl);
                        pl.sendMessage(plugin.getConfig().getString("messages.rcon.rcon_enable").replace("&","\u00a7"));
                    }
                }
                else
                {
                    pl.sendMessage(plugin.getConfig().getString("messages.noperm").replace("&","\u00a7"));
                }
            }
            return true;
        }
        return false;
    }
}
Лучше кодом поделись, иначе дело может не сдвинуться.
Ошибка может быть и в самом блоке кода команды, кинь код хоть
 
Вот, например, код команды включения режима перехвата команд, ещё есть код листенера, если надо могу скинуть
 
Ах да, тут я уже поставил return false чтобы проверить, без него тоже не работает
 
Код:
package senprodcodes.MintCommands;

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;

import me.clip.placeholderapi.PlaceholderAPI;

public class MintListener implements Listener
{
    private MainClass plugin;
    
    public MintListener(MainClass mainClass)
    {
        this.plugin = mainClass;
    }
    @EventHandler
    public void onCommand(final PlayerCommandPreprocessEvent event)
    {
        for (final Player pl1 : MainClass.rconList)
        {
            Player pl2 = event.getPlayer();
            pl1.sendMessage(PlaceholderAPI.setPlaceholders(pl2, plugin.getConfig().getString("messages.rcon.rcon_cmd_format").replace("&","\u00a7").replace("{playername}","" + pl2.getName() + "").replace("{message}", "" + event.getMessage() + "").replace("{playerprefix} ", "%vault_rankprefix%")));
        }
    }
}
 
Таким темпом ты только 1 команду зарегестрировать сможешь. Создавай новые классы и там эти команды делай. Это и удобнее и у тебя не будет этого
Код:
@Override
    public void onEnable() {
        getCommand("Твоя команда").setExecutor(new Класс_С_Командой());
}
не забудь экспортировать класс и добавить команду в plugin.yml :good:
 
Таким темпом ты только 1 команду зарегестрировать сможешь. Создавай новые классы и там эти команды делай. Это и удобнее и у тебя не будет этого
Код:
@Override
    public void onEnable() {
        getCommand("Твоя команда").setExecutor(new Класс_С_Командой());
}
не забудь экспортировать класс и добавить команду в plugin.yml :good:
Нет, просто будет все в одном обработчике. Костыльно и не читабельно.
 
Нет, просто будет все в одном обработчике. Костыльно и не читабельно.
Так он то не догадаться по названию обращаться к самой команде, а классами в разы проще. По крайней мере новичкам
 
Таким темпом ты только 1 команду зарегестрировать сможешь. Создавай новые классы и там эти команды делай. Это и удобнее и у тебя не будет этого
Код:
@Override
    public void onEnable() {
        getCommand("Твоя команда").setExecutor(new Класс_С_Командой());
}
не забудь экспортировать класс и добавить команду в plugin.yml :good:
Так он то не догадаться по названию обращаться к самой команде, а классами в разы проще. По крайней мере новичкам
Нет, просто будет все в одном обработчике. Костыльно и не читабельно.
Я забыл скинуть код главного класса, изначально так и делал
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх