ServerPlugin Finde den Fehler nicht :(

Dieses Thema im Forum "Programmierung" wurde erstellt von DutyRainLP, 12. Juni 2016.

  1. DutyRainLP
    Offline

    DutyRainLP

    Registriert seit:
    8. Dezember 2015
    Beiträge:
    4
    Hallo ich bin zu blöd den Fehlercode auszulesen wo der Fehler liegt kann mir da bitte jmd helfen?



    Was ich vorhabe ist ein eigenes mute Plugin zu schreiben was den Spieler der den Mute bekommt einmal in eine Config schreibt (mutes." + target.getName() + ". mute) und dann schaut ob dort true oder false steht und je nach dem dann das Chatten blockt oder nicht aber ich komme nichtmal so weit das wenn man /mute (Spieler) eingibt das sich das false auf true ändert da kommen schon Fehler :(


    [20:14:32 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'mute
    ' in plugin Test v1.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spi
    got-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    1) ~[spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchCommand(CraftServ
    er.java:646) ~[spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.PlayerConnection.handleCommand(PlayerCo
    nnection.java:1348) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.jav
    a:1183) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.jav
    a:45) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.jav
    a:1) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.PlayerConnectionUtils$1.run(SourceFile:
    13) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_73]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_73]
    at net.minecraft.server.v1_10_R1.SystemUtils.a(SourceFile:45) [spigot-1.
    8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:
    733) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:
    399) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:
    672) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.jav
    a:571) [spigot-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_73]
    Caused by: java.lang.NullPointerException
    at me.dutyrainlp.test.mute.mute.onCommand(mute.java:29) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spi
    got-1.8.8.jar:git-Spigot-6016ac7-10c10b3]
    ... 15 more

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    Player p = (Player) sender;

    if(args.length == 1){
    Player target = Bukkit.getPlayer(args[0]);

    if(target != null){

    if(main.cfg.getString("mutes." + target.getName() + ". mute").equalsIgnoreCase("true")) {
    main.cfg.set("mutes." + target.getName(),true);
    p.sendMessage("§cSpieler §b" + target.getName() + " §centmutet");
    target.sendMessage("§aDu wurdest von §b" + p.getName() + " §aentmutet");
    try {
    main.cfg.save(main.f);
    } catch (IOException e) {
    e.printStackTrace();
    }

    }else if(main.cfg.getString("mutes." + target.getName() + ". mute").equalsIgnoreCase("false")) {
    main.cfg.set("mutes." + target.getName(),false);
    p.sendMessage("§aSpieler §b" + target.getName() + " §agemutet");
    target.sendMessage("§cDu wurdest von §b" + p.getName() + " §cgemutet");
    try {
    main.cfg.save(main.f);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }




    }else{
    p.sendMessage("§cSpieler ist derzeit nicht Online!");
    }




    }else{
    p.sendMessage("§cBitte Nutze /mute <Player>");
    }



    return true;
    }

    public static File f = new File("plugins/test", "mutes.yml");
    public static FileConfiguration cfg = YamlConfiguration.loadConfiguration(f);


    @Override
    public void onEnable() {
    Bukkit.getConsoleSender().sendMessage("§ePlugin geladen!");

    registerCMD();
    try {
    cfg.save(f);
    } catch (IOException e) {
    Bukkit.getConsoleSender().sendMessage("§cEin Fehler ist aufgetreten!");
    }


    Bukkit.getServer().getPluginManager().registerEvents(this, this);
    super.onEnable();
    }


    public void registerCMD(){
    getCommand("mute").setExecutor(new mute());
    }




    @EventHandler
    public void onJoin(PlayerJoinEvent e){
    if(main.cfg.get("mutes." + e.getPlayer().getName()) != null){
    main.cfg.set("mutes." + e.getPlayer().getName() + ". mute", false);
    try {
    cfg.save(f);
    } catch (IOException e1) {
    e1.printStackTrace();
    }
    }
    }

    }
     
    #1
  2. Verschraubt
    Online

    Verschraubt

    Irgendwas bei Zeile 29 gibt Null zurück. Was genau steht denn in der Zeile?
     
    #2
  3. DutyRainLP
    Offline

    DutyRainLP

    Registriert seit:
    8. Dezember 2015
    Beiträge:
    4

    try {
    main.cfg.save(main.f);
    } catch (IOException e) {
    e.printStackTrace();
    }


    die try methode
     
    #3
  4. Baba43
    Offline

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    Wenn es zu einer NullPointerException kommt, wird ein Feld oder eine Methode eines Objekts aufgerufen, das noch nicht existiert. Wenn du nicht anhand des Codes siehst, was genau null ist, kannst du alle beteiligten Felder und Methoden einfach mal ausgeben. Sobald du weißt, was null ist, musst du herausfinden, warum es zu der Zeit null ist.

    Das kriegst du hin :)
     
    #4
    Verschraubt und jensIO gefällt das.