diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/bukkit/EntityEffect.java | 54 | ||||
-rw-r--r-- | src/main/java/org/bukkit/entity/Entity.java | 10 |
2 files changed, 64 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/EntityEffect.java b/src/main/java/org/bukkit/EntityEffect.java new file mode 100644 index 00000000..9b2550dd --- /dev/null +++ b/src/main/java/org/bukkit/EntityEffect.java @@ -0,0 +1,54 @@ +package org.bukkit; + +/** + * A list of all Effects that can happen to entities. + */ +public enum EntityEffect { + + /** + * When mobs get hurt. + */ + HURT((byte) 2), + + /** + * When a mob dies. + * <p> + * <b>This will cause client-glitches! + */ + DEATH((byte) 3), + + /** + * The smoke when taming a wolf fails. + * <p> + * Without client-mods this will be ignored if the entity is not a wolf. + */ + WOLF_SMOKE((byte) 6), + + /** + * The hearts when taming a wolf succeeds. + * <p> + * Without client-mods this will be ignored if the entity is not a wolf. + */ + WOLF_HEARTS((byte) 7), + + /** + * When a wolf shakes (after being wet). + * <p> + * Without client-mods this will be ignored if the entity is not a wolf. + */ + WOLF_SHAKE((byte) 8); + + private final byte data; + + EntityEffect(byte data) + { + this.data = data; + } + + /** + * @return The data-value that is sent to the client to play this effect. + */ + public byte getData() { + return data; + } +} diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java index b47a7ddb..5ecebb46 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -1,6 +1,7 @@ package org.bukkit.entity; import org.bukkit.Location; +import org.bukkit.EntityEffect; import org.bukkit.Server; import org.bukkit.World; import org.bukkit.event.entity.EntityDamageEvent; @@ -216,4 +217,13 @@ public interface Entity { * @param value Age of entity */ public void setTicksLived(int value); + + /** + * Performs the specified {@link EntityEffect} for this entity. + * <p> + * This will be viewable to all players near the entity. + * + * @param type Effect to play. + */ + public void playEffect(EntityEffect type); } |