package org.bukkit.craftbukkit;

import com.google.common.base.Preconditions;
import net.minecraft.server.IRegistry;
import net.minecraft.server.MinecraftKey;
import net.minecraft.server.SoundEffect;
import org.apache.commons.lang.Validate;
import org.bukkit.Sound;

public enum CraftSound {

    AMBIENT_CAVE("ambient.cave"),
    AMBIENT_UNDERWATER_ENTER("ambient.underwater.enter"),
    AMBIENT_UNDERWATER_EXIT("ambient.underwater.exit"),
    AMBIENT_UNDERWATER_LOOP("ambient.underwater.loop"),
    AMBIENT_UNDERWATER_LOOP_ADDITIONS("ambient.underwater.loop.additions"),
    AMBIENT_UNDERWATER_LOOP_ADDITIONS_RARE("ambient.underwater.loop.additions.rare"),
    AMBIENT_UNDERWATER_LOOP_ADDITIONS_ULTRA_RARE("ambient.underwater.loop.additions.ultra_rare"),
    BLOCK_ANVIL_BREAK("block.anvil.break"),
    BLOCK_ANVIL_DESTROY("block.anvil.destroy"),
    BLOCK_ANVIL_FALL("block.anvil.fall"),
    BLOCK_ANVIL_HIT("block.anvil.hit"),
    BLOCK_ANVIL_LAND("block.anvil.land"),
    BLOCK_ANVIL_PLACE("block.anvil.place"),
    BLOCK_ANVIL_STEP("block.anvil.step"),
    BLOCK_ANVIL_USE("block.anvil.use"),
    BLOCK_BAMBOO_BREAK("block.bamboo.break"),
    BLOCK_BAMBOO_FALL("block.bamboo.fall"),
    BLOCK_BAMBOO_HIT("block.bamboo.hit"),
    BLOCK_BAMBOO_PLACE("block.bamboo.place"),
    BLOCK_BAMBOO_SAPLING_BREAK("block.bamboo_sapling.break"),
    BLOCK_BAMBOO_SAPLING_HIT("block.bamboo_sapling.hit"),
    BLOCK_BAMBOO_SAPLING_PLACE("block.bamboo_sapling.place"),
    BLOCK_BAMBOO_STEP("block.bamboo.step"),
    BLOCK_BARREL_CLOSE("block.barrel.close"),
    BLOCK_BARREL_OPEN("block.barrel.open"),
    BLOCK_BEACON_ACTIVATE("block.beacon.activate"),
    BLOCK_BEACON_AMBIENT("block.beacon.ambient"),
    BLOCK_BEACON_DEACTIVATE("block.beacon.deactivate"),
    BLOCK_BEACON_POWER_SELECT("block.beacon.power_select"),
    BLOCK_BEEHIVE_DRIP("block.beehive.drip"),
    BLOCK_BEEHIVE_ENTER("block.beehive.enter"),
    BLOCK_BEEHIVE_EXIT("block.beehive.exit"),
    BLOCK_BEEHIVE_SHEAR("block.beehive.shear"),
    BLOCK_BEEHIVE_WORK("block.beehive.work"),
    BLOCK_BELL_RESONATE("block.bell.resonate"),
    BLOCK_BELL_USE("block.bell.use"),
    BLOCK_BLASTFURNACE_FIRE_CRACKLE("block.blastfurnace.fire_crackle"),
    BLOCK_BREWING_STAND_BREW("block.brewing_stand.brew"),
    BLOCK_BUBBLE_COLUMN_BUBBLE_POP("block.bubble_column.bubble_pop"),
    BLOCK_BUBBLE_COLUMN_UPWARDS_AMBIENT("block.bubble_column.upwards_ambient"),
    BLOCK_BUBBLE_COLUMN_UPWARDS_INSIDE("block.bubble_column.upwards_inside"),
    BLOCK_BUBBLE_COLUMN_WHIRLPOOL_AMBIENT("block.bubble_column.whirlpool_ambient"),
    BLOCK_BUBBLE_COLUMN_WHIRLPOOL_INSIDE("block.bubble_column.whirlpool_inside"),
    BLOCK_CAMPFIRE_CRACKLE("block.campfire.crackle"),
    BLOCK_CHEST_CLOSE("block.chest.close"),
    BLOCK_CHEST_LOCKED("block.chest.locked"),
    BLOCK_CHEST_OPEN("block.chest.open"),
    BLOCK_CHORUS_FLOWER_DEATH("block.chorus_flower.death"),
    BLOCK_CHORUS_FLOWER_GROW("block.chorus_flower.grow"),
    BLOCK_COMPARATOR_CLICK("block.comparator.click"),
    BLOCK_COMPOSTER_EMPTY("block.composter.empty"),
    BLOCK_COMPOSTER_FILL("block.composter.fill"),
    BLOCK_COMPOSTER_FILL_SUCCESS("block.composter.fill_success"),
    BLOCK_COMPOSTER_READY("block.composter.ready"),
    BLOCK_CONDUIT_ACTIVATE("block.conduit.activate"),
    BLOCK_CONDUIT_AMBIENT("block.conduit.ambient"),
    BLOCK_CONDUIT_AMBIENT_SHORT("block.conduit.ambient.short"),
    BLOCK_CONDUIT_ATTACK_TARGET("block.conduit.attack.target"),
    BLOCK_CONDUIT_DEACTIVATE("block.conduit.deactivate"),
    BLOCK_CORAL_BLOCK_BREAK("block.coral_block.break"),
    BLOCK_CORAL_BLOCK_FALL("block.coral_block.fall"),
    BLOCK_CORAL_BLOCK_HIT("block.coral_block.hit"),
    BLOCK_CORAL_BLOCK_PLACE("block.coral_block.place"),
    BLOCK_CORAL_BLOCK_STEP("block.coral_block.step"),
    BLOCK_CROP_BREAK("block.crop.break"),
    BLOCK_DISPENSER_DISPENSE("block.dispenser.dispense"),
    BLOCK_DISPENSER_FAIL("block.dispenser.fail"),
    BLOCK_DISPENSER_LAUNCH("block.dispenser.launch"),
    BLOCK_ENCHANTMENT_TABLE_USE("block.enchantment_table.use"),
    BLOCK_ENDER_CHEST_CLOSE("block.ender_chest.close"),
    BLOCK_ENDER_CHEST_OPEN("block.ender_chest.open"),
    BLOCK_END_GATEWAY_SPAWN("block.end_gateway.spawn"),
    BLOCK_END_PORTAL_FRAME_FILL("block.end_portal_frame.fill"),
    BLOCK_END_PORTAL_SPAWN("block.end_portal.spawn"),
    BLOCK_FENCE_GATE_CLOSE("block.fence_gate.close"),
    BLOCK_FENCE_GATE_OPEN("block.fence_gate.open"),
    BLOCK_FIRE_AMBIENT("block.fire.ambient"),
    BLOCK_FIRE_EXTINGUISH("block.fire.extinguish"),
    BLOCK_FURNACE_FIRE_CRACKLE("block.furnace.fire_crackle"),
    BLOCK_GLASS_BREAK("block.glass.break"),
    BLOCK_GLASS_FALL("block.glass.fall"),
    BLOCK_GLASS_HIT("block.glass.hit"),
    BLOCK_GLASS_PLACE("block.glass.place"),
    BLOCK_GLASS_STEP("block.glass.step"),
    BLOCK_GRASS_BREAK("block.grass.break"),
    BLOCK_GRASS_FALL("block.grass.fall"),
    BLOCK_GRASS_HIT("block.grass.hit"),
    BLOCK_GRASS_PLACE("block.grass.place"),
    BLOCK_GRASS_STEP("block.grass.step"),
    BLOCK_GRAVEL_BREAK("block.gravel.break"),
    BLOCK_GRAVEL_FALL("block.gravel.fall"),
    BLOCK_GRAVEL_HIT("block.gravel.hit"),
    BLOCK_GRAVEL_PLACE("block.gravel.place"),
    BLOCK_GRAVEL_STEP("block.gravel.step"),
    BLOCK_GRINDSTONE_USE("block.grindstone.use"),
    BLOCK_HONEY_BLOCK_BREAK("block.honey_block.break"),
    BLOCK_HONEY_BLOCK_FALL("block.honey_block.fall"),
    BLOCK_HONEY_BLOCK_HIT("block.honey_block.hit"),
    BLOCK_HONEY_BLOCK_PLACE("block.honey_block.place"),
    BLOCK_HONEY_BLOCK_SLIDE("block.honey_block.slide"),
    BLOCK_HONEY_BLOCK_STEP("block.honey_block.step"),
    BLOCK_IRON_DOOR_CLOSE("block.iron_door.close"),
    BLOCK_IRON_DOOR_OPEN("block.iron_door.open"),
    BLOCK_IRON_TRAPDOOR_CLOSE("block.iron_trapdoor.close"),
    BLOCK_IRON_TRAPDOOR_OPEN("block.iron_trapdoor.open"),
    BLOCK_LADDER_BREAK("block.ladder.break"),
    BLOCK_LADDER_FALL("block.ladder.fall"),
    BLOCK_LADDER_HIT("block.ladder.hit"),
    BLOCK_LADDER_PLACE("block.ladder.place"),
    BLOCK_LADDER_STEP("block.ladder.step"),
    BLOCK_LANTERN_BREAK("block.lantern.break"),
    BLOCK_LANTERN_FALL("block.lantern.fall"),
    BLOCK_LANTERN_HIT("block.lantern.hit"),
    BLOCK_LANTERN_PLACE("block.lantern.place"),
    BLOCK_LANTERN_STEP("block.lantern.step"),
    BLOCK_LAVA_AMBIENT("block.lava.ambient"),
    BLOCK_LAVA_EXTINGUISH("block.lava.extinguish"),
    BLOCK_LAVA_POP("block.lava.pop"),
    BLOCK_LEVER_CLICK("block.lever.click"),
    BLOCK_LILY_PAD_PLACE("block.lily_pad.place"),
    BLOCK_METAL_BREAK("block.metal.break"),
    BLOCK_METAL_FALL("block.metal.fall"),
    BLOCK_METAL_HIT("block.metal.hit"),
    BLOCK_METAL_PLACE("block.metal.place"),
    BLOCK_METAL_PRESSURE_PLATE_CLICK_OFF("block.metal_pressure_plate.click_off"),
    BLOCK_METAL_PRESSURE_PLATE_CLICK_ON("block.metal_pressure_plate.click_on"),
    BLOCK_METAL_STEP("block.metal.step"),
    BLOCK_NETHER_WART_BREAK("block.nether_wart.break"),
    BLOCK_NOTE_BLOCK_BANJO("block.note_block.banjo"),
    BLOCK_NOTE_BLOCK_BASEDRUM("block.note_block.basedrum"),
    BLOCK_NOTE_BLOCK_BASS("block.note_block.bass"),
    BLOCK_NOTE_BLOCK_BELL("block.note_block.bell"),
    BLOCK_NOTE_BLOCK_BIT("block.note_block.bit"),
    BLOCK_NOTE_BLOCK_CHIME("block.note_block.chime"),
    BLOCK_NOTE_BLOCK_COW_BELL("block.note_block.cow_bell"),
    BLOCK_NOTE_BLOCK_DIDGERIDOO("block.note_block.didgeridoo"),
    BLOCK_NOTE_BLOCK_FLUTE("block.note_block.flute"),
    BLOCK_NOTE_BLOCK_GUITAR("block.note_block.guitar"),
    BLOCK_NOTE_BLOCK_HARP("block.note_block.harp"),
    BLOCK_NOTE_BLOCK_HAT("block.note_block.hat"),
    BLOCK_NOTE_BLOCK_IRON_XYLOPHONE("block.note_block.iron_xylophone"),
    BLOCK_NOTE_BLOCK_PLING("block.note_block.pling"),
    BLOCK_NOTE_BLOCK_SNARE("block.note_block.snare"),
    BLOCK_NOTE_BLOCK_XYLOPHONE("block.note_block.xylophone"),
    BLOCK_PISTON_CONTRACT("block.piston.contract"),
    BLOCK_PISTON_EXTEND("block.piston.extend"),
    BLOCK_PORTAL_AMBIENT("block.portal.ambient"),
    BLOCK_PORTAL_TRAVEL("block.portal.travel"),
    BLOCK_PORTAL_TRIGGER("block.portal.trigger"),
    BLOCK_PUMPKIN_CARVE("block.pumpkin.carve"),
    BLOCK_REDSTONE_TORCH_BURNOUT("block.redstone_torch.burnout"),
    BLOCK_SAND_BREAK("block.sand.break"),
    BLOCK_SAND_FALL("block.sand.fall"),
    BLOCK_SAND_HIT("block.sand.hit"),
    BLOCK_SAND_PLACE("block.sand.place"),
    BLOCK_SAND_STEP("block.sand.step"),
    BLOCK_SCAFFOLDING_BREAK("block.scaffolding.break"),
    BLOCK_SCAFFOLDING_FALL("block.scaffolding.fall"),
    BLOCK_SCAFFOLDING_HIT("block.scaffolding.hit"),
    BLOCK_SCAFFOLDING_PLACE("block.scaffolding.place"),
    BLOCK_SCAFFOLDING_STEP("block.scaffolding.step"),
    BLOCK_SHULKER_BOX_CLOSE("block.shulker_box.close"),
    BLOCK_SHULKER_BOX_OPEN("block.shulker_box.open"),
    BLOCK_SLIME_BLOCK_BREAK("block.slime_block.break"),
    BLOCK_SLIME_BLOCK_FALL("block.slime_block.fall"),
    BLOCK_SLIME_BLOCK_HIT("block.slime_block.hit"),
    BLOCK_SLIME_BLOCK_PLACE("block.slime_block.place"),
    BLOCK_SLIME_BLOCK_STEP("block.slime_block.step"),
    BLOCK_SMOKER_SMOKE("block.smoker.smoke"),
    BLOCK_SNOW_BREAK("block.snow.break"),
    BLOCK_SNOW_FALL("block.snow.fall"),
    BLOCK_SNOW_HIT("block.snow.hit"),
    BLOCK_SNOW_PLACE("block.snow.place"),
    BLOCK_SNOW_STEP("block.snow.step"),
    BLOCK_STONE_BREAK("block.stone.break"),
    BLOCK_STONE_BUTTON_CLICK_OFF("block.stone_button.click_off"),
    BLOCK_STONE_BUTTON_CLICK_ON("block.stone_button.click_on"),
    BLOCK_STONE_FALL("block.stone.fall"),
    BLOCK_STONE_HIT("block.stone.hit"),
    BLOCK_STONE_PLACE("block.stone.place"),
    BLOCK_STONE_PRESSURE_PLATE_CLICK_OFF("block.stone_pressure_plate.click_off"),
    BLOCK_STONE_PRESSURE_PLATE_CLICK_ON("block.stone_pressure_plate.click_on"),
    BLOCK_STONE_STEP("block.stone.step"),
    BLOCK_SWEET_BERRY_BUSH_BREAK("block.sweet_berry_bush.break"),
    BLOCK_SWEET_BERRY_BUSH_PLACE("block.sweet_berry_bush.place"),
    BLOCK_TRIPWIRE_ATTACH("block.tripwire.attach"),
    BLOCK_TRIPWIRE_CLICK_OFF("block.tripwire.click_off"),
    BLOCK_TRIPWIRE_CLICK_ON("block.tripwire.click_on"),
    BLOCK_TRIPWIRE_DETACH("block.tripwire.detach"),
    BLOCK_WATER_AMBIENT("block.water.ambient"),
    BLOCK_WET_GRASS_BREAK("block.wet_grass.break"),
    BLOCK_WET_GRASS_FALL("block.wet_grass.fall"),
    BLOCK_WET_GRASS_HIT("block.wet_grass.hit"),
    BLOCK_WET_GRASS_PLACE("block.wet_grass.place"),
    BLOCK_WET_GRASS_STEP("block.wet_grass.step"),
    BLOCK_WOODEN_BUTTON_CLICK_OFF("block.wooden_button.click_off"),
    BLOCK_WOODEN_BUTTON_CLICK_ON("block.wooden_button.click_on"),
    BLOCK_WOODEN_DOOR_CLOSE("block.wooden_door.close"),
    BLOCK_WOODEN_DOOR_OPEN("block.wooden_door.open"),
    BLOCK_WOODEN_PRESSURE_PLATE_CLICK_OFF("block.wooden_pressure_plate.click_off"),
    BLOCK_WOODEN_PRESSURE_PLATE_CLICK_ON("block.wooden_pressure_plate.click_on"),
    BLOCK_WOODEN_TRAPDOOR_CLOSE("block.wooden_trapdoor.close"),
    BLOCK_WOODEN_TRAPDOOR_OPEN("block.wooden_trapdoor.open"),
    BLOCK_WOOD_BREAK("block.wood.break"),
    BLOCK_WOOD_FALL("block.wood.fall"),
    BLOCK_WOOD_HIT("block.wood.hit"),
    BLOCK_WOOD_PLACE("block.wood.place"),
    BLOCK_WOOD_STEP("block.wood.step"),
    BLOCK_WOOL_BREAK("block.wool.break"),
    BLOCK_WOOL_FALL("block.wool.fall"),
    BLOCK_WOOL_HIT("block.wool.hit"),
    BLOCK_WOOL_PLACE("block.wool.place"),
    BLOCK_WOOL_STEP("block.wool.step"),
    ENCHANT_THORNS_HIT("enchant.thorns.hit"),
    ENTITY_ARMOR_STAND_BREAK("entity.armor_stand.break"),
    ENTITY_ARMOR_STAND_FALL("entity.armor_stand.fall"),
    ENTITY_ARMOR_STAND_HIT("entity.armor_stand.hit"),
    ENTITY_ARMOR_STAND_PLACE("entity.armor_stand.place"),
    ENTITY_ARROW_HIT("entity.arrow.hit"),
    ENTITY_ARROW_HIT_PLAYER("entity.arrow.hit_player"),
    ENTITY_ARROW_SHOOT("entity.arrow.shoot"),
    ENTITY_BAT_AMBIENT("entity.bat.ambient"),
    ENTITY_BAT_DEATH("entity.bat.death"),
    ENTITY_BAT_HURT("entity.bat.hurt"),
    ENTITY_BAT_LOOP("entity.bat.loop"),
    ENTITY_BAT_TAKEOFF("entity.bat.takeoff"),
    ENTITY_BEE_DEATH("entity.bee.death"),
    ENTITY_BEE_HURT("entity.bee.hurt"),
    ENTITY_BEE_LOOP("entity.bee.loop"),
    ENTITY_BEE_LOOP_AGGRESSIVE("entity.bee.loop_aggressive"),
    ENTITY_BEE_POLLINATE("entity.bee.pollinate"),
    ENTITY_BEE_STING("entity.bee.sting"),
    ENTITY_BLAZE_AMBIENT("entity.blaze.ambient"),
    ENTITY_BLAZE_BURN("entity.blaze.burn"),
    ENTITY_BLAZE_DEATH("entity.blaze.death"),
    ENTITY_BLAZE_HURT("entity.blaze.hurt"),
    ENTITY_BLAZE_SHOOT("entity.blaze.shoot"),
    ENTITY_BOAT_PADDLE_LAND("entity.boat.paddle_land"),
    ENTITY_BOAT_PADDLE_WATER("entity.boat.paddle_water"),
    ENTITY_CAT_AMBIENT("entity.cat.ambient"),
    ENTITY_CAT_BEG_FOR_FOOD("entity.cat.beg_for_food"),
    ENTITY_CAT_DEATH("entity.cat.death"),
    ENTITY_CAT_EAT("entity.cat.eat"),
    ENTITY_CAT_HISS("entity.cat.hiss"),
    ENTITY_CAT_HURT("entity.cat.hurt"),
    ENTITY_CAT_PURR("entity.cat.purr"),
    ENTITY_CAT_PURREOW("entity.cat.purreow"),
    ENTITY_CAT_STRAY_AMBIENT("entity.cat.stray_ambient"),
    ENTITY_CHICKEN_AMBIENT("entity.chicken.ambient"),
    ENTITY_CHICKEN_DEATH("entity.chicken.death"),
    ENTITY_CHICKEN_EGG("entity.chicken.egg"),
    ENTITY_CHICKEN_HURT("entity.chicken.hurt"),
    ENTITY_CHICKEN_STEP("entity.chicken.step"),
    ENTITY_COD_AMBIENT("entity.cod.ambient"),
    ENTITY_COD_DEATH("entity.cod.death"),
    ENTITY_COD_FLOP("entity.cod.flop"),
    ENTITY_COD_HURT("entity.cod.hurt"),
    ENTITY_COW_AMBIENT("entity.cow.ambient"),
    ENTITY_COW_DEATH("entity.cow.death"),
    ENTITY_COW_HURT("entity.cow.hurt"),
    ENTITY_COW_MILK("entity.cow.milk"),
    ENTITY_COW_STEP("entity.cow.step"),
    ENTITY_CREEPER_DEATH("entity.creeper.death"),
    ENTITY_CREEPER_HURT("entity.creeper.hurt"),
    ENTITY_CREEPER_PRIMED("entity.creeper.primed"),
    ENTITY_DOLPHIN_AMBIENT("entity.dolphin.ambient"),
    ENTITY_DOLPHIN_AMBIENT_WATER("entity.dolphin.ambient_water"),
    ENTITY_DOLPHIN_ATTACK("entity.dolphin.attack"),
    ENTITY_DOLPHIN_DEATH("entity.dolphin.death"),
    ENTITY_DOLPHIN_EAT("entity.dolphin.eat"),
    ENTITY_DOLPHIN_HURT("entity.dolphin.hurt"),
    ENTITY_DOLPHIN_JUMP("entity.dolphin.jump"),
    ENTITY_DOLPHIN_PLAY("entity.dolphin.play"),
    ENTITY_DOLPHIN_SPLASH("entity.dolphin.splash"),
    ENTITY_DOLPHIN_SWIM("entity.dolphin.swim"),
    ENTITY_DONKEY_AMBIENT("entity.donkey.ambient"),
    ENTITY_DONKEY_ANGRY("entity.donkey.angry"),
    ENTITY_DONKEY_CHEST("entity.donkey.chest"),
    ENTITY_DONKEY_DEATH("entity.donkey.death"),
    ENTITY_DONKEY_HURT("entity.donkey.hurt"),
    ENTITY_DRAGON_FIREBALL_EXPLODE("entity.dragon_fireball.explode"),
    ENTITY_DROWNED_AMBIENT("entity.drowned.ambient"),
    ENTITY_DROWNED_AMBIENT_WATER("entity.drowned.ambient_water"),
    ENTITY_DROWNED_DEATH("entity.drowned.death"),
    ENTITY_DROWNED_DEATH_WATER("entity.drowned.death_water"),
    ENTITY_DROWNED_HURT("entity.drowned.hurt"),
    ENTITY_DROWNED_HURT_WATER("entity.drowned.hurt_water"),
    ENTITY_DROWNED_SHOOT("entity.drowned.shoot"),
    ENTITY_DROWNED_STEP("entity.drowned.step"),
    ENTITY_DROWNED_SWIM("entity.drowned.swim"),
    ENTITY_EGG_THROW("entity.egg.throw"),
    ENTITY_ELDER_GUARDIAN_AMBIENT("entity.elder_guardian.ambient"),
    ENTITY_ELDER_GUARDIAN_AMBIENT_LAND("entity.elder_guardian.ambient_land"),
    ENTITY_ELDER_GUARDIAN_CURSE("entity.elder_guardian.curse"),
    ENTITY_ELDER_GUARDIAN_DEATH("entity.elder_guardian.death"),
    ENTITY_ELDER_GUARDIAN_DEATH_LAND("entity.elder_guardian.death_land"),
    ENTITY_ELDER_GUARDIAN_FLOP("entity.elder_guardian.flop"),
    ENTITY_ELDER_GUARDIAN_HURT("entity.elder_guardian.hurt"),
    ENTITY_ELDER_GUARDIAN_HURT_LAND("entity.elder_guardian.hurt_land"),
    ENTITY_ENDERMAN_AMBIENT("entity.enderman.ambient"),
    ENTITY_ENDERMAN_DEATH("entity.enderman.death"),
    ENTITY_ENDERMAN_HURT("entity.enderman.hurt"),
    ENTITY_ENDERMAN_SCREAM("entity.enderman.scream"),
    ENTITY_ENDERMAN_STARE("entity.enderman.stare"),
    ENTITY_ENDERMAN_TELEPORT("entity.enderman.teleport"),
    ENTITY_ENDERMITE_AMBIENT("entity.endermite.ambient"),
    ENTITY_ENDERMITE_DEATH("entity.endermite.death"),
    ENTITY_ENDERMITE_HURT("entity.endermite.hurt"),
    ENTITY_ENDERMITE_STEP("entity.endermite.step"),
    ENTITY_ENDER_DRAGON_AMBIENT("entity.ender_dragon.ambient"),
    ENTITY_ENDER_DRAGON_DEATH("entity.ender_dragon.death"),
    ENTITY_ENDER_DRAGON_FLAP("entity.ender_dragon.flap"),
    ENTITY_ENDER_DRAGON_GROWL("entity.ender_dragon.growl"),
    ENTITY_ENDER_DRAGON_HURT("entity.ender_dragon.hurt"),
    ENTITY_ENDER_DRAGON_SHOOT("entity.ender_dragon.shoot"),
    ENTITY_ENDER_EYE_DEATH("entity.ender_eye.death"),
    ENTITY_ENDER_EYE_LAUNCH("entity.ender_eye.launch"),
    ENTITY_ENDER_PEARL_THROW("entity.ender_pearl.throw"),
    ENTITY_EVOKER_AMBIENT("entity.evoker.ambient"),
    ENTITY_EVOKER_CAST_SPELL("entity.evoker.cast_spell"),
    ENTITY_EVOKER_CELEBRATE("entity.evoker.celebrate"),
    ENTITY_EVOKER_DEATH("entity.evoker.death"),
    ENTITY_EVOKER_FANGS_ATTACK("entity.evoker_fangs.attack"),
    ENTITY_EVOKER_HURT("entity.evoker.hurt"),
    ENTITY_EVOKER_PREPARE_ATTACK("entity.evoker.prepare_attack"),
    ENTITY_EVOKER_PREPARE_SUMMON("entity.evoker.prepare_summon"),
    ENTITY_EVOKER_PREPARE_WOLOLO("entity.evoker.prepare_wololo"),
    ENTITY_EXPERIENCE_BOTTLE_THROW("entity.experience_bottle.throw"),
    ENTITY_EXPERIENCE_ORB_PICKUP("entity.experience_orb.pickup"),
    ENTITY_FIREWORK_ROCKET_BLAST("entity.firework_rocket.blast"),
    ENTITY_FIREWORK_ROCKET_BLAST_FAR("entity.firework_rocket.blast_far"),
    ENTITY_FIREWORK_ROCKET_LARGE_BLAST("entity.firework_rocket.large_blast"),
    ENTITY_FIREWORK_ROCKET_LARGE_BLAST_FAR("entity.firework_rocket.large_blast_far"),
    ENTITY_FIREWORK_ROCKET_LAUNCH("entity.firework_rocket.launch"),
    ENTITY_FIREWORK_ROCKET_SHOOT("entity.firework_rocket.shoot"),
    ENTITY_FIREWORK_ROCKET_TWINKLE("entity.firework_rocket.twinkle"),
    ENTITY_FIREWORK_ROCKET_TWINKLE_FAR("entity.firework_rocket.twinkle_far"),
    ENTITY_FISHING_BOBBER_RETRIEVE("entity.fishing_bobber.retrieve"),
    ENTITY_FISHING_BOBBER_SPLASH("entity.fishing_bobber.splash"),
    ENTITY_FISHING_BOBBER_THROW("entity.fishing_bobber.throw"),
    ENTITY_FISH_SWIM("entity.fish.swim"),
    ENTITY_FOX_AGGRO("entity.fox.aggro"),
    ENTITY_FOX_AMBIENT("entity.fox.ambient"),
    ENTITY_FOX_BITE("entity.fox.bite"),
    ENTITY_FOX_DEATH("entity.fox.death"),
    ENTITY_FOX_EAT("entity.fox.eat"),
    ENTITY_FOX_HURT("entity.fox.hurt"),
    ENTITY_FOX_SCREECH("entity.fox.screech"),
    ENTITY_FOX_SLEEP("entity.fox.sleep"),
    ENTITY_FOX_SNIFF("entity.fox.sniff"),
    ENTITY_FOX_SPIT("entity.fox.spit"),
    ENTITY_GENERIC_BIG_FALL("entity.generic.big_fall"),
    ENTITY_GENERIC_BURN("entity.generic.burn"),
    ENTITY_GENERIC_DEATH("entity.generic.death"),
    ENTITY_GENERIC_DRINK("entity.generic.drink"),
    ENTITY_GENERIC_EAT("entity.generic.eat"),
    ENTITY_GENERIC_EXPLODE("entity.generic.explode"),
    ENTITY_GENERIC_EXTINGUISH_FIRE("entity.generic.extinguish_fire"),
    ENTITY_GENERIC_HURT("entity.generic.hurt"),
    ENTITY_GENERIC_SMALL_FALL("entity.generic.small_fall"),
    ENTITY_GENERIC_SPLASH("entity.generic.splash"),
    ENTITY_GENERIC_SWIM("entity.generic.swim"),
    ENTITY_GHAST_AMBIENT("entity.ghast.ambient"),
    ENTITY_GHAST_DEATH("entity.ghast.death"),
    ENTITY_GHAST_HURT("entity.ghast.hurt"),
    ENTITY_GHAST_SCREAM("entity.ghast.scream"),
    ENTITY_GHAST_SHOOT("entity.ghast.shoot"),
    ENTITY_GHAST_WARN("entity.ghast.warn"),
    ENTITY_GUARDIAN_AMBIENT("entity.guardian.ambient"),
    ENTITY_GUARDIAN_AMBIENT_LAND("entity.guardian.ambient_land"),
    ENTITY_GUARDIAN_ATTACK("entity.guardian.attack"),
    ENTITY_GUARDIAN_DEATH("entity.guardian.death"),
    ENTITY_GUARDIAN_DEATH_LAND("entity.guardian.death_land"),
    ENTITY_GUARDIAN_FLOP("entity.guardian.flop"),
    ENTITY_GUARDIAN_HURT("entity.guardian.hurt"),
    ENTITY_GUARDIAN_HURT_LAND("entity.guardian.hurt_land"),
    ENTITY_HORSE_AMBIENT("entity.horse.ambient"),
    ENTITY_HORSE_ANGRY("entity.horse.angry"),
    ENTITY_HORSE_ARMOR("entity.horse.armor"),
    ENTITY_HORSE_BREATHE("entity.horse.breathe"),
    ENTITY_HORSE_DEATH("entity.horse.death"),
    ENTITY_HORSE_EAT("entity.horse.eat"),
    ENTITY_HORSE_GALLOP("entity.horse.gallop"),
    ENTITY_HORSE_HURT("entity.horse.hurt"),
    ENTITY_HORSE_JUMP("entity.horse.jump"),
    ENTITY_HORSE_LAND("entity.horse.land"),
    ENTITY_HORSE_SADDLE("entity.horse.saddle"),
    ENTITY_HORSE_STEP("entity.horse.step"),
    ENTITY_HORSE_STEP_WOOD("entity.horse.step_wood"),
    ENTITY_HOSTILE_BIG_FALL("entity.hostile.big_fall"),
    ENTITY_HOSTILE_DEATH("entity.hostile.death"),
    ENTITY_HOSTILE_HURT("entity.hostile.hurt"),
    ENTITY_HOSTILE_SMALL_FALL("entity.hostile.small_fall"),
    ENTITY_HOSTILE_SPLASH("entity.hostile.splash"),
    ENTITY_HOSTILE_SWIM("entity.hostile.swim"),
    ENTITY_HUSK_AMBIENT("entity.husk.ambient"),
    ENTITY_HUSK_CONVERTED_TO_ZOMBIE("entity.husk.converted_to_zombie"),
    ENTITY_HUSK_DEATH("entity.husk.death"),
    ENTITY_HUSK_HURT("entity.husk.hurt"),
    ENTITY_HUSK_STEP("entity.husk.step"),
    ENTITY_ILLUSIONER_AMBIENT("entity.illusioner.ambient"),
    ENTITY_ILLUSIONER_CAST_SPELL("entity.illusioner.cast_spell"),
    ENTITY_ILLUSIONER_DEATH("entity.illusioner.death"),
    ENTITY_ILLUSIONER_HURT("entity.illusioner.hurt"),
    ENTITY_ILLUSIONER_MIRROR_MOVE("entity.illusioner.mirror_move"),
    ENTITY_ILLUSIONER_PREPARE_BLINDNESS("entity.illusioner.prepare_blindness"),
    ENTITY_ILLUSIONER_PREPARE_MIRROR("entity.illusioner.prepare_mirror"),
    ENTITY_IRON_GOLEM_ATTACK("entity.iron_golem.attack"),
    ENTITY_IRON_GOLEM_DAMAGE("entity.iron_golem.damage"),
    ENTITY_IRON_GOLEM_DEATH("entity.iron_golem.death"),
    ENTITY_IRON_GOLEM_HURT("entity.iron_golem.hurt"),
    ENTITY_IRON_GOLEM_REPAIR("entity.iron_golem.repair"),
    ENTITY_IRON_GOLEM_STEP("entity.iron_golem.step"),
    ENTITY_ITEM_BREAK("entity.item.break"),
    ENTITY_ITEM_FRAME_ADD_ITEM("entity.item_frame.add_item"),
    ENTITY_ITEM_FRAME_BREAK("entity.item_frame.break"),
    ENTITY_ITEM_FRAME_PLACE("entity.item_frame.place"),
    ENTITY_ITEM_FRAME_REMOVE_ITEM("entity.item_frame.remove_item"),
    ENTITY_ITEM_FRAME_ROTATE_ITEM("entity.item_frame.rotate_item"),
    ENTITY_ITEM_PICKUP("entity.item.pickup"),
    ENTITY_LEASH_KNOT_BREAK("entity.leash_knot.break"),
    ENTITY_LEASH_KNOT_PLACE("entity.leash_knot.place"),
    ENTITY_LIGHTNING_BOLT_IMPACT("entity.lightning_bolt.impact"),
    ENTITY_LIGHTNING_BOLT_THUNDER("entity.lightning_bolt.thunder"),
    ENTITY_LINGERING_POTION_THROW("entity.lingering_potion.throw"),
    ENTITY_LLAMA_AMBIENT("entity.llama.ambient"),
    ENTITY_LLAMA_ANGRY("entity.llama.angry"),
    ENTITY_LLAMA_CHEST("entity.llama.chest"),
    ENTITY_LLAMA_DEATH("entity.llama.death"),
    ENTITY_LLAMA_EAT("entity.llama.eat"),
    ENTITY_LLAMA_HURT("entity.llama.hurt"),
    ENTITY_LLAMA_SPIT("entity.llama.spit"),
    ENTITY_LLAMA_STEP("entity.llama.step"),
    ENTITY_LLAMA_SWAG("entity.llama.swag"),
    ENTITY_MAGMA_CUBE_DEATH("entity.magma_cube.death"),
    ENTITY_MAGMA_CUBE_DEATH_SMALL("entity.magma_cube.death_small"),
    ENTITY_MAGMA_CUBE_HURT("entity.magma_cube.hurt"),
    ENTITY_MAGMA_CUBE_HURT_SMALL("entity.magma_cube.hurt_small"),
    ENTITY_MAGMA_CUBE_JUMP("entity.magma_cube.jump"),
    ENTITY_MAGMA_CUBE_SQUISH("entity.magma_cube.squish"),
    ENTITY_MAGMA_CUBE_SQUISH_SMALL("entity.magma_cube.squish_small"),
    ENTITY_MINECART_INSIDE("entity.minecart.inside"),
    ENTITY_MINECART_RIDING("entity.minecart.riding"),
    ENTITY_MOOSHROOM_CONVERT("entity.mooshroom.convert"),
    ENTITY_MOOSHROOM_EAT("entity.mooshroom.eat"),
    ENTITY_MOOSHROOM_MILK("entity.mooshroom.milk"),
    ENTITY_MOOSHROOM_SHEAR("entity.mooshroom.shear"),
    ENTITY_MOOSHROOM_SUSPICIOUS_MILK("entity.mooshroom.suspicious_milk"),
    ENTITY_MULE_AMBIENT("entity.mule.ambient"),
    ENTITY_MULE_CHEST("entity.mule.chest"),
    ENTITY_MULE_DEATH("entity.mule.death"),
    ENTITY_MULE_HURT("entity.mule.hurt"),
    ENTITY_OCELOT_AMBIENT("entity.ocelot.ambient"),
    ENTITY_OCELOT_DEATH("entity.ocelot.death"),
    ENTITY_OCELOT_HURT("entity.ocelot.hurt"),
    ENTITY_PAINTING_BREAK("entity.painting.break"),
    ENTITY_PAINTING_PLACE("entity.painting.place"),
    ENTITY_PANDA_AGGRESSIVE_AMBIENT("entity.panda.aggressive_ambient"),
    ENTITY_PANDA_AMBIENT("entity.panda.ambient"),
    ENTITY_PANDA_BITE("entity.panda.bite"),
    ENTITY_PANDA_CANT_BREED("entity.panda.cant_breed"),
    ENTITY_PANDA_DEATH("entity.panda.death"),
    ENTITY_PANDA_EAT("entity.panda.eat"),
    ENTITY_PANDA_HURT("entity.panda.hurt"),
    ENTITY_PANDA_PRE_SNEEZE("entity.panda.pre_sneeze"),
    ENTITY_PANDA_SNEEZE("entity.panda.sneeze"),
    ENTITY_PANDA_STEP("entity.panda.step"),
    ENTITY_PANDA_WORRIED_AMBIENT("entity.panda.worried_ambient"),
    ENTITY_PARROT_AMBIENT("entity.parrot.ambient"),
    ENTITY_PARROT_DEATH("entity.parrot.death"),
    ENTITY_PARROT_EAT("entity.parrot.eat"),
    ENTITY_PARROT_FLY("entity.parrot.fly"),
    ENTITY_PARROT_HURT("entity.parrot.hurt"),
    ENTITY_PARROT_IMITATE_BLAZE("entity.parrot.imitate.blaze"),
    ENTITY_PARROT_IMITATE_CREEPER("entity.parrot.imitate.creeper"),
    ENTITY_PARROT_IMITATE_DROWNED("entity.parrot.imitate.drowned"),
    ENTITY_PARROT_IMITATE_ELDER_GUARDIAN("entity.parrot.imitate.elder_guardian"),
    ENTITY_PARROT_IMITATE_ENDERMITE("entity.parrot.imitate.endermite"),
    ENTITY_PARROT_IMITATE_ENDER_DRAGON("entity.parrot.imitate.ender_dragon"),
    ENTITY_PARROT_IMITATE_EVOKER("entity.parrot.imitate.evoker"),
    ENTITY_PARROT_IMITATE_GHAST("entity.parrot.imitate.ghast"),
    ENTITY_PARROT_IMITATE_GUARDIAN("entity.parrot.imitate.guardian"),
    ENTITY_PARROT_IMITATE_HUSK("entity.parrot.imitate.husk"),
    ENTITY_PARROT_IMITATE_ILLUSIONER("entity.parrot.imitate.illusioner"),
    ENTITY_PARROT_IMITATE_MAGMA_CUBE("entity.parrot.imitate.magma_cube"),
    ENTITY_PARROT_IMITATE_PHANTOM("entity.parrot.imitate.phantom"),
    ENTITY_PARROT_IMITATE_PILLAGER("entity.parrot.imitate.pillager"),
    ENTITY_PARROT_IMITATE_RAVAGER("entity.parrot.imitate.ravager"),
    ENTITY_PARROT_IMITATE_SHULKER("entity.parrot.imitate.shulker"),
    ENTITY_PARROT_IMITATE_SILVERFISH("entity.parrot.imitate.silverfish"),
    ENTITY_PARROT_IMITATE_SKELETON("entity.parrot.imitate.skeleton"),
    ENTITY_PARROT_IMITATE_SLIME("entity.parrot.imitate.slime"),
    ENTITY_PARROT_IMITATE_SPIDER("entity.parrot.imitate.spider"),
    ENTITY_PARROT_IMITATE_STRAY("entity.parrot.imitate.stray"),
    ENTITY_PARROT_IMITATE_VEX("entity.parrot.imitate.vex"),
    ENTITY_PARROT_IMITATE_VINDICATOR("entity.parrot.imitate.vindicator"),
    ENTITY_PARROT_IMITATE_WITCH("entity.parrot.imitate.witch"),
    ENTITY_PARROT_IMITATE_WITHER("entity.parrot.imitate.wither"),
    ENTITY_PARROT_IMITATE_WITHER_SKELETON("entity.parrot.imitate.wither_skeleton"),
    ENTITY_PARROT_IMITATE_ZOMBIE("entity.parrot.imitate.zombie"),
    ENTITY_PARROT_IMITATE_ZOMBIE_VILLAGER("entity.parrot.imitate.zombie_villager"),
    ENTITY_PARROT_STEP("entity.parrot.step"),
    ENTITY_PHANTOM_AMBIENT("entity.phantom.ambient"),
    ENTITY_PHANTOM_BITE("entity.phantom.bite"),
    ENTITY_PHANTOM_DEATH("entity.phantom.death"),
    ENTITY_PHANTOM_FLAP("entity.phantom.flap"),
    ENTITY_PHANTOM_HURT("entity.phantom.hurt"),
    ENTITY_PHANTOM_SWOOP("entity.phantom.swoop"),
    ENTITY_PIG_AMBIENT("entity.pig.ambient"),
    ENTITY_PIG_DEATH("entity.pig.death"),
    ENTITY_PIG_HURT("entity.pig.hurt"),
    ENTITY_PIG_SADDLE("entity.pig.saddle"),
    ENTITY_PIG_STEP("entity.pig.step"),
    ENTITY_PILLAGER_AMBIENT("entity.pillager.ambient"),
    ENTITY_PILLAGER_CELEBRATE("entity.pillager.celebrate"),
    ENTITY_PILLAGER_DEATH("entity.pillager.death"),
    ENTITY_PILLAGER_HURT("entity.pillager.hurt"),
    ENTITY_PLAYER_ATTACK_CRIT("entity.player.attack.crit"),
    ENTITY_PLAYER_ATTACK_KNOCKBACK("entity.player.attack.knockback"),
    ENTITY_PLAYER_ATTACK_NODAMAGE("entity.player.attack.nodamage"),
    ENTITY_PLAYER_ATTACK_STRONG("entity.player.attack.strong"),
    ENTITY_PLAYER_ATTACK_SWEEP("entity.player.attack.sweep"),
    ENTITY_PLAYER_ATTACK_WEAK("entity.player.attack.weak"),
    ENTITY_PLAYER_BIG_FALL("entity.player.big_fall"),
    ENTITY_PLAYER_BREATH("entity.player.breath"),
    ENTITY_PLAYER_BURP("entity.player.burp"),
    ENTITY_PLAYER_DEATH("entity.player.death"),
    ENTITY_PLAYER_HURT("entity.player.hurt"),
    ENTITY_PLAYER_HURT_DROWN("entity.player.hurt_drown"),
    ENTITY_PLAYER_HURT_ON_FIRE("entity.player.hurt_on_fire"),
    ENTITY_PLAYER_HURT_SWEET_BERRY_BUSH("entity.player.hurt_sweet_berry_bush"),
    ENTITY_PLAYER_LEVELUP("entity.player.levelup"),
    ENTITY_PLAYER_SMALL_FALL("entity.player.small_fall"),
    ENTITY_PLAYER_SPLASH("entity.player.splash"),
    ENTITY_PLAYER_SPLASH_HIGH_SPEED("entity.player.splash.high_speed"),
    ENTITY_PLAYER_SWIM("entity.player.swim"),
    ENTITY_POLAR_BEAR_AMBIENT("entity.polar_bear.ambient"),
    ENTITY_POLAR_BEAR_AMBIENT_BABY("entity.polar_bear.ambient_baby"),
    ENTITY_POLAR_BEAR_DEATH("entity.polar_bear.death"),
    ENTITY_POLAR_BEAR_HURT("entity.polar_bear.hurt"),
    ENTITY_POLAR_BEAR_STEP("entity.polar_bear.step"),
    ENTITY_POLAR_BEAR_WARNING("entity.polar_bear.warning"),
    ENTITY_PUFFER_FISH_AMBIENT("entity.puffer_fish.ambient"),
    ENTITY_PUFFER_FISH_BLOW_OUT("entity.puffer_fish.blow_out"),
    ENTITY_PUFFER_FISH_BLOW_UP("entity.puffer_fish.blow_up"),
    ENTITY_PUFFER_FISH_DEATH("entity.puffer_fish.death"),
    ENTITY_PUFFER_FISH_FLOP("entity.puffer_fish.flop"),
    ENTITY_PUFFER_FISH_HURT("entity.puffer_fish.hurt"),
    ENTITY_PUFFER_FISH_STING("entity.puffer_fish.sting"),
    ENTITY_RABBIT_AMBIENT("entity.rabbit.ambient"),
    ENTITY_RABBIT_ATTACK("entity.rabbit.attack"),
    ENTITY_RABBIT_DEATH("entity.rabbit.death"),
    ENTITY_RABBIT_HURT("entity.rabbit.hurt"),
    ENTITY_RABBIT_JUMP("entity.rabbit.jump"),
    ENTITY_RAVAGER_AMBIENT("entity.ravager.ambient"),
    ENTITY_RAVAGER_ATTACK("entity.ravager.attack"),
    ENTITY_RAVAGER_CELEBRATE("entity.ravager.celebrate"),
    ENTITY_RAVAGER_DEATH("entity.ravager.death"),
    ENTITY_RAVAGER_HURT("entity.ravager.hurt"),
    ENTITY_RAVAGER_ROAR("entity.ravager.roar"),
    ENTITY_RAVAGER_STEP("entity.ravager.step"),
    ENTITY_RAVAGER_STUNNED("entity.ravager.stunned"),
    ENTITY_SALMON_AMBIENT("entity.salmon.ambient"),
    ENTITY_SALMON_DEATH("entity.salmon.death"),
    ENTITY_SALMON_FLOP("entity.salmon.flop"),
    ENTITY_SALMON_HURT("entity.salmon.hurt"),
    ENTITY_SHEEP_AMBIENT("entity.sheep.ambient"),
    ENTITY_SHEEP_DEATH("entity.sheep.death"),
    ENTITY_SHEEP_HURT("entity.sheep.hurt"),
    ENTITY_SHEEP_SHEAR("entity.sheep.shear"),
    ENTITY_SHEEP_STEP("entity.sheep.step"),
    ENTITY_SHULKER_AMBIENT("entity.shulker.ambient"),
    ENTITY_SHULKER_BULLET_HIT("entity.shulker_bullet.hit"),
    ENTITY_SHULKER_BULLET_HURT("entity.shulker_bullet.hurt"),
    ENTITY_SHULKER_CLOSE("entity.shulker.close"),
    ENTITY_SHULKER_DEATH("entity.shulker.death"),
    ENTITY_SHULKER_HURT("entity.shulker.hurt"),
    ENTITY_SHULKER_HURT_CLOSED("entity.shulker.hurt_closed"),
    ENTITY_SHULKER_OPEN("entity.shulker.open"),
    ENTITY_SHULKER_SHOOT("entity.shulker.shoot"),
    ENTITY_SHULKER_TELEPORT("entity.shulker.teleport"),
    ENTITY_SILVERFISH_AMBIENT("entity.silverfish.ambient"),
    ENTITY_SILVERFISH_DEATH("entity.silverfish.death"),
    ENTITY_SILVERFISH_HURT("entity.silverfish.hurt"),
    ENTITY_SILVERFISH_STEP("entity.silverfish.step"),
    ENTITY_SKELETON_AMBIENT("entity.skeleton.ambient"),
    ENTITY_SKELETON_DEATH("entity.skeleton.death"),
    ENTITY_SKELETON_HORSE_AMBIENT("entity.skeleton_horse.ambient"),
    ENTITY_SKELETON_HORSE_AMBIENT_WATER("entity.skeleton_horse.ambient_water"),
    ENTITY_SKELETON_HORSE_DEATH("entity.skeleton_horse.death"),
    ENTITY_SKELETON_HORSE_GALLOP_WATER("entity.skeleton_horse.gallop_water"),
    ENTITY_SKELETON_HORSE_HURT("entity.skeleton_horse.hurt"),
    ENTITY_SKELETON_HORSE_JUMP_WATER("entity.skeleton_horse.jump_water"),
    ENTITY_SKELETON_HORSE_STEP_WATER("entity.skeleton_horse.step_water"),
    ENTITY_SKELETON_HORSE_SWIM("entity.skeleton_horse.swim"),
    ENTITY_SKELETON_HURT("entity.skeleton.hurt"),
    ENTITY_SKELETON_SHOOT("entity.skeleton.shoot"),
    ENTITY_SKELETON_STEP("entity.skeleton.step"),
    ENTITY_SLIME_ATTACK("entity.slime.attack"),
    ENTITY_SLIME_DEATH("entity.slime.death"),
    ENTITY_SLIME_DEATH_SMALL("entity.slime.death_small"),
    ENTITY_SLIME_HURT("entity.slime.hurt"),
    ENTITY_SLIME_HURT_SMALL("entity.slime.hurt_small"),
    ENTITY_SLIME_JUMP("entity.slime.jump"),
    ENTITY_SLIME_JUMP_SMALL("entity.slime.jump_small"),
    ENTITY_SLIME_SQUISH("entity.slime.squish"),
    ENTITY_SLIME_SQUISH_SMALL("entity.slime.squish_small"),
    ENTITY_SNOWBALL_THROW("entity.snowball.throw"),
    ENTITY_SNOW_GOLEM_AMBIENT("entity.snow_golem.ambient"),
    ENTITY_SNOW_GOLEM_DEATH("entity.snow_golem.death"),
    ENTITY_SNOW_GOLEM_HURT("entity.snow_golem.hurt"),
    ENTITY_SNOW_GOLEM_SHOOT("entity.snow_golem.shoot"),
    ENTITY_SPIDER_AMBIENT("entity.spider.ambient"),
    ENTITY_SPIDER_DEATH("entity.spider.death"),
    ENTITY_SPIDER_HURT("entity.spider.hurt"),
    ENTITY_SPIDER_STEP("entity.spider.step"),
    ENTITY_SPLASH_POTION_BREAK("entity.splash_potion.break"),
    ENTITY_SPLASH_POTION_THROW("entity.splash_potion.throw"),
    ENTITY_SQUID_AMBIENT("entity.squid.ambient"),
    ENTITY_SQUID_DEATH("entity.squid.death"),
    ENTITY_SQUID_HURT("entity.squid.hurt"),
    ENTITY_SQUID_SQUIRT("entity.squid.squirt"),
    ENTITY_STRAY_AMBIENT("entity.stray.ambient"),
    ENTITY_STRAY_DEATH("entity.stray.death"),
    ENTITY_STRAY_HURT("entity.stray.hurt"),
    ENTITY_STRAY_STEP("entity.stray.step"),
    ENTITY_TNT_PRIMED("entity.tnt.primed"),
    ENTITY_TROPICAL_FISH_AMBIENT("entity.tropical_fish.ambient"),
    ENTITY_TROPICAL_FISH_DEATH("entity.tropical_fish.death"),
    ENTITY_TROPICAL_FISH_FLOP("entity.tropical_fish.flop"),
    ENTITY_TROPICAL_FISH_HURT("entity.tropical_fish.hurt"),
    ENTITY_TURTLE_AMBIENT_LAND("entity.turtle.ambient_land"),
    ENTITY_TURTLE_DEATH("entity.turtle.death"),
    ENTITY_TURTLE_DEATH_BABY("entity.turtle.death_baby"),
    ENTITY_TURTLE_EGG_BREAK("entity.turtle.egg_break"),
    ENTITY_TURTLE_EGG_CRACK("entity.turtle.egg_crack"),
    ENTITY_TURTLE_EGG_HATCH("entity.turtle.egg_hatch"),
    ENTITY_TURTLE_HURT("entity.turtle.hurt"),
    ENTITY_TURTLE_HURT_BABY("entity.turtle.hurt_baby"),
    ENTITY_TURTLE_LAY_EGG("entity.turtle.lay_egg"),
    ENTITY_TURTLE_SHAMBLE("entity.turtle.shamble"),
    ENTITY_TURTLE_SHAMBLE_BABY("entity.turtle.shamble_baby"),
    ENTITY_TURTLE_SWIM("entity.turtle.swim"),
    ENTITY_VEX_AMBIENT("entity.vex.ambient"),
    ENTITY_VEX_CHARGE("entity.vex.charge"),
    ENTITY_VEX_DEATH("entity.vex.death"),
    ENTITY_VEX_HURT("entity.vex.hurt"),
    ENTITY_VILLAGER_AMBIENT("entity.villager.ambient"),
    ENTITY_VILLAGER_CELEBRATE("entity.villager.celebrate"),
    ENTITY_VILLAGER_DEATH("entity.villager.death"),
    ENTITY_VILLAGER_HURT("entity.villager.hurt"),
    ENTITY_VILLAGER_NO("entity.villager.no"),
    ENTITY_VILLAGER_TRADE("entity.villager.trade"),
    ENTITY_VILLAGER_WORK_ARMORER("entity.villager.work_armorer"),
    ENTITY_VILLAGER_WORK_BUTCHER("entity.villager.work_butcher"),
    ENTITY_VILLAGER_WORK_CARTOGRAPHER("entity.villager.work_cartographer"),
    ENTITY_VILLAGER_WORK_CLERIC("entity.villager.work_cleric"),
    ENTITY_VILLAGER_WORK_FARMER("entity.villager.work_farmer"),
    ENTITY_VILLAGER_WORK_FISHERMAN("entity.villager.work_fisherman"),
    ENTITY_VILLAGER_WORK_FLETCHER("entity.villager.work_fletcher"),
    ENTITY_VILLAGER_WORK_LEATHERWORKER("entity.villager.work_leatherworker"),
    ENTITY_VILLAGER_WORK_LIBRARIAN("entity.villager.work_librarian"),
    ENTITY_VILLAGER_WORK_MASON("entity.villager.work_mason"),
    ENTITY_VILLAGER_WORK_SHEPHERD("entity.villager.work_shepherd"),
    ENTITY_VILLAGER_WORK_TOOLSMITH("entity.villager.work_toolsmith"),
    ENTITY_VILLAGER_WORK_WEAPONSMITH("entity.villager.work_weaponsmith"),
    ENTITY_VILLAGER_YES("entity.villager.yes"),
    ENTITY_VINDICATOR_AMBIENT("entity.vindicator.ambient"),
    ENTITY_VINDICATOR_CELEBRATE("entity.vindicator.celebrate"),
    ENTITY_VINDICATOR_DEATH("entity.vindicator.death"),
    ENTITY_VINDICATOR_HURT("entity.vindicator.hurt"),
    ENTITY_WANDERING_TRADER_AMBIENT("entity.wandering_trader.ambient"),
    ENTITY_WANDERING_TRADER_DEATH("entity.wandering_trader.death"),
    ENTITY_WANDERING_TRADER_DISAPPEARED("entity.wandering_trader.disappeared"),
    ENTITY_WANDERING_TRADER_DRINK_MILK("entity.wandering_trader.drink_milk"),
    ENTITY_WANDERING_TRADER_DRINK_POTION("entity.wandering_trader.drink_potion"),
    ENTITY_WANDERING_TRADER_HURT("entity.wandering_trader.hurt"),
    ENTITY_WANDERING_TRADER_NO("entity.wandering_trader.no"),
    ENTITY_WANDERING_TRADER_REAPPEARED("entity.wandering_trader.reappeared"),
    ENTITY_WANDERING_TRADER_TRADE("entity.wandering_trader.trade"),
    ENTITY_WANDERING_TRADER_YES("entity.wandering_trader.yes"),
    ENTITY_WITCH_AMBIENT("entity.witch.ambient"),
    ENTITY_WITCH_CELEBRATE("entity.witch.celebrate"),
    ENTITY_WITCH_DEATH("entity.witch.death"),
    ENTITY_WITCH_DRINK("entity.witch.drink"),
    ENTITY_WITCH_HURT("entity.witch.hurt"),
    ENTITY_WITCH_THROW("entity.witch.throw"),
    ENTITY_WITHER_AMBIENT("entity.wither.ambient"),
    ENTITY_WITHER_BREAK_BLOCK("entity.wither.break_block"),
    ENTITY_WITHER_DEATH("entity.wither.death"),
    ENTITY_WITHER_HURT("entity.wither.hurt"),
    ENTITY_WITHER_SHOOT("entity.wither.shoot"),
    ENTITY_WITHER_SKELETON_AMBIENT("entity.wither_skeleton.ambient"),
    ENTITY_WITHER_SKELETON_DEATH("entity.wither_skeleton.death"),
    ENTITY_WITHER_SKELETON_HURT("entity.wither_skeleton.hurt"),
    ENTITY_WITHER_SKELETON_STEP("entity.wither_skeleton.step"),
    ENTITY_WITHER_SPAWN("entity.wither.spawn"),
    ENTITY_WOLF_AMBIENT("entity.wolf.ambient"),
    ENTITY_WOLF_DEATH("entity.wolf.death"),
    ENTITY_WOLF_GROWL("entity.wolf.growl"),
    ENTITY_WOLF_HOWL("entity.wolf.howl"),
    ENTITY_WOLF_HURT("entity.wolf.hurt"),
    ENTITY_WOLF_PANT("entity.wolf.pant"),
    ENTITY_WOLF_SHAKE("entity.wolf.shake"),
    ENTITY_WOLF_STEP("entity.wolf.step"),
    ENTITY_WOLF_WHINE("entity.wolf.whine"),
    ENTITY_ZOMBIE_AMBIENT("entity.zombie.ambient"),
    ENTITY_ZOMBIE_ATTACK_IRON_DOOR("entity.zombie.attack_iron_door"),
    ENTITY_ZOMBIE_ATTACK_WOODEN_DOOR("entity.zombie.attack_wooden_door"),
    ENTITY_ZOMBIE_BREAK_WOODEN_DOOR("entity.zombie.break_wooden_door"),
    ENTITY_ZOMBIE_CONVERTED_TO_DROWNED("entity.zombie.converted_to_drowned"),
    ENTITY_ZOMBIE_DEATH("entity.zombie.death"),
    ENTITY_ZOMBIE_DESTROY_EGG("entity.zombie.destroy_egg"),
    ENTITY_ZOMBIE_HORSE_AMBIENT("entity.zombie_horse.ambient"),
    ENTITY_ZOMBIE_HORSE_DEATH("entity.zombie_horse.death"),
    ENTITY_ZOMBIE_HORSE_HURT("entity.zombie_horse.hurt"),
    ENTITY_ZOMBIE_HURT("entity.zombie.hurt"),
    ENTITY_ZOMBIE_INFECT("entity.zombie.infect"),
    ENTITY_ZOMBIE_PIGMAN_AMBIENT("entity.zombie_pigman.ambient"),
    ENTITY_ZOMBIE_PIGMAN_ANGRY("entity.zombie_pigman.angry"),
    ENTITY_ZOMBIE_PIGMAN_DEATH("entity.zombie_pigman.death"),
    ENTITY_ZOMBIE_PIGMAN_HURT("entity.zombie_pigman.hurt"),
    ENTITY_ZOMBIE_STEP("entity.zombie.step"),
    ENTITY_ZOMBIE_VILLAGER_AMBIENT("entity.zombie_villager.ambient"),
    ENTITY_ZOMBIE_VILLAGER_CONVERTED("entity.zombie_villager.converted"),
    ENTITY_ZOMBIE_VILLAGER_CURE("entity.zombie_villager.cure"),
    ENTITY_ZOMBIE_VILLAGER_DEATH("entity.zombie_villager.death"),
    ENTITY_ZOMBIE_VILLAGER_HURT("entity.zombie_villager.hurt"),
    ENTITY_ZOMBIE_VILLAGER_STEP("entity.zombie_villager.step"),
    EVENT_RAID_HORN("event.raid.horn"),
    ITEM_ARMOR_EQUIP_CHAIN("item.armor.equip_chain"),
    ITEM_ARMOR_EQUIP_DIAMOND("item.armor.equip_diamond"),
    ITEM_ARMOR_EQUIP_ELYTRA("item.armor.equip_elytra"),
    ITEM_ARMOR_EQUIP_GENERIC("item.armor.equip_generic"),
    ITEM_ARMOR_EQUIP_GOLD("item.armor.equip_gold"),
    ITEM_ARMOR_EQUIP_IRON("item.armor.equip_iron"),
    ITEM_ARMOR_EQUIP_LEATHER("item.armor.equip_leather"),
    ITEM_ARMOR_EQUIP_TURTLE("item.armor.equip_turtle"),
    ITEM_AXE_STRIP("item.axe.strip"),
    ITEM_BOOK_PAGE_TURN("item.book.page_turn"),
    ITEM_BOOK_PUT("item.book.put"),
    ITEM_BOTTLE_EMPTY("item.bottle.empty"),
    ITEM_BOTTLE_FILL("item.bottle.fill"),
    ITEM_BOTTLE_FILL_DRAGONBREATH("item.bottle.fill_dragonbreath"),
    ITEM_BUCKET_EMPTY("item.bucket.empty"),
    ITEM_BUCKET_EMPTY_FISH("item.bucket.empty_fish"),
    ITEM_BUCKET_EMPTY_LAVA("item.bucket.empty_lava"),
    ITEM_BUCKET_FILL("item.bucket.fill"),
    ITEM_BUCKET_FILL_FISH("item.bucket.fill_fish"),
    ITEM_BUCKET_FILL_LAVA("item.bucket.fill_lava"),
    ITEM_CHORUS_FRUIT_TELEPORT("item.chorus_fruit.teleport"),
    ITEM_CROP_PLANT("item.crop.plant"),
    ITEM_CROSSBOW_HIT("item.crossbow.hit"),
    ITEM_CROSSBOW_LOADING_END("item.crossbow.loading_end"),
    ITEM_CROSSBOW_LOADING_MIDDLE("item.crossbow.loading_middle"),
    ITEM_CROSSBOW_LOADING_START("item.crossbow.loading_start"),
    ITEM_CROSSBOW_QUICK_CHARGE_1("item.crossbow.quick_charge_1"),
    ITEM_CROSSBOW_QUICK_CHARGE_2("item.crossbow.quick_charge_2"),
    ITEM_CROSSBOW_QUICK_CHARGE_3("item.crossbow.quick_charge_3"),
    ITEM_CROSSBOW_SHOOT("item.crossbow.shoot"),
    ITEM_ELYTRA_FLYING("item.elytra.flying"),
    ITEM_FIRECHARGE_USE("item.firecharge.use"),
    ITEM_FLINTANDSTEEL_USE("item.flintandsteel.use"),
    ITEM_HOE_TILL("item.hoe.till"),
    ITEM_HONEY_BOTTLE_DRINK("item.honey_bottle.drink"),
    ITEM_NETHER_WART_PLANT("item.nether_wart.plant"),
    ITEM_SHIELD_BLOCK("item.shield.block"),
    ITEM_SHIELD_BREAK("item.shield.break"),
    ITEM_SHOVEL_FLATTEN("item.shovel.flatten"),
    ITEM_SWEET_BERRIES_PICK_FROM_BUSH("item.sweet_berries.pick_from_bush"),
    ITEM_TOTEM_USE("item.totem.use"),
    ITEM_TRIDENT_HIT("item.trident.hit"),
    ITEM_TRIDENT_HIT_GROUND("item.trident.hit_ground"),
    ITEM_TRIDENT_RETURN("item.trident.return"),
    ITEM_TRIDENT_RIPTIDE_1("item.trident.riptide_1"),
    ITEM_TRIDENT_RIPTIDE_2("item.trident.riptide_2"),
    ITEM_TRIDENT_RIPTIDE_3("item.trident.riptide_3"),
    ITEM_TRIDENT_THROW("item.trident.throw"),
    ITEM_TRIDENT_THUNDER("item.trident.thunder"),
    MUSIC_CREATIVE("music.creative"),
    MUSIC_CREDITS("music.credits"),
    MUSIC_DISC_11("music_disc.11"),
    MUSIC_DISC_13("music_disc.13"),
    MUSIC_DISC_BLOCKS("music_disc.blocks"),
    MUSIC_DISC_CAT("music_disc.cat"),
    MUSIC_DISC_CHIRP("music_disc.chirp"),
    MUSIC_DISC_FAR("music_disc.far"),
    MUSIC_DISC_MALL("music_disc.mall"),
    MUSIC_DISC_MELLOHI("music_disc.mellohi"),
    MUSIC_DISC_STAL("music_disc.stal"),
    MUSIC_DISC_STRAD("music_disc.strad"),
    MUSIC_DISC_WAIT("music_disc.wait"),
    MUSIC_DISC_WARD("music_disc.ward"),
    MUSIC_DRAGON("music.dragon"),
    MUSIC_END("music.end"),
    MUSIC_GAME("music.game"),
    MUSIC_MENU("music.menu"),
    MUSIC_NETHER("music.nether"),
    MUSIC_UNDER_WATER("music.under_water"),
    UI_BUTTON_CLICK("ui.button.click"),
    UI_CARTOGRAPHY_TABLE_TAKE_RESULT("ui.cartography_table.take_result"),
    UI_LOOM_SELECT_PATTERN("ui.loom.select_pattern"),
    UI_LOOM_TAKE_RESULT("ui.loom.take_result"),
    UI_STONECUTTER_SELECT_RECIPE("ui.stonecutter.select_recipe"),
    UI_STONECUTTER_TAKE_RESULT("ui.stonecutter.take_result"),
    UI_TOAST_CHALLENGE_COMPLETE("ui.toast.challenge_complete"),
    UI_TOAST_IN("ui.toast.in"),
    UI_TOAST_OUT("ui.toast.out"),
    WEATHER_RAIN("weather.rain"),
    WEATHER_RAIN_ABOVE("weather.rain.above");
    private final String minecraftKey;

    CraftSound(String minecraftKey) {
        this.minecraftKey = minecraftKey;
    }

    public static String getSound(final Sound sound) {
        Validate.notNull(sound, "Sound cannot be null");

        return CraftSound.valueOf(sound.name()).minecraftKey;
    }

    public static SoundEffect getSoundEffect(String s) {
        SoundEffect effect = IRegistry.SOUND_EVENT.get(new MinecraftKey(s));
        Preconditions.checkArgument(effect != null, "Sound effect %s does not exist", s);

        return effect;
    }
}
