• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Wo ist der Fehler?

JunkyKeks

Kuhfänger
Registriert
3 Januar 2016
Beiträge
55
Diamanten
302
Minecraft
JunkyKeks
Guten Tag,
ich suche verzweifelt seit gestern Abend nach dem Fehler...

Eventuell kann mir ja hier jemand weiterhelfen! Bevor Sachen kommen wie "Du solltest die Grundlagen von Java lernen", kann ich vorab wegnehmen, dass ich jeden Tag lerne.

http://pastebin.com/1wVwFEG4
 

JunkyKeks

Kuhfänger
Registriert
3 Januar 2016
Beiträge
55
Diamanten
302
Minecraft
JunkyKeks

GPSforLEGENDS

Vorarbeiter
Registriert
21 März 2014
Beiträge
289
Alter
85
Diamanten
300
Minecraft
GPSforLEGENDS
1:
Code:
System.out.println("[JunkyCraftDE] Plugin aktiviert!");
Es ist ja schön das du die Grundlagen von Java lernst, aber du solltest auch die Grundlagen von bukkit lernen...
2:
Code:
if(p.hasPermission("JunkyCraftDE.gs")) {
    } else {
!Wtf
3: Wenn nur der command ausgegeben wird dann endet dein code an der Stelle return false
 

jens1o

Workaholic
Registriert
28 Juli 2015
Beiträge
644
Alter
23
Diamanten
254
Minecraft
jens1o
Code:
if(p.hasPermission("JunkyCraftDE.gs")) {
    } else {

Hier wäre
Code:
if(!p.hasPermission("JunkyCraftDE.gs"))
sinnvoller, weil du dann sagst das du es nur nimmst wenn es nicht erfüllt ist anstatt direkt einen else Block zu haben.
 

Inkemann

Braumeister
Registriert
3 Mai 2015
Beiträge
339
Diamanten
301
Minecraft
Inkemann
Ich kann dir nur empfehlen Code ordentlich einzurücken. Dann wird der Fehler offensichtlich. Wenn der Spieler die Permission JunkyCraftDE.gs hat, wird direkt zu dem return false; gesprungen und deswegen nur /gs ausgegeben.
Code:
package me.JunkyCraft.de;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin implements Listener {
   
    public void onEnable() {
        System.out.println("[JunkyCraftDE] Plugin aktiviert!");
    }

    public void onDisable() {
        System.out.println("[JunkyCraftDE] Plugin deaktiviert!");
    }
   
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        Player p = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("gs")) {
            if(p.hasPermission("JunkyCraftDE.gs")) {
            } else {
                p.sendMessage("§7[§6JunkyCraftDE§7] §7Du hast dazu keine Berechtigung!");
                if (args.length == 1) {
                    if(args[0].equalsIgnoreCase("bekommen")) {
                        p.performCommand("p auto");
                        for(int i = 0; i < 50; i++)
                            p.sendMessage("");
                        p.sendMessage("§3§m---------------------------------------------------");
                        p.sendMessage("§7Willkommen auf deinem Grundstück!");
                        p.sendMessage("§7Hierhin gelangst du immer mit /gs tp");
                        p.sendMessage("§7Viel Spaß!");
                        p.sendMessage("§3§m---------------------------------------------------");
                    } else if(args[0].equalsIgnoreCase("tp")) {
                        p.performCommand("p home");
                        for(int i = 0; i < 50; i++)
                            p.sendMessage("");
                        p.sendMessage("§3§m---------------------------------------------------");
                        p.sendMessage("§7Willkommen auf deinem Grundstück!");
                        p.sendMessage("§7Viel Spaß!");
                        p.sendMessage("§3§m---------------------------------------------------");
                    } else {
                        p.performCommand("warp gs");
                        for(int i = 0; i < 50; i++)
                            p.sendMessage("");
                        p.sendMessage("§3§m---------------------------------------------------");
                        p.sendMessage("§3/gs bekommen §7| Bekomme ein Grundstück!");
                        p.sendMessage("§3/gs tp §7| Komme zu deinem Grundstück!");
                        p.sendMessage("§3§m---------------------------------------------------");
                        return true;
                    }
                    // for(int i = 0; i < 50; i++)p.sendMessage("");
                }
            }
        }
        return false;
    }
}
 

monst12

Minecrafter
Registriert
22 Januar 2013
Beiträge
4
Diamanten
0
Minecraft
monst12
Hey,

*Danke an Inkemann. Meinte frei Kopf, dass das eventuell helfen könnte.*
Ich hatte das Problem mal vor einer gefühlten Ewigkeit und meine es mit dem Entfernen der Permissions aus der plugin.yml und dem usage-Teil behoben zu haben. (Ich mochte das Permissionsystem von Buklit nicht besonders. Deshalb habe ich aus der plugin.yml einfach alles bis auf die desc entfernt.)
Zudem muss hier eben auch der Inhalt der onCommand Methode angepasst werden.
 
Zuletzt bearbeitet:

Inkemann

Braumeister
Registriert
3 Mai 2015
Beiträge
339
Diamanten
301
Minecraft
Inkemann
Hey,

Nur so nebenbei ist der Befehl "gs" gar nicht registriert. Auch wenn die Befehlsausführung in der Hauptklasse sitzt muss gesagt werden, dass auf den Befehl mit dieser Klasse reagiert werden soll.
Ein kleines this#getCommand("gs")#setCommandExecutor(this); in die onEnable-Methode dürfte abhelfen.
Dann darfst du aber noch, wie bereits gesagt etwas an der Methode rumwerkeln.
Wenn der Befehl in der Hauptklasse ausgeführt wird, muss er nur in der plugin.yml eingetragen werden.
 

GPSforLEGENDS

Vorarbeiter
Registriert
21 März 2014
Beiträge
289
Alter
85
Diamanten
300
Minecraft
GPSforLEGENDS
Hat sonst noch jemand eine Idee? Ich bekomme es nicht behoben.
Ja, lern vernünftig Java und dann Bukkit. Inkemann hat den Fehler jetzt schon so offensichtlich aufgezeigt das du Blind sein musst um das zu übersehen (selbst wenn man kein Java kann sieht man den).
Und wenn du schon wieder nach Hilfe fragen musst dann müsstest du (wenigstens) den aktualisierten Code posten.
 

JunkyKeks

Kuhfänger
Registriert
3 Januar 2016
Beiträge
55
Diamanten
302
Minecraft
JunkyKeks
Ja, lern vernünftig Java und dann Bukkit. Inkemann hat den Fehler jetzt schon so offensichtlich aufgezeigt das du Blind sein musst um das zu übersehen (selbst wenn man kein Java kann sieht man den).
Und wenn du schon wieder nach Hilfe fragen musst dann müsstest du (wenigstens) den aktualisierten Code posten.

<ironie> Deine Antwort hat mir sehr weitergeholfen! </ironie>
 

GPSforLEGENDS

Vorarbeiter
Registriert
21 März 2014
Beiträge
289
Alter
85
Diamanten
300
Minecraft
GPSforLEGENDS
<ironie> Deine Antwort hat mir sehr weitergeholfen! </ironie>
Meine Antwort war zu mindestens hilfreicher als es für uns:
Hallo,
ich habe gemacht, was ihr gesagt habt. Leider funktioniert es immernoch nicht.
war.

Wenn die onCommand Methode false zurück liefert wird dem Spieler die Nutzung des Commands ausgegeben. Wenn sie true zurückliefert wird alles ganz normal ausgeführt....
Also sorg einfach dafür das true zurückgeliefert wird
 
Zuletzt bearbeitet:
Oben