import { getRandomInteger, spawnEntitySafe, waitForEvent } from "../utils/index";
import { killedByPlayer } from "./killed_by_player";
import { getEquipmentCount } from "./mob_equipment";
export const MOB_DATA = {
    "minecraft:allay": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:allay_grave",
        duration: 1.5,
    },
    "minecraft:armadillo": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:armadillo_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:axolotl": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:axolotl_grave",
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:bat": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:bat_grave",
        duration: 2.5,
    },
    "minecraft:bee": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:bee_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:blaze": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:blaze_grave",
        duration: 3.28,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 10 : 0;
        },
    },
    "minecraft:bogged": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:bogged_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 + getEquipmentCount(entity) * getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:breeze": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:breeze_grave",
        duration: 2.0833,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 10 : 0;
        },
    },
    "minecraft:camel": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:camel_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:cat": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:cat_grave",
        duration: 1.76,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:cave_spider": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body0.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:cave_spider_grave",
        duration: 3.0,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:chicken": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:chicken_grave",
        duration: 1.75,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:cod": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:cod_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:cow": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:cow_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:creaking": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:creaking_grave",
        duration: 2.7,
        ignoreEffects: true,
    },
    "minecraft:creeper": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:creeper_grave",
        duration: 2.3,
        ignoreEffects: true,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:dolphin": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:dolphin_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:donkey": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:donkey_grave",
        duration: 1.8333,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:drowned": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:drowned_grave",
        duration: 5.04,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:elder_guardian": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 33,
        graveSpawnBonus: 0,
        graveTypeId: "ldz_250121:elder_guardian_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 10 : 0;
        },
    },
    "minecraft:ender_dragon": {
        dimensions: ["end"],
        condition: () => false,
        graveSpawnBase: 100,
        graveSpawnBonus: 0,
        graveTypeId: "ldz_250121:ender_dragon_grave",
        debugEntity: () => undefined,
    },
    "minecraft:enderman": {
        dimensions: ["overworld", "nether", "end"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:enderman_grave",
        duration: 1.25,
        ignoreEffects: true,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:endermite": {
        dimensions: ["end"],
        inverseAnimation: "animation.ldz_250121.section_2.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:endermite_grave",
        duration: 0.6,
        ignoreEffects: true,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 3 : 0;
        },
    },
    "minecraft:evocation_illager": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:evocation_illager_grave",
        duration: 3.5,
        xpDrop: 10,
    },
    "minecraft:fox": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:fox_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:frog": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:frog_grave",
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:ghast": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:ghast_grave",
        duration: 3.0,
        ignoreEffects: true,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:glow_squid": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:glow_squid_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:goat": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:goat_grave",
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:guardian": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:guardian_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 10 : 0;
        },
    },
    "minecraft:hoglin": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:hoglin_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:horse": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:horse_grave",
        duration: 2.75,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:husk": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:husk_grave",
        duration: 2.48,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:iron_golem": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:iron_golem_grave",
        duration: 3.68,
    },
    "minecraft:llama": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:llama_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:magma_cube": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:magma_cube_grave",
        duration: 2.35,
        debugEntity: (dimension, location) => spawnEntitySafe(dimension, "minecraft:magma_cube", location, { spawnEvent: "spawn_small" }),
        xpDrop(entity, killerId) {
            var _a, _b;
            return killedByPlayer(killerId) ? (_b = (_a = entity.getComponent("variant")) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0 : 0;
        },
    },
    "minecraft:mooshroom": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:mooshroom_grave",
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:mule": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:mule_grave",
        duration: 1.8333,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:ocelot": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:ocelot_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:panda": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:panda_grave",
        duration: 3,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:parrot": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:parrot_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:phantom": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:phantom_grave",
        duration: 3.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:pig": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:pig_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:piglin": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:piglin_grave",
        duration: 2.4,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:piglin_brute": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:piglin_brute_grave",
        duration: 2.4,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 20 : 0;
        },
    },
    "minecraft:pillager": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:pillager_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:player": {
        dimensions: [],
        condition: () => false,
        debugEntity: () => undefined,
    },
    "minecraft:polar_bear": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:polar_bear_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:pufferfish": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:pufferfish_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:rabbit": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:rabbit_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:ravager": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:ravager_grave",
        duration: 3.92,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 20 : 0;
        },
    },
    "minecraft:salmon": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:salmon_grave",
        duration: 1.75,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:sheep": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:sheep_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:shulker": {
        dimensions: ["end"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:shulker_grave",
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:silverfish": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.bodyPart_2.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:silverfish_grave",
        duration: 1.75,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:skeleton": {
        dimensions: ["overworld", "nether"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:skeleton_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 + (getEquipmentCount(entity) * getRandomInteger(1, 3)) : 0;
        },
    },
    "minecraft:skeleton_horse": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:skeleton_horse_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:slime": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:slime_grave",
        duration: 3.5,
        debugEntity: (dimension, location) => spawnEntitySafe(dimension, "minecraft:slime", location, { spawnEvent: "spawn_small" }),
        xpDrop(entity, killerId) {
            var _a, _b;
            return killedByPlayer(killerId) ? (_b = (_a = entity.getComponent("variant")) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0 : 0;
        },
    },
    "minecraft:sniffer": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:sniffer_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:snow_golem": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:snow_golem_grave",
        duration: 2.0,
        ignoreEffects: true,
    },
    "minecraft:spider": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body0.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:spider_grave",
        duration: 3,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:squid": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:squid_grave",
        duration: 4.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? 10 : 0;
        },
    },
    "minecraft:stray": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:stray_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 + (getEquipmentCount(entity) * getRandomInteger(1, 3)) : 0;
        },
    },
    "minecraft:strider": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:strider_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:tadpole": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:tadpole_grave",
        duration: 3,
    },
    "minecraft:trader_llama": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:trader_llama_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:tropicalfish": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:tropicalfish_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:turtle": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:turtle_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:vex": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:vex_grave",
        duration: 3.0,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 + (getEquipmentCount(entity) * getRandomInteger(1, 3)) : 0;
        },
    },
    "minecraft:villager_v2": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:villager_grave",
        duration: 2.75,
    },
    "minecraft:vindicator": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:vindicator_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:wandering_trader": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:wandering_trader_grave",
        duration: 3.25,
        debugEntity: (dimension, location) => {
            waitForEvent(1, () => {
                dimension.getEntities({ type: "minecraft:trader_llama" }).forEach(entity => entity.remove());
            });
            return spawnEntitySafe(dimension, "minecraft:wandering_trader", location);
        },
    },
    "minecraft:warden": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 100,
        graveSpawnBonus: 0,
        graveTypeId: "ldz_250121:warden_grave",
        duration: 6.45,
        ignoreEffects: true,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 : 0;
        },
    },
    "minecraft:witch": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:witch_grave",
        duration: 3.0,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:wither": {
        dimensions: ["overworld"],
        condition: () => false,
        graveTypeId: "ldz_250121:wither_grave",
        graveSpawnBase: 100,
        graveSpawnBonus: 0,
        debugEntity: () => undefined,
    },
    "minecraft:wither_skeleton": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:wither_skeleton_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:wolf": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.root.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:wolf_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:zoglin": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:zoglin_grave",
        duration: 2.5,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? 5 + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:zombie_pigman": {
        dimensions: ["nether"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:zombie_pigman_grave",
        duration: 2.4,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:zombie_villager_v2": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:zombie_villager_grave",
        duration: 3.25,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
    "minecraft:zombie_horse": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.body.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:zombie_horse_grave",
        duration: 2.75,
        xpDrop(entity, killerId) {
            return !entity.hasComponent("minecraft:is_baby") && killedByPlayer(killerId) ? getRandomInteger(1, 3) : 0;
        },
    },
    "minecraft:zombie": {
        dimensions: ["overworld"],
        inverseAnimation: "animation.ldz_250121.humanoid.death",
        graveSpawnBase: 1,
        graveSpawnBonus: 0.01,
        graveTypeId: "ldz_250121:zombie_grave",
        duration: 2.0,
        xpDrop(entity, killerId) {
            return killedByPlayer(killerId) ? (entity.hasComponent("minecraft:is_baby") ? 12 : 5) + getEquipmentCount(entity) : 0;
        },
    },
};
