Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Dlaczego to nie działa?


Rekomendowane odpowiedzi

Opublikowano

Siemaneczko!

Uczę się pisać pluginy pod bukkita według "Youtubera" Feaq16.

 

Według jednego jego filmiku, po wpisaniu komendy "/podpal" lub "/podpal sd12e" powinno pojawić się "Poprawne uzycie tej komendy to: /Podpal <Nick gracza> <Czas>", ale się nie pojawia. Mam identyczne ustawienie wszystkich "Tab'ów" "if'ów" i "else'ów", ale nie działa... Nie wiem czemu..

 

Chcę się naprawdę nauczyć i chce jak najszybszej odpowiedzi :)

 

 

 

public class Podpalenie extends JavaPlugin{
    public void onEnable() {
        getLogger().info("-----------------------");
        getLogger().info("Plugin zostal wlaczony!");
        getLogger().info("-----------------------");
    }
    public void onDisable() {
    }
    public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) {
        if(cmd.equalsIgnoreCase("Podpal")){
            Player p = (Player) sender;
            if(sender instanceof Player) {
                int czas = Integer.parseInt(args[1]);
                if(args.length == 2) {
                    Player cel = p.getServer().getPlayer(args[0]);
                    p.sendMessage("Podpaliles gracza " + cel + " n a" + (czas) + " sekund.");
                    cel.setFireTicks(czas*20);
                }
                else{
                    p.sendMessage("Poprawne uzycie tej komendy to: /Podpal <Nick gracza> <Czas>");
                }
            }
        }
        return false;
    }
}

 


 

Cześć!

Jeżeli odpowiedziałem akurat w tym temacie, którym się interesujesz lub sam go założyłeś to wiedz, że dopóki nie rozwiążemy problemu, zagwozdki, czy po prostu nie rozwiejemy Twoich wątpliwości będę śledzić ten temat.

 

Nie rzucam słów na wiatr, więc i ty też tego nie rób.

 

Pozdrawiam,

S0L1D3R

Opublikowano

1. Zarejestruj tą komendę w onEnable().

2.

Player p = (Player) sender;

jest przed

if(sender instanceof Player) {

Czyli to sprawdzanie jednak niema sensu ponieważ już zmusiłeś CommandSendera to bycia Playerem. Obróc to.

Opublikowano

@Ref

 

 

@Up!

Zrobiłem jak kazałeś, ale nie działa.

 

@All

Jakieś inne rozwiązania?!

Cześć!

Jeżeli odpowiedziałem akurat w tym temacie, którym się interesujesz lub sam go założyłeś to wiedz, że dopóki nie rozwiążemy problemu, zagwozdki, czy po prostu nie rozwiejemy Twoich wątpliwości będę śledzić ten temat.

 

Nie rzucam słów na wiatr, więc i ty też tego nie rób.

 

Pozdrawiam,

S0L1D3R

Opublikowano

ale co ci pisze? działają ci jakie kolwiek komendy? dobrze masz ustawiony plugin.yml?

 

plugin działa jak wpiszesz /podpal cos cos cos to pisze poprawne użycie.. a jak wpiszesz /podpal gracz 1 to podpala ale jest tu parę błędów

Moje Pluginy!

1.Cobble Drop

Jak Możesz To Daj Lajka,Życie To Nie Bajka :D

Ciekawostka Minecraft możesz mieć max 32767 Lvl ponieważ przy 32768 Lvl znika ci napis z twoim aktualnym LVL`em

Potrzebujesz jakiegoś spigota,craftbukkita lecz nie możesz go znaleźć(DMCA)? Wejdź Tutaj!!

Opublikowano

@Tak

Wszystko jest dobrze ustawione w plugin.yml...

 

Zamiast tekstu, pojawia mi się błąd i dosłownie cała batalia błędów w konsoli..

Cześć!

Jeżeli odpowiedziałem akurat w tym temacie, którym się interesujesz lub sam go założyłeś to wiedz, że dopóki nie rozwiążemy problemu, zagwozdki, czy po prostu nie rozwiejemy Twoich wątpliwości będę śledzić ten temat.

 

Nie rzucam słów na wiatr, więc i ty też tego nie rób.

 

Pozdrawiam,

S0L1D3R

Opublikowano

dobra masz tu przerobione przeze mnie nie ma żadnych błędów oraz masz komentarze więc ogarniesz co i jak :D

 

public class Podpalenie extends JavaPlugin implements Listener{
    public void onEnable() {
        getLogger().info("-----------------------");
        getLogger().info("Plugin zostal wlaczony!");
        getLogger().info("-----------------------");
    }
    public void onDisable() {
    }
    public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) {
        if(cmd.equalsIgnoreCase("Podpal")){
            Player p = (Player) sender;
            if(sender instanceof Player) {
            	if(args.length < 2){//jeżeli wpiszesz mniej niż 2 argumenty
            		p.sendMessage("Poprawne uzycie tej komendy to: /Podpal <Nick gracza> <Czas>");
            		return true;//dzięki temu nie pisze pod tym /podpal
            	}
            	if(args.length > 2){//jeżeli wpiszesz więcej niż 2 argumenty
            		p.sendMessage("Poprawne uzycie tej komendy to: /Podpal <Nick gracza> <Czas>");
            		return true;
            	}
            	if(args.length == 2){//jeżeli będą 2 argumenty
            		if(p.getServer().getPlayer(args[0]) != null){//sprawdza czy gracz jest na serwerze jeżeli jest
            			Player cel = p.getServer().getPlayer(args[0]);//zamienia argument na gracza
            			int czas = Integer.parseInt(args[1]);//zamienia argument na czas
            			p.sendMessage("Podpaliles gracz " + cel.getName() + " na " + czas + " sekund");//wysyla wiadomosc w której pobiera nick cel i czas
            			cel.setFireTicks(czas*20);//podpala cel
            			return true;
            		}else{//jeżeli nie ma gracza na serwerze
            			p.sendMessage("Tego gracza nie ma na serwerze");
            			return true;
            		}
            	}
            }
        }
        return false;
    }
}

 

 

 

@offtopic 999 post :D

Moje Pluginy!

1.Cobble Drop

Jak Możesz To Daj Lajka,Życie To Nie Bajka :D

Ciekawostka Minecraft możesz mieć max 32767 Lvl ponieważ przy 32768 Lvl znika ci napis z twoim aktualnym LVL`em

Potrzebujesz jakiegoś spigota,craftbukkita lecz nie możesz go znaleźć(DMCA)? Wejdź Tutaj!!

Opublikowano

@up dziwne to twoje jest

zamiast tego 

 

        if(p.getServer().getPlayer(args[0]) != null){//sprawdza czy gracz jest na serwerze jeżeli jest
            Player cel = p.getServer().getPlayer(args[0]);//zamienia argument na gracza

lepiej to 


   Player target = Bukkit.getPlayerExact(args[0]);
        if (target == null)
        {
          player.sendMessage(ChatColor.DARK_RED + "Podany gracz nie jest online!");
          return false;
[code]
Opublikowano

@up dlaczego lepiej? przecież działa tak samo :\

 

@offtopic 1000 Post :D

Moje Pluginy!

1.Cobble Drop

Jak Możesz To Daj Lajka,Życie To Nie Bajka :D

Ciekawostka Minecraft możesz mieć max 32767 Lvl ponieważ przy 32768 Lvl znika ci napis z twoim aktualnym LVL`em

Potrzebujesz jakiegoś spigota,craftbukkita lecz nie możesz go znaleźć(DMCA)? Wejdź Tutaj!!

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...