• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Hilfe für Ein event

NosCrafterHD

Minecrafter
Registriert
28 Dezember 2016
Beiträge
14
Diamanten
0
Minecraft
NosCrafterHD
Also wie oben schon steht, habe ich eine frage zu einem Event. Es geht um das EnityDeathEvent. Ich programiere noch nicht so lange und wollte fragen wie ich das einstelle, das sich das auf eine bestimmte Kreatur bezieht. Also zb. Ein zombie das ich vorher gespawnt habe das einen dia helm hat und ein gold harnisch?
 

Subjektiv

Kuhfänger
Registriert
8 Juli 2017
Beiträge
54
Diamanten
300
Minecraft
Subjektiv
Code:
Entity zombie1 = player.getWorld().spawnEntity(player.getLocation(), EntityType.ZOMBIE);
LivingEntity zombie2 = (LivingEntity) zombie1;
((CraftLivingEntity) zombie2).getHandle().setEquipment(i, CraftItemStack.createNMSItemStack(item))

Und dann dementsprechend abfragen ob der Zombie stirbt :D

Kleiner Tipp: Klick
 

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771
Da gleich mit NMS bei zugehen finde ich etwas hardcore, das geht doch sicher ohne?

Soweit ich weiß, können Entities nicht-persistente Metadaten tragen (gelten nur bis zum Server Restart).
Du kannst damit dem Zombie ganz simpel einen Metatag geben um ihn als von dir gespawntes Entity zu identifizieren.

Im Event prüfst du erstmal ob der EntityType ZOMBIE ist, danach ob dein Metatag vorhanden ist.
Wenn das beides erfüllt ist, dann handelt es sich um deinen Zombie und du kannst tun was immer du mit dem Entity vorhast. ;)

Da diese Metadaten wie schon gesagt beim Restart verloren gehen, solltest du beim Shutdown deine Entities entfernen und beim Start wieder neu erzeugen, damit keine Blindgänger entstehen.

Mehr zum Thema Metadata findest du hier, sogar mit einem sehr ähnlichen Beispiel: (simpel)
https://bukkit.org/threads/tutorial-metadata-what-it-is-and-how-to-use-it.276338/

Nichts gegen dich, aber wenn du schon die JavaDocs verlinken musst, dann schränke doch den Suchbereich etwas ein und stell ihn nicht einfach vor die gesamte Dokumentation... die findet man nämlich auch selber schnell genug.
 

Subjektiv

Kuhfänger
Registriert
8 Juli 2017
Beiträge
54
Diamanten
300
Minecraft
Subjektiv
Da gleich mit NMS bei zugehen finde ich etwas hardcore, das geht doch sicher ohne?

Soweit ich weiß, können Entities nicht-persistente Metadaten tragen (gelten nur bis zum Server Restart).
Du kannst damit dem Zombie ganz simpel einen Metatag geben um ihn als von dir gespawntes Entity zu identifizieren.

Im Event prüfst du erstmal ob der EntityType ZOMBIE ist, danach ob dein Metatag vorhanden ist.
Wenn das beides erfüllt ist, dann handelt es sich um deinen Zombie und du kannst tun was immer du mit dem Entity vorhast. ;)

Da diese Metadaten wie schon gesagt beim Restart verloren gehen, solltest du beim Shutdown deine Entities entfernen und beim Start wieder neu erzeugen, damit keine Blindgänger entstehen.

Mehr zum Thema Metadata findest du hier, sogar mit einem sehr ähnlichen Beispiel: (simpel)
https://bukkit.org/threads/tutorial-metadata-what-it-is-and-how-to-use-it.276338/


Nichts gegen dich, aber wenn du schon die JavaDocs verlinken musst, dann schränke doch den Suchbereich etwas ein und stell ihn nicht einfach vor die gesamte Dokumentation... die findet man nämlich auch selber schnell genug.

Klar da gibt es auch andere Methoden, ich benutze jedoch meistens NMS ^^

Das mit den JavaDocs war nur, wie es auch dort stand, ein "Kleiner Tipp", das heißt ich wollte damit nicht auf seine Frage eingehen sondern ihm ein Tipp nebenbei geben das es für Spigot auch eine Dokumentation gibt wo er vieeeles herausfinden kann falls er mal nicht weiter weiß.
 
Oben