001/*
002 * Trident - A Multithreaded Server Alternative
003 * Copyright 2014 The TridentSDK Team
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 *    http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package net.tridentsdk.effect.particle;
018
019/**
020 * Enum of all possible particle effects
021 *
022 * @author The TridentSDK Team
023 * @since 0.4-alpha
024 */
025public enum ParticleEffectType {
026    /**
027     * Small Explosion
028     */
029    SMALL_EXPLOSION(0),
030
031    /**
032     * Large Explosion
033     */
034    LARGE_EXPLOSION(1),
035
036    /**
037     * Huge Explosion
038     */
039    HUGE_EXPLOSION(2),
040
041    /**
042     * Firework Spark
043     */
044    FIREWORK_SPARK(3),
045
046    /**
047     * Bubble
048     */
049    BUBBLE(4),
050
051    /**
052     * Water Splash
053     */
054    SPLASH(5),
055
056    /**
057     * Fishing Animation
058     */
059    WAKE(6),
060
061    /**
062     * Underwater Suspended
063     */
064    SUSPENDED(7),
065
066    /**
067     * Depth Suspended
068     */
069    DEPTH_SUSPENDED(8),
070
071    /**
072     * Critical Hit
073     */
074    CRIT(9),
075
076    /**
077     * Magical Crit
078     */
079    MAGIC_CRIT(10),
080
081    /**
082     * Small Smoke (like torches)
083     */
084    SMALL_SMOKE(11),
085
086    /**
087     * Large Smoke (like fire)
088     */
089    LARGE_SMOKE(12),
090
091    /**
092     * Splash Potion / Bottle O' Enchanting
093     */
094    SPELL(13),
095
096    /**
097     * Instant Health/Damage Potion
098     */
099    INSTANT_SPELL(14),
100
101    /**
102     * Status Effect / Trading / Wither
103     */
104    MOB_SPELL(15),
105
106    /**
107     * Beacon Effects
108     */
109    MOB_SPELL_AMBIENT(16),
110
111    /**
112     * Witch Effect
113     */
114    WITCH_MAGIC(17),
115
116    /**
117     * Dripping Water Through Blocks
118     */
119    DRIP_WATER(18),
120
121    /**
122     * Dripping Lava Through Blocks
123     */
124    DRIP_LAVA(19),
125
126    /**
127     * Angry Villager Cloud
128     */
129    ANGRY_VILLAGER(20),
130
131    /**
132     * Happy Villager / Bone Meal / Feeding Animal
133     */
134    HAPPY_VILLAGER(21),
135
136    /**
137     * Mycelium Effect
138     */
139    TOWN_AURA(22),
140
141    /**
142     * Note Block Note
143     */
144    NOTE(23),
145
146    /**
147     * Nether Portal / Endermen Effect
148     */
149    PORTAL(24),
150
151    /**
152     * Enchantment Table Glyphs
153     */
154    ENCHANTMENT_TABLE(25),
155
156    /**
157     * Flame
158     */
159    FLAME(26),
160
161    /**
162     * Small Lava Fireballs
163     */
164    LAVA(27),
165
166    /**
167     * Footsteps
168     */
169    FOOTSTEP(28),
170
171    /**
172     * Cloud Smoke Effect
173     */
174    CLOUD(29),
175
176    /**
177     * Active Redstone Effect
178     */
179    RED_DUST(30),
180
181    /**
182     * Snowball Poof
183     */
184    SNOWBALL_POOF(31),
185
186    /**
187     * Breaking Snow / Creating Snow Golem
188     */
189    SNOW_SHOVEL(32),
190
191    /**
192     * Slime Particles
193     */
194    SLIME(33),
195
196    /**
197     * Hearts From Breeding/Taming
198     */
199    HEART(34),
200
201    /**
202     * Barrier Block Sign
203     */
204    BARRIER(35),
205
206    /**
207     * Eating / Thrown Egg / Potion / Eye Of Ender / Breaking Tool
208     */
209    ICON_CRACK(36),
210
211    /**
212     * Breaking Blocks / Sprinting
213     */
214    BLOCK_CRACK(37),
215
216    /**
217     * Breaking Armor Stand / Falling
218     */
219    BLOCK_DUST(38),
220
221    /**
222     * Rain Droplets
223     */
224    DROPLET(39),
225
226    /**
227     * ...?
228     */
229    TAKE(40),
230
231    /**
232     * Elder Guardian Animation
233     */
234    MOB_APPEARANCE(41);
235
236    private final int id;
237
238    ParticleEffectType(int id) {
239        this.id = id;
240    }
241
242    /**
243     * Get the id value of the effect
244     *
245     * @return The id value of the effect
246     */
247    public int id(){
248        return id;
249    }
250}