jesssiiiiii Posted January 10, 2021 Share Posted January 10, 2021 Hey, ich habe folgendes Problem: Ich versuche ein System zu machen, wo man z.B, "/setthema Thema" macht und dieses Thema dann bei einer anderen Ausgabe in einer anderen Klasse rauskommt. Also folgendes: 1. Klasse: /setthema Thema 2. Klasse: p.sendMessage("..." + Thema + "...") Kann mir da eventuell jemand helfen? Ich habe es mit einem statischen (public static) String probiert, allerdings geht das anscheinend in einer "onCommand" Methode nicht. Link to comment Share on other sites More sharing options...
FireSpirit15 Posted January 10, 2021 Share Posted January 10, 2021 (edited) Hey @jesssiiiiii! Anscheinend führst du deine Variable innerhalb der Methode ein. Das funktioniert nicht, du musst die statische Variable vor bzw. über der Methode deklarieren. Andernfalls wird sie als lokale Variable erzeugt und wird nach dem Befehl wieder gelöscht. public static String thema; onCommand(...) { thema = "text"; } Wenn das nicht klappt musst du sie in deiner Hauptklasse (meistens Main.java) deklarieren. Anschließend kannst du über Klassenname.variablenname auf die statische Variable zugreifen. p.sendMessage(Klassenname.thema + "..."); Ich hoffe, ich konnte dir weiterhelfen! Mit freundlichen Grüßen FireSpirit15 Edited January 10, 2021 by FireSpirit15 Beispieländerung 2 Link to comment Share on other sites More sharing options...
jesssiiiiii Posted January 14, 2021 Author Share Posted January 14, 2021 (edited) okey, ich versuchs, danke Edited January 16, 2021 by jesssiiiiii Link to comment Share on other sites More sharing options...
jesssiiiiii Posted January 16, 2021 Author Share Posted January 16, 2021 Am 10.1.2021 um 18:46 schrieb FireSpirit15: Hey @jesssiiiiii! Anscheinend führst du deine Variable innerhalb der Methode ein. Das funktioniert nicht, du musst die statische Variable vor bzw. über der Methode deklarieren. Andernfalls wird sie als lokale Variable erzeugt und wird nach dem Befehl wieder gelöscht. public static String thema; onCommand(...) { thema = "text"; } Wenn das nicht klappt musst du sie in deiner Hauptklasse (meistens Main.java) deklarieren. Anschließend kannst du über Klassenname.variablenname auf die statische Variable zugreifen. p.sendMessage(Klassenname.thema + "..."); Ich hoffe, ich konnte dir weiterhelfen! Mit freundlichen Grüßen FireSpirit15 Das Problem hier ist aber, nach dem Reload/Restart whatever, ist der String direkt wieder auf null gesetzt und das Thema sogesagt "gelöscht". Gibt es irgend eine Möglichkeit, den String zu speichern oder Alternativen, die auch nach dem Restart noch da sind? Link to comment Share on other sites More sharing options...
FireSpirit15 Posted January 19, 2021 Share Posted January 19, 2021 Hey, @jesssiiiiii! Am 16.1.2021 um 16:57 schrieb jesssiiiiii: Das Problem hier ist aber, nach dem Reload/Restart whatever, ist der String direkt wieder auf null gesetzt und das Thema sogesagt "gelöscht". Gibt es irgend eine Möglichkeit, den String zu speichern oder Alternativen, die auch nach dem Restart noch da sind? Klar, so eine Möglichkeit besteht. Du musst dazu den String in einer YAML-Configuration abspeichern. Die wird dann jedes Mal beim Serverstart geladen. Mit freundlichen GrüßenFireSpirit15 3 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