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

[Problem] Autorski plugin.


Nitex03

Rekomendowane odpowiedzi

Opublikowano

Błąd:

http://pastebin.com/uDm0jPvt

kawałek kodu:

 

/g stwórz:

http://pastebin.com/z1155wJ1

kawałek metody "createGuild":

	public void createGuild(String tag, String name, String leader){
		Player player = Bukkit.getPlayerExact(leader);
		User user = new User(player);
		Guild guild = new Guild(tag);
		guild.setKills(user.getKills());
		guild.setDeaths(user.getDeaths());

kawałek klasy Guild:

http://pastebin.com/cGLfnqkN
Opublikowano

@rafszy122 może coś wiecej?, plik users.yml, i guilds.yml nie generuje się.

cały problem z naprawieniem błędów, to nauka ich czytania, musisz wiedzieć co powoduje dany błąd, oraz rozumieć zapis:

org.bukkit.command.CommandException: Unhandled exception executing command 'g' in plugin guilds v1.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[minecraft.jar:git-Spigot-1649]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[minecraft.jar:git-Spigot-1649]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [minecraft.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [minecraft.jar:git-Spigot-1649]
Caused by: java.lang.NullPointerException
        at com.gmail.nituspl.guilds.data.User.getGroup(User.java:73) ~[?:?]
        at com.gmail.nituspl.guilds.commands.GuildCommand.onCommand(GuildCommand.java:36) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[minecraft.jar:git-Spigot-1649]
        ... 13 more

masz tam 

org.bukkit.command.CommandException: Unhandled exception executing command 'g' in plugin guilds v1.0

jest to typowy jakiś błąd z bukkita, i nie ma w nim nic specjalnie interesującego.

Jest on jednak wywołany przez inny błąd: "Caused by" 

Caused by: java.lang.NullPointerException

NullPointerException, czyli coś jest nullem,

i tam już masz:

        at com.gmail.nituspl.guilds.data.User.getGroup(User.java:73) ~[?:?]
        at com.gmail.nituspl.guilds.commands.GuildCommand.onCommand(GuildCommand.java:36) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[minecraft.jar:git-Spigot-1649]

I taki  błąd (NullPointer) może wyrzucić jakaś metoda, sprawdzając poprawność argumentów, ale wtedy było by ją tam widać, tutaj widzimy tylko 2 ciekawe linijki:

at com.gmail.nituspl.guilds.data.User.getGroup(User.java:73) ~[?:?]
at com.gmail.nituspl.guilds.commands.GuildCommand.onCommand(GuildCommand.java:36) ~[?:?]

Czyli błąd wystąpił w klasie "com.gmail.nituspl.guilds.data.User" i linijce "73", i dodatkowo widać też że chodzi o metodę "getGroup"

czyli w tej 73 linijce coś jest nullem, najczęściej jest to coś w stylu:

Object tenObjektJestNullem = null;
tenObjektJestNullem.toString(); // wykonujesz metodę na niczym, więc java wywali error

a każda kolejna linijka błędu pokazuje skąd została wywołana ta metoda, czyli w klasie "com.gmail.nituspl.guilds.commands.GuildCommand", w linijce 36, odwołujesz się do tej metody "getGroup" z klasy  "com.gmail.nituspl.guilds.data.User", gdzie w 73 linijce pojawił się error.

 

 

W najprostszych błędach wystarczy ci tylko znajomość tej pierwszej linijki związanej z twoim kodem, zaglądasz do kodu, i szukasz, jaka zmienna, i dlaczego może być nullem.

 

Ale jak kod jest bardziej zaawansowany może pojawić się potrzeba, sprawdzenia co się działo, zanim to się wykonało ;)

1438614356923701010629.png

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...