Minecraft Plugin Spieler Chateingabe nacheinander abfragen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
  1. IF ist ein Block und keine Schleife
  2. Vergleiche macht man mit zwei = (also ==)
  3. Warum erstellst du für eine Textausgabe einen Task?
  4. Ich würde das mit einer Art einfachem Automaten machen. Also ein Enum mit den möglichen zuständen, und dann bei einem Befehl, durch einen Switch Block den nächsten Zustand setzen.
  5. Sowas wie hatkiritoschongefragt ist schlecht lesbar, nutze lieber hatKiritoSchonGefragt. Nennt sich CamelCase. Alternativ gehen auch Unterstriche, das macht man aber eigentlich eher bei c Programmen.
  6. Man sieht nicht, wo deine Variablen gespeichert werden, aber so wie das aussieht, vermute ich mal, dass du Probleme bekommen wirst, wenn mehrere Spieler gleichzeitig die Fragen beantworten, da du nicht zwischen Spielern unterscheidest.
fabianimiau1 
Fragesteller
 20.04.2021, 22:40

jetzt steht da in der konsole als fehlermeldung wenn ich ja schreibe:

[22:39:27] [Async Chat Thread - #0/ERROR]: Could not pass event AsyncPlayerChatEvent to Tutorial v1.8

org.bukkit.event.EventException: null

    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) [Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) [Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at net.minecraft.server.v1_16_R3.PlayerConnection.chat(PlayerConnection.java:1855) [Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at net.minecraft.server.v1_16_R3.PlayerConnection.c(PlayerConnection.java:1793) [Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1731) [Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at net.minecraft.server.v1_16_R3.PacketPlayInChat$1.run(PacketPlayInChat.java:44) [Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_281]

    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_281]

    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_281]

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_281]

    at java.lang.Thread.run(Unknown Source) [?:1.8.0_281]

Caused by: java.lang.IllegalArgumentException: owningPlugin cannot be null

    at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at org.bukkit.metadata.MetadataValueAdapter.<init>(MetadataValueAdapter.java:21) ~[Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at org.bukkit.metadata.LazyMetadataValue.<init>(LazyMetadataValue.java:64) ~[Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at org.bukkit.metadata.FixedMetadataValue.<init>(FixedMetadataValue.java:30) ~[Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    at com.gmail.fabianimiau.Tutorial.getPlayerState(Tutorial.java:105) ~[?:?]

    at com.gmail.fabianimiau.Tutorial.onPlayerChat(Tutorial.java:117) ~[?:?]

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_281]

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_281]

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_281]

    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_281]

    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[Server-1-1.16.5.jar:3036-Spigot-a25e8ed-c85efa8]

    ... 12 more

0
TheOrzoBiased  20.04.2021, 22:42
@fabianimiau1

Caused by: java.lang.IllegalArgumentException: owningPlugin cannot be null

Du hast wohl irgendwo anstelle der Plugin Instanz null übergeben.

0
TheOrzoBiased  20.04.2021, 23:19
@TheOrzoBiased

Im Automaten hats nen kleinen Fehler, der nein Pfeil von dem Zustand V sollte nicht zu N gehen, sondern bei V bleiben. Ist mir zu spät aufgefallen.

0
fabianimiau1 
Fragesteller
 02.05.2021, 22:32
@TheOrzoBiased

Bei Tutorial tr = new Tutorial(this); kommt eine Fehlermeldung: The constructor Tutorial(Lol) is undefined

0
TheOrzoBiased  11.05.2021, 11:51
@fabianimiau1

Du erstellst ja auch weder eine Instanz der Tutorial Klasse, noch registrierst du den Eventhandler.

0