Kryter Posted April 15, 2013 Share Posted April 15, 2013 Hey, ich mal wieder mit nem kleinen Problem. Werd mich wahrscheinlich des öfteren melden in nächster Zeit Als Verbesserungsvorschlag bei this.getCommand("tut").setExecutor(new GSCommand()); nennt er mir folgende Möglichkeit this.getCommand("tut").setExecutor(new GSCommand(null)); doch da erhalte ich beim Ausführen des Befehls einen Error, das selbe bei this.getCommand("tut").setExecutor(new GSCommand(this)); Also wie definiere ich den Executor? Ich hoffe mir kann wer helfen. Danke im Voraus. Link to comment Share on other sites More sharing options...
Arkanus Posted April 15, 2013 Share Posted April 15, 2013 das selbe bei this.getCommand("tut").setExecutor(new GSCommand(this)); Warum bekommst du da einen Error? Da sollte das eig gehen. Es wird ja rot unterschlängelt. Fahr mal mit der Maus drüber und schreib mal den Error. Link to comment Share on other sites More sharing options...
Kryter Posted April 15, 2013 Author Share Posted April 15, 2013 Also in Eclipse selbst erhalte ich keine Fehler mehr, jedoch beim ausführen des Commands. Das ich keine Permissions habe wenn ich nicht OP bin realisiert er noch, aber den Befehl selbst kann er nicht ausführen. Ich bin mir sicher das ich nur nen klitzekleinen Fehler i-wo habe, aber komme im Moment nicht drauf wo dieser liegt. Link to comment Share on other sites More sharing options...
Arkanus Posted April 15, 2013 Share Posted April 15, 2013 Das liegt nicht am Executer, sondern an deiner Config. Bei der Stelle wo du die Koordinaten in der Config abrufst (Unter deinem Kommentar "//Config Loader"), wird irgendwo null zurückgeliefert. Ich würde dort mit System.out.println(); die 4 Variablen abfragen. Link to comment Share on other sites More sharing options...
Kryter Posted April 15, 2013 Author Share Posted April 15, 2013 Hm, bevor ich das ganze in ne neue Class gepackt habe mit Executor hat aber alles noch wunderbar funktioniert, aber gut, kennst dich da um Welten besser aus als ich. Dann werd ich das mal so versuchen, danke dir Ach halt, ich habe eben den Fehler gefunden Ich habe versehentlich die ganzen options gelöscht die in die Config geschrieben werden sollen. Kein Wunder das er da nix finden kann und null zurück gegeben wird Link to comment Share on other sites More sharing options...
Arkanus Posted April 15, 2013 Share Posted April 15, 2013 Ok das erklärts Dachte nämlich schon der Path, den du angibst, wäre falsch. Das sind nämlich die gängigsten Fehler bei der Config Link to comment Share on other sites More sharing options...
Kryter Posted April 15, 2013 Author Share Posted April 15, 2013 Bin aber auch erst nicht drauf gekommen, da ich dachte ich hätte es mit in die GSCommand gepackt, doch als ich eben mal nachgesehen hatte, bzw. dank deinem letzten Post, merkte ich, das da gar nix in der Config steht und auch nicht im Projekt Jedoch habe ich nun ein nächstes Problem. Der Befehl /tut gs geht nun, so wie ich es wollte, doch wenn ich lediglich /tut aufrufe, erscheint folgender Fehler in der Console: blablabla, ganz viel Text, blablabla Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at me.kryter.GSCommand.onCommand<GSCommand.java:35> at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) Ich nehme an, das er zwar den Befehl /tut gs aufrufen kann, da der Befehl Ingame halt auch funktioniert ohne jegliche Fehlermeldung, doch beim Befehl /tut ist i-was verkehrt, komme nur nicht drauf was es sein könnte, da es eigentlich soweit richtig gecoded ist, wenn mich mein Anfängerhirn nicht täuscht Link to comment Share on other sites More sharing options...
Arkanus Posted April 15, 2013 Share Posted April 15, 2013 Ersteinmal zum klarstellen: Wenn du /tut eingibst, existieren keine Parameter, deswegen ist args[0] = null. Da du jetzt aber mit if(args[0].equalsIgnoreCase("gs")) auf das 0-te Item in dem Array zugreifen willst, schmeißt der eine 'ArrayIndexOutOfBoundsException. Das 0-te Item exitiert nicht! Deswegen würde ich das so machen: if(args.length == 0){p.sendMessage("Bitte gib '/tut gs' ein.);} else if(args[0].equalsIgnoreCase("gs")) {//usw...} Link to comment Share on other sites More sharing options...
Kryter Posted April 15, 2013 Author Share Posted April 15, 2013 Ach natürlich... Die Fehler sind so simple und doch übersieht man sie leicht Ich dachte der command /tut würde beim arg mit aufgerufen werden, aber ist ja klar, wenn der nicht deklariert ist, bzw. nicht weiß was er machen soll, kann es ja nur zu Fehlern kommen Steh heute anscheinend böse auf dem Schlauch Link to comment Share on other sites More sharing options...
Arkanus Posted April 15, 2013 Share Posted April 15, 2013 Ach natürlich... Die Fehler sind so simple und doch übersieht man sie leicht Ich dachte der command /tut würde beim arg mit aufgerufen werden, aber ist ja klar, wenn der nicht deklariert ist, bzw. nicht weiß was er machen soll, kann es ja nur zu Fehlern kommen Steh heute anscheinend böse auf dem Schlauch Nicht schlimm, solche Fehler passieren mir auch hin und wieder Gehört zum programmieren halt hinzu. Passieren aber auch noch anderen, bist nicht allein Link to comment Share on other sites More sharing options...
Kryter Posted April 15, 2013 Author Share Posted April 15, 2013 Ja das glaub ich gern und bin ja auch erst am Anfang des ganzen, da werden sich die Fehler wahrscheinlich noch zur genüge häufen Aber zum Glück gibt es so nen großartiges Forum mit großartigen Leuten wie dir, die einem auch gern mal bei Problemen helfen Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now