13
0
geforkt von Mirrors/Paper

265 Zeilen
6.1 KiB
Java

package org.bukkit;
import java.util.Map;
import com.google.common.collect.Maps;
import org.bukkit.block.BlockFace;
import org.bukkit.potion.Potion;
/**
* A list of effects that the server is able to send to players.
*/
public enum Effect {
/**
* An alternate click sound.
*/
CLICK2(1000, Type.SOUND),
/**
* A click sound.
*/
CLICK1(1001, Type.SOUND),
/**
* Sound of a bow firing.
*/
BOW_FIRE(1002, Type.SOUND),
/**
* Sound of a door opening.
*/
DOOR_TOGGLE(1006, Type.SOUND),
/**
* Sound of a door opening.
*/
IRON_DOOR_TOGGLE(1005, Type.SOUND),
/**
* Sound of a trapdoor opening.
*/
TRAPDOOR_TOGGLE(1007, Type.SOUND),
/**
* Sound of a door opening.
*/
IRON_TRAPDOOR_TOGGLE(1037, Type.SOUND),
/**
* Sound of a door opening.
*/
FENCE_GATE_TOGGLE(1008, Type.SOUND),
/**
* Sound of a door closing.
*/
DOOR_CLOSE(1012, Type.SOUND),
/**
* Sound of a door closing.
*/
IRON_DOOR_CLOSE(1011, Type.SOUND),
/**
* Sound of a trapdoor closing.
*/
TRAPDOOR_CLOSE(1013, Type.SOUND),
/**
* Sound of a door closing.
*/
IRON_TRAPDOOR_CLOSE(1036, Type.SOUND),
/**
* Sound of a door closing.
*/
FENCE_GATE_CLOSE(1014, Type.SOUND),
/**
* Sound of fire being extinguished.
*/
EXTINGUISH(1009, Type.SOUND),
/**
* A song from a record. Needs the record item ID as additional info
*/
RECORD_PLAY(1010, Type.SOUND, Material.class),
/**
* Sound of ghast shrieking.
*/
GHAST_SHRIEK(1015, Type.SOUND),
/**
* Sound of ghast firing.
*/
GHAST_SHOOT(1016, Type.SOUND),
/**
* Sound of blaze firing.
*/
BLAZE_SHOOT(1018, Type.SOUND),
/**
* Sound of zombies chewing on wooden doors.
*/
ZOMBIE_CHEW_WOODEN_DOOR(1019, Type.SOUND),
/**
* Sound of zombies chewing on iron doors.
*/
ZOMBIE_CHEW_IRON_DOOR(1020, Type.SOUND),
/**
* Sound of zombies destroying a door.
*/
ZOMBIE_DESTROY_DOOR(1021, Type.SOUND),
/**
* A visual smoke effect. Needs direction as additional info.
*/
SMOKE(2000, Type.VISUAL, BlockFace.class),
/**
* Sound of a block breaking. Needs block ID as additional info.
*/
STEP_SOUND(2001, Type.SOUND, Material.class),
/**
* Visual effect of a splash potion breaking. Needs potion data value as
* additional info.
*/
POTION_BREAK(2002, Type.VISUAL, Potion.class),
/**
* An ender eye signal; a visual effect.
*/
ENDER_SIGNAL(2003, Type.VISUAL),
/**
* The flames seen on a mobspawner; a visual effect.
*/
MOBSPAWNER_FLAMES(2004, Type.VISUAL),
/**
* The sound played by brewing stands when brewing
*/
BREWING_STAND_BREW(1035, Type.SOUND),
/**
* The sound played when a chorus flower grows
*/
CHORUS_FLOWER_GROW(1033, Type.SOUND),
/**
* The sound played when a chorus flower dies
*/
CHORUS_FLOWER_DEATH(1034, Type.SOUND),
/**
* The sound played when traveling through a portal
*/
PORTAL_TRAVEL(1032, Type.SOUND),
/**
* The sound played when launching an endereye
*/
ENDEREYE_LAUNCH(1003, Type.SOUND),
/**
* The sound played when launching a firework
*/
FIREWORK_SHOOT(1004, Type.SOUND),
/**
* Particles displayed when a villager grows a plant, data
* is the number of particles
*/
VILLAGER_PLANT_GROW(2005, Type.VISUAL, Integer.class),
/**
* The sound/particles used by the enderdragon's breath
* attack.
*/
DRAGON_BREATH(2006, Type.VISUAL),
/**
* The sound played when an anvil breaks
*/
ANVIL_BREAK(1029, Type.SOUND),
/**
* The sound played when an anvil is used
*/
ANVIL_USE(1030, Type.SOUND),
/**
* The sound played when an anvil lands after
* falling
*/
ANVIL_LAND(1031, Type.SOUND),
/**
* Sound of an enderdragon firing
*/
ENDERDRAGON_SHOOT(1017, Type.SOUND),
/**
* The sound played when a wither breaks a block
*/
WITHER_BREAK_BLOCK(1022, Type.SOUND),
/**
* Sound of a wither shooting
*/
WITHER_SHOOT(1024, Type.SOUND),
/**
* The sound played when a zombie infects a target
*/
ZOMBIE_INFECT(1026, Type.SOUND),
/**
* The sound played when a villager is converted by
* a zombie
*/
ZOMBIE_CONVERTED_VILLAGER(1027, Type.SOUND),
/**
* Sound played by a bat taking off
*/
BAT_TAKEOFF(1025, Type.SOUND),
/**
* The sound/particles caused by a end gateway spawning
*/
END_GATEWAY_SPAWN(3000, Type.VISUAL),
/**
* The sound of an enderdragon growling
*/
ENDERDRAGON_GROWL(3001, Type.SOUND),
;
private final int id;
private final Type type;
private final Class<?> data;
private static final Map<Integer, Effect> BY_ID = Maps.newHashMap();
Effect(int id, Type type) {
this(id,type,null);
}
Effect(int id, Type type, Class<?> data) {
this.id = id;
this.type = type;
this.data = data;
}
/**
* Gets the ID for this effect.
*
* @return ID of this effect
* @deprecated Magic value
*/
@Deprecated
public int getId() {
return this.id;
}
/**
* @return The type of the effect.
*/
public Type getType() {
return this.type;
}
/**
* @return The class which represents data for this effect, or null if
* none
*/
public Class<?> getData() {
return this.data;
}
/**
* Gets the Effect associated with the given ID.
*
* @param id ID of the Effect to return
* @return Effect with the given ID
* @deprecated Magic value
*/
@Deprecated
public static Effect getById(int id) {
return BY_ID.get(id);
}
static {
for (Effect effect : values()) {
BY_ID.put(effect.id, effect);
}
}
/**
* Represents the type of an effect.
*/
public enum Type {SOUND, VISUAL}
}