PlayerNpcInteractionEvent und geschorenes Schaf

A big new update is now available, introducing biomes, caves and much more!
Latest hotfix: 0.7.0.3 (2024-02-21)
  • Hi @red51!


    Wenn ein Schaf geschoren ist und man nun mit Taste <F> interagieren möchte, dann wird das PlayerNpcInteractionEvent scheinbar nicht getriggert.
    Könnte es daran liegen, dass dies von der Engine direkt unterbunden wird, sobald ein Schaf keine Wolle trägt?


    Geschorene Schafe können so nicht mehr gefüttert werden :D (vorausgesetzt: Animalbreedmaster-Plugin installiert).



    Weitere Beobachtung:
    Wenn - bei einem ungeschorenen Schaf - das PlayerNpcInteractionEvent getriggert wird und man dieses Event in der Event-Methode auf setCancelled(true) setzt, dann wird anschließend bei allen Schafen nichts mehr getriggert.


    https://javadoc.rising-world.n…tml#setCancelled-boolean-


    Ich habe es so verstanden, dass setCancelled() sich konkret nur auf dieses eine Event auswirkt.

  • Das mit dem geschorenen Schaf stimmt tatsächlich, das wird mit dem nächsten Update behoben :)


    Das mit dem Event konnte ich aber leider nicht reproduzieren 8| Es ist in der Tat so gedacht, dass das setCancelled() nur auf dieses eine Event bezogen ist, d.h. andere Schafe sollten davon nicht betroffen sein. Ich habe testweise das Event bei einem bestimmten Schaf abgebrochen (und es wurde wie erwartet nicht geschoren), das Event wurde aber weiterhin aufgerufen bei anderen Schafen.
    Im Zweifelsfall poste am besten einmal den Code hier. Achte auch auf die Debug-Konsole, ob evtl. irgendwelche Fehler ausgegeben werden.

  • Hi @red51!


    Ich habe es etwas ungenau formuliert (war zu müde gewesen).
    Man kann mit anderen Schafen interagieren - aber nur genau 1x. Egal wie oft man es bei bereits "interagierten" Schafen wiederholt, es passiert nichts mehr.
    Bei anderen Tieren hingegen wird jedesmal getriggert.


    Dazu habe ich "mal eben" ;) ein Test-Plugin gebaut, siehe Anhang.


    Code dazu:


    Hintergrund, warum ich ein Event "canceln" muss ist: Wenn man ein Schaf füttert, wird es gleichzeitig geschoren! :D (hatte ich überhaupt nicht auf'm Schirm, als ich den Interaktions-Mechanismus umgestellt habe)
    Ich würde das Scheren gerne unterbinden, wenn mit einer Zuckerrübe in der Hand interagiert wird.


    P.S.: hat sich schon was mit dem player.setAttribute() ergeben?
    Possible issue with player.setAttribute()

  • Danke für die Infos! Tatsächlich wird das Event bei dem selben Schaf nicht erneut ausgelöst, egal, ob es abgebrochen wurde oder nicht... dummerweise wurde clientseitig ein Flag gesetzt, wodurch keine weitere Interaktion mit dem Schaf zugelassen wurde (um zu verhindern, dass ein Spieler mehrfach mit dem Schaf interagiert, falls der Server mal sehr langsam reagieren sollte oder so). Es ist also prinzipiell dasselbe Problem, warum die Interaktion mit geschorenen Schafen generell nicht möglich war^^ Das Problem wird auf jeden Fall mit dem nächsten Update behoben sein ;)


    Beim "setAttribute()" Problem habe ich leider noch keine Neuigkeiten, muss aber zugeben, dass das zwischenzeitlich ein wenig unter den Tisch gefallen ist :saint: Ich setze mich ran und versuche, das Problem reproduzieren zu können

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!