Jump to content

Auf Externe Klasse zugreifen


jesssiiiiii
 Share

Recommended Posts

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

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 by FireSpirit15
Beispieländerung
  • Like 2
Link to comment
Share on other sites

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

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üßen
FireSpirit15

  • Like 3
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B