DerNaris Posted October 28, 2013 Share Posted October 28, 2013 Hallo, wie es bei großen Plugins ist, bewältigt man die größten Hürden, doch simple Probleme sind unüberwindbar, unzwar möchte ich, wenn ich ein Command ausführe, das zu einer Zahl +1 addiert wird, kurz gesagt : wenn ich einmal das Command ausführe habe ich als Wert 1, wenn ich es zweimal ausführe 2. Außerdem habe ich mir mal einen allgemeinen Fragethread erstellt, nicht das ich für jede Frage einen neuen Thread eröffnen muss Mfg Link to comment Share on other sites More sharing options...
Chickos Posted October 28, 2013 Share Posted October 28, 2013 Also ich kenne das per javascript nur mit einer if() und dann einer int nummer = nummer +1; Keine Ahnugn ob dir das hilft. LG Dirk Link to comment Share on other sites More sharing options...
DerNaris Posted October 28, 2013 Author Share Posted October 28, 2013 Genau das habe ich auch schonversucht, nur dann bekomme ich den Fehler, dass "nummer" noch nicht definiert wurde. Link to comment Share on other sites More sharing options...
Chickos Posted October 28, 2013 Share Posted October 28, 2013 Hast du die Variable denn vorher initialisiert? Vielleicht benutzt du keine globale Variable? LG Dirk Link to comment Share on other sites More sharing options...
idk.cpp Posted October 28, 2013 Share Posted October 28, 2013 Hi. Hast du Programmiererfahrung? Das hört sich nach einem sehr simplen Problem an! Folgendes ist die Lösung: public class ThePlugin extends JavaPlugin { private int nummer = 0; public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String args[]) { if (cmdLabel.equalsIgnoreCase("command")) // Falls du mehrere Commands registriert hast nummer++; } } Ich weiß nicht wie die anderen das sehen, aber ich finde für jede Frage ein Thread besser. LG idk.java Link to comment Share on other sites More sharing options...
TuxGamer Posted October 28, 2013 Share Posted October 28, 2013 (edited) public class ThePlugin extends JavaPlugin { private int nummer; @Override public void onEnable() { nummer = 0; } @Override public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String args[]) { if (cmdLabel.equalsIgnoreCase("command")) { nummer++; } } return true; } Edited October 28, 2013 by TuxGamer Link to comment Share on other sites More sharing options...
DerNaris Posted October 29, 2013 Author Share Posted October 29, 2013 Danke, jetzt hat es entlich geklappt, man scheitert manchmal echt an den simpelsten Sachen Mfg Link to comment Share on other sites More sharing options...
TuxGamer Posted October 29, 2013 Share Posted October 29, 2013 Das Gefühl kennt aber jeder Programmierer =) Link to comment Share on other sites More sharing options...
Glumandala Posted October 29, 2013 Share Posted October 29, 2013 Wenn du allerdings die Werte nicht nur bis zum naechsten Neustart haben willst, kannst du das ganze in einer config abspeichern Gesendet mit meinem Apple Waffeleisen. Link to comment Share on other sites More sharing options...
DerNaris Posted October 29, 2013 Author Share Posted October 29, 2013 (edited) Und da kommt schon das nächste Problem, ich bräuchte eine Funktion, wie ein CommandExecuter, nur eben ohne Commtent d.h. wenn der Server / das Plugin startet, dass der entsprechende Teil direkt ausgeführt wird, kann mir da jmd. helfen ? Bzw ums nochmal anders zu Formulieren : Ich will den onEnable Teil in ne andere Klasse stecken, die auch direkt beim Start des Plugins ausgeführt wird. Lg Edited October 29, 2013 by DerNaris Link to comment Share on other sites More sharing options...
idk.cpp Posted October 29, 2013 Share Posted October 29, 2013 (edited) Wenn das Plugin geladen wird, wird die public void onLoad(); aufgerufen. Wenn das Plugin aktiviert wird, wird die public void onEnable(); aufgerufen. Also könntest du folgendes machen: public class MeinKleinesPlugin extends JavaPlugin { // Some stuff @Override public void onEnable() { // Some stuff wenn das Plugin enabled wird } // O Wunder: some stuff } Edited October 29, 2013 by idk.cpp Link to comment Share on other sites More sharing options...
DerNaris Posted October 29, 2013 Author Share Posted October 29, 2013 Das ist mir schon klar Nur ich möchte im onEnable() Teil, eine Art CommandExecutor setzen, der auf eine andere Klasse verweißt, die dann direkt ausgeführ wird, ein CommandExecutor, arbeitet ja erst, wenn das entsprechende Command eingegeben wird. @Override public void onEnable() { System.out.println("Plugin wird gestartet"); this.getCommand("irgent eine Befehl").setExecutor(new verweißt auf irgent ne Klasse()); // Statt diesem Executor brauche ich eben etwas, was direkt die andere Klasse läd, ohne einen Befehl Link to comment Share on other sites More sharing options...
idk.cpp Posted October 29, 2013 Share Posted October 29, 2013 Das habe ich nicht verstanden. Kannst sowas wie ein Flussdiagramm machen? Link to comment Share on other sites More sharing options...
DerNaris Posted October 29, 2013 Author Share Posted October 29, 2013 (edited) Dache mir schon das die Erklärung etwas gurkig ist, dann versuch ich es mal so : Das Plugin wird gestartet (main,java)--> in meiner Hauptklasse steht irgentwo ein Verweiß auf eine Nebenklasse (maincommand.java)--> Die Methoden in der Nebenklasse werden ausgeführt Also wenn das Plugin startet, wird gleich der ganze Kram ausgeführt ohne das ein Command eingegeben werden muss, quasi wie der onEnable Teil eines Plugin, der wird ja auch bei Start des Plugins ohne das ein Command eingegben wurde ausgeführt. Edited October 29, 2013 by DerNaris Link to comment Share on other sites More sharing options...
idk.cpp Posted October 29, 2013 Share Posted October 29, 2013 public class Main { @Override public void onEnable() { MainCommand mc = new MainCommand(); mc.method1(); mc.method2(); ... } } Link to comment Share on other sites More sharing options...
Glumandala Posted October 29, 2013 Share Posted October 29, 2013 Nimm's mir nicht übel, aber das sind viele kleine Hürden - Ich wuerde dir ein Java Buch empfehlen Gesendet mit meinem Apple Waffeleisen. Link to comment Share on other sites More sharing options...
DerNaris Posted October 29, 2013 Author Share Posted October 29, 2013 Eigentlich ist es immernoch nicht das was ich wirklich brauche / suche, aber dann ändere ich halt den Code ein bisschen, danke trozdem. Außerdem ist es mein erstes richtiges Plugin und ich steige gerade von HTML um, aber kennt vieleicht wer ne gute Homepage auf der man Java lernen kann ? Link to comment Share on other sites More sharing options...
TuxGamer Posted October 30, 2013 Share Posted October 30, 2013 Es gibt das Buch "Java ist eine Insel" von Galileocomputing offen im Internet, irgendwo auf den eigenen Seiten sogar. Das ist sehr gut, aber ich fand das Buch in Papierform angenehmer zu lesen. Und warum hast du meine PM entfernt? Dann kann ich dir nicht antworten (: 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