geforkt von Mirrors/Paper
Fixes and additions to the spawn reason API
Expose an entities spawn reason on the entity. Pre existing entities will return NATURAL if it was a non persistenting Living Entity, SPAWNER for spawners, or DEFAULT since data was not stored. Additionally, add missing spawn reasons. Co-authored-by: Aurora <aurora@relanet.eu> Co-authored-by: Jakub Zacek <dawon@dawon.eu>
Dieser Commit ist enthalten in:
Ursprung
452f8cf88b
Commit
ded424db46
@ -857,5 +857,11 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
|||||||
// TODO remove impl here
|
// TODO remove impl here
|
||||||
return getLocation().getChunk();
|
return getLocation().getChunk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The {@link org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason} that initially spawned this entity. <!-- Paper - added "initially" to clarify that the SpawnReason doesn't change after the Entity was initially spawned" -->
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason();
|
||||||
// Paper end
|
// Paper end
|
||||||
}
|
}
|
||||||
|
@ -206,6 +206,12 @@ public class CreatureSpawnEvent extends EntitySpawnEvent {
|
|||||||
* When a creature is spawned by an enchantment
|
* When a creature is spawned by an enchantment
|
||||||
*/
|
*/
|
||||||
ENCHANTMENT,
|
ENCHANTMENT,
|
||||||
|
// Paper start - Fixes and additions to the SpawnReason API
|
||||||
|
/**
|
||||||
|
* When an entity spawns from an ominous item spawner
|
||||||
|
*/
|
||||||
|
OMINOUS_ITEM_SPAWNER,
|
||||||
|
// Paper end - Fixes and additions to the SpawnReason API
|
||||||
/**
|
/**
|
||||||
* When a creature is spawned by a potion effect, for example:
|
* When a creature is spawned by a potion effect, for example:
|
||||||
* {@link org.bukkit.potion.PotionType#OOZING}, {@link org.bukkit.potion.PotionType#INFESTED}
|
* {@link org.bukkit.potion.PotionType#OOZING}, {@link org.bukkit.potion.PotionType#INFESTED}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren