Minecraft Programmier-Event [Bitte helfen]

3 Antworten

Ich gebe meinen Vorrednern voll und ganz Recht. Dir könnte vielleicht weiterhelfen, dich über Events und deren Nutzen genauer zu informieren und (in diesem Fall) dich mit der Minecraft-API auseinanderzusetzen, sodass du das abfragen kannst. Du könntest z.B. in einer Endlosschleife schauen, ob sich der Spieler in dem Durchlauf bewegt. Wenn nicht, dann kannst du deinen Code hier beginnen lassen.

Mir scheint, dass du das Prinzip von Listenern bzw. des Observable-Patterns nicht genau verstanden hast.

Es geht darum, dass andere Klassen benachrichtigt werden, wenn bei einer Klasse ein gewisses Ereignis eintritt, z.B. Spieler ist tot (bzw. die Eigenschaft, die die Lebenspunkte abbildet, ist 0). Dieses Ereignis tritt zu einem nicht-deterministischen Zeitpunkt ein.

Die Listener (also alle Klassen, die über ein bestimmtest Ereignis informiert werden wollen) melden sich bei der Klasse, die "überwacht" werden soll (meist durch die Methode "add(...)Listener").

Von daher ist ein "steh"-Event dafür eher ungeeignet. Du könntest es allerdings etwas umformulieren, so dass immer Events erzeugt werden, wenn der Spieler stehen bleibt bzw. wieder los geht.

Erstmal, danke für deine Antwort. Ich brauche nämlich ein Event-"Name", wo der Spieler sich nicht bewegen darf. Das ist dringend notwendig. Ich probiere mal mit MoveEvent eine Abfrage, hoffe es klappt dort. Trotzdem danke für die Antwort!

0
@iGamePlayHD

Dann musst du dir überlegen, welche Klasse dieses Event feuert und die Klasse "Spieler" muss es vorher abonieren. Wenn das Event dann in der Klasse "Spieler" ausgewertet wird, muss es z.B. eine boolische Variable setzen. In der "gehen()"-Methode muss diese Variable dann überprüft werden, um zu bestimmten, ob der Spieler gehen darf oder nicht.

0

Ein Event das ständig aktiv ist, macht meines Erachtens wenig Sinn. Warum sollte es dann auch Events geben? Die sind ja gerade dazu gedacht nur bei einer bestimmten Aktion aktiviert zu werden.

Du wirst darauf keine richtige Antwort bekommen, weil es keinen Sinn macht.

Ich empfehle dir eine Frage darüber zu stellen, was du realisieren möchtest. Vielleicht kann man dir dann besser helfen.

lg

Was möchtest Du wissen?