summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/bukkit/EntityEffect.java
blob: c816edfdf3175873a22a709b05bd333145fa106c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package org.bukkit;

import java.util.Map;

import com.google.common.collect.Maps;

/**
 * A list of all Effects that can happen to entities.
 */
public enum EntityEffect {

    /**
     * When mobs get hurt.
     */
    HURT(2),

    /**
     * When a mob dies.
     * <p>
     * <b>This will cause client-glitches!</b>
     */
    DEATH(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(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(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(8),

    /**
     * When a sheep eats a LONG_GRASS block.
     */
    SHEEP_EAT(10),

    /**
     * When an Iron Golem gives a rose.
     * <p>
     * This will not play an effect if the entity is not an iron golem.
     */
    IRON_GOLEM_ROSE(11),

    /**
     * Hearts from a villager.
     * <p>
     * This will not play an effect if the entity is not a villager.
     */
    VILLAGER_HEART(12),

    /**
     * When a villager is angry.
     * <p>
     * This will not play an effect if the entity is not a villager.
     */
    VILLAGER_ANGRY(13),

    /**
     * Happy particles from a villager.
     * <p>
     * This will not play an effect if the entity is not a villager.
     */
    VILLAGER_HAPPY(14),

    /**
     * Magic particles from a witch.
     * <p>
     * This will not play an effect if the entity is not a witch.
     */
    WITCH_MAGIC(15),

    /**
     * When a zombie transforms into a villager by shaking violently.
     * <p>
     * This will not play an effect if the entity is not a zombie.
     */
    ZOMBIE_TRANSFORM(16),

    /**
     * When a firework explodes.
     * <p>
     * This will not play an effect if the entity is not a firework.
     */
    FIREWORK_EXPLODE(17);

    private final byte data;
    private final static Map<Byte, EntityEffect> BY_DATA = Maps.newHashMap();

    EntityEffect(final int data) {
        this.data = (byte) data;
    }

    /**
     * Gets the data value of this EntityEffect
     *
     * @return The data value
     * @deprecated Magic value
     */
    @Deprecated
    public byte getData() {
        return data;
    }

    /**
     * Gets the EntityEffect with the given data value
     *
     * @param data Data value to fetch
     * @return The {@link EntityEffect} representing the given value, or null
     *     if it doesn't exist
     * @deprecated Magic value
     */
    @Deprecated
    public static EntityEffect getByData(final byte data) {
        return BY_DATA.get(data);
    }


    static {
        for (EntityEffect entityEffect : values()) {
            BY_DATA.put(entityEffect.data, entityEffect);
        }
    }
}