# Minecraft PlayerBot (Listener Thread für jeden Spieler?)



## Greg50007 (17. Mai 2020)

Moin,
ich schreibe zurzeit einen Bot der den Spielern helfen soll, wenn sie Fragen haben. Das funktioniert so weit auch sehr gut, das problem ist das wenn mehrer Spieler den Bot gleichzeitig benutzen, sie dem anderen Spieler voraus-fragen können.
Kurzes Beispiel:

Der Bot antwortet Spieler 1 auf die Frage: wie geht es dir und stellt die Rückfrage: und selbst. um später zu wissen das die antwort des spielers auf die rückfrage des bots bezogen ist habe ich einen boolean der sich merkt, ob der bot die rückfrage gestellt hat. spieler 2 antwortet dem bot indem moment indem er auf die rückfrage von spieler 1 wartet und antwortet dann spieler 2.

Meine idee war es für jeden spieler einen Thread anzulegen, der wiederum einen Listener für den Spieler erstelllt (also bei jeder anfragen an den Bot bekommt der spieler der anfragt einen eigenen listener zugewiesen) -> das funktioniert nicht 

habt ihr eine idee wie ich das ganze lösen kann? 
Ich stelle hier mal keinen code rein, da das ganze zurzeit nur die Main ist, die den Listener festlegt und der Listener mit 100 if abfragen um auf den spieler reagieren zu können. (ich weiß das ist sowas von dirty programmiert... aber es ist auch mehr eine spielerei)

würde mich freuen wenn wer eine idee hätte!

LG.
Greg


----------



## Greg50007 (19. Mai 2020)

Hat denn keiner eine Idee?
Das hatte ich ja noch nie hier im Forum...


----------



## mrBrown (19. Mai 2020)

Du brauchst pro Spieler einen eigenen "Kontext" für den Bot, in dem alle Spieler-bezogenen Dinge gespeichert sind. Entweder indem du einen Bot pro Spieler nutzt, oder in dem du ein wirkliches Kontext-Objekt einführst welches dann pro Spieler erzeugt wird.

Keine Ahnung, wie man das mit Minecraft umsetzen würde, deine Idee mit einem Listener pro Spieler geht ja auch schon in genau die Richtung.


----------



## Greg50007 (19. Mai 2020)

Danke für die Antwort
Schön zuhören das ich einigermaßen in die richtige Richtung denke, leider schaffe ich es nicht jedem Spieler einen listener zu zuweisen... 

Ich werde es mit dem Kontext-objekten mal probieren.


----------

