Skocz do zawartości
  • 0

Argument


maxcom1

Pytanie

Hej.

Mam kod:

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().equalsIgnoreCase("el")) {
            Boolean hw;
            if (args.length == 1 && args[0].equalsIgnoreCase("Reload")) {
                ;
                if (sender instanceof Player) {
                    if (sender.hasPermission("el.reload")) {
                        this.reloadConfig();
                        this.saveConfig();
                        getServer().getConsoleSender().sendMessage(ChatColor.RED + "[ppl] by maxcom1");
                        getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "Przeładowano config!");
                        sender.sendMessage(ChatColor.GREEN + "Przeładowano config!");
                    } else {
                        sender.sendMessage("&cNie posiadasz uprawnień do użycia tej komendy.");
                    }
                } else if (args.length == 1 && args[0].equalsIgnoreCase("Info")) { ;
                    if (sender instanceof Player) {
                        if (sender.hasPermission("el.Info")) {
                            sender.sendMessage(" §8§m--------§r §ctest §8§m--------§r ");
                            Boolean thing1 = getConfig().getBoolean("enable");
                            if (thing1 == true) {
                                sender.sendMessage("  §7Blokada eksplozji: &aWłączona");
                            } else {
                                sender.sendMessage("  §7Blokada eksplozji: &cWyłączona");
                            }
                        } else {
                            sender.sendMessage("&cNie posiadasz uprawnień do użycia tej komendy.");
                        }
                    }
                }
            else {
                sender.sendMessage(" §8§m--------§r §cel §8§m--------§r ");
                sender.sendMessage("  §3/explock info §8- §7Pokazuje informacje");
                sender.sendMessage("  §3/explock reload §8- §7Przeładowuje plugin");
                sender.sendMessage(" §8§m--------§r §cel §8§m--------§r ");
                }
            }
        }
        return false;
    }

Argument "reload" działa, ale "Info" i else (które odpowiada za wyświetlenie help) nie działa. Wie ktoś jak to naprawić? (0 błędów w mc i intellij)

Proszę o pomoc!

Odnośnik do komentarza
https://skript.pl/temat/39921-argument/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Błąd znajduje się tu:

} else if (args.length == 1 && args[0].equalsIgnoreCase("Info")) { ;

a dokładniej chodzi o złe umiejscowienie tej linijki, bo odwołuje się ona do

if (sender instanceof Player) {
Edytowane przez Fadex
Odnośnik do komentarza
https://skript.pl/temat/39921-argument/#findComment-250154
Udostępnij na innych stronach

  • 0

1. Nie używaj obiektu Boolean tylko samo boolean (niby to ma małe znaczenie ale np. w obiekcie może ci wywalić nulla)

2. Kolorowanie nie zadziała np. w tym przypadku:

W dniu 17.06.2020 o 15:03, maxcom1Games napisał:

sender.sendMessage("&cNie posiadasz uprawnień do użycia tej komendy.")

Bukkit ma gotową metodę ChatColor.translateAlternateColorCodes('&', "&2kolorki xdSADsad &bdf");

3. Else powinno być w linii prostej z argumentem czyli np.

if (args[0].equals("komenda1")) {
	/kod
} else if (args[0).equals("komenda2") {
	/kod

 

W dniu 17.06.2020 o 15:03, maxcom1Games napisał:

Boolean thing1 = getConfig().getBoolean("enable"); if (thing1 == true) { sender.sendMessage(" §7Blokada eksplozji: &aWłączona"); } else { sender.sendMessage(" §7Blokada eksplozji: &cWyłączona"); }

4. Boolean mozna sprawdzić po prostu poprzez:

if (boolean) { /true
if (!boolean) /false

 

Edytowane przez kerpson
No i jak chcesz nauczyć się pisać pl to staraj się jak najmniej kopiować kodu, bo u cb wygląda to na typową sklejkę
Odnośnik do komentarza
https://skript.pl/temat/39921-argument/#findComment-250155
Udostępnij na innych stronach

  • 0

Tak, zapomniałem napisać że mniej więcej pod koniec było za dużo klamer oraz było źle umiejscowione, + te kolory.

Teraz działa wszystko oprócz else, a kod jest ok bo był sprawdzany przez znawców :P

Odnośnik do komentarza
https://skript.pl/temat/39921-argument/#findComment-250174
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...