Jump to content

Auf Externe Klasse zugreifen


Empfohlene Beiträge

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 zu diesem Kommentar
Auf anderen Seiten teilen

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

bearbeitet von FireSpirit15
Beispieländerung
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B