/// declare enum DamageCause { /** 其他 */ None = -0x01, /** 非正常方式(如脚本直接设置血量为0),这种方式的伤害不会被盔甲与buff吸收 */ Override = 0x00, /** 接触伤害(如仙人掌) */ Contact = 0x01, /** 实体攻击 */ EntityAttack = 0x02, /** 抛射物攻击 */ Projectile = 0x03, /** 窒息(密封空间) */ Suffocation = 0x04, /** 掉落 */ Fall = 0x05, /** 着火 */ Fire = 0x06, /** 着火 */ FireTick = 0x07, /** 熔岩 */ Lava = 0x08, /** 溺水 */ Drowning = 0x09, /** 方块爆炸 */ BlockExplosion = 0x0a, /** 实体爆炸 */ EntityExplosion = 0x0b, /** 虚空 */ Void = 0x0c, /** 自杀 */ Suicide = 0x0d, /** 尖牙对生物造成的伤害、守卫者对生物造成的魔法伤害和药水伤害等 */ Magic = 0x0e, /** 凋零效果 */ Wither = 0x0f, /** 饥饿 */ Starve = 0x10, /** 下落的铁砧 */ Anvil = 0x11, /** 荆棘 */ Thorns = 0x12, /** 下落的方块 */ FallingBlock = 0x13, /** 活塞 */ Piston = 0x14, /** 动态能量(滑翔撞墙) */ FlyIntoWall = 0x15, /** 岩浆块 */ Magma = 0x16, /** 烟花 */ Fireworks = 0x17, /** 闪电 */ Lightning = 0x18, /** ??? */ Charging = 0x19, /** 温度 (雪人?) */ Temperature = 0x1a, /** 冰冻 */ Freezing = 0x1b, /** 被钟乳石砸到 */ Stalactite = 0x1c, /** 掉落到石笋上 */ Stalagmite = 0x1d, /** 所有 */ All = 0x1f, } declare namespace mc { /** 生物死亡 */ function listen( event: "onMobDie", listener: (mob: Entity, source: Entity, cause: number) => void ): boolean; /** 生物受伤(包括玩家) */ function listen( event: "onMobHurt", listener: ( mob: Entity, source: Entity | null, damage: number, cause: DamageCause | number ) => boolean | void ): boolean; /** 发生由实体引起的爆炸 */ function listen( event: "onEntityExplode", listener: ( source: Entity, pos: FloatPos, radius: number, maxResistance: number, isDestroy: boolean, isFire: boolean ) => boolean | void ): boolean; /** 发生于实体生成 * @deprecated 请使用 onMobTrySpawn 和 onMobSpawned 事件作为替代 */ function listen( event: "onMobSpawn", listener: (typeName: string, pos: FloatPos) => boolean | void ): boolean; /** * 发生于实体尝试自然生成 * * 在回调函数中: * * `typeName`: 生成实体名称 * * `pos`: 生成的坐标 */ function listen( event: "onMobTrySpawn", listener: (typeName: string, pos: FloatPos) => boolean | void ): boolean; /** * 发生于实体自然生成完成 * * 在回调函数中: * * `entity`: 生成的实体对象 * * `pos`: 生成的坐标 */ function listen( event: "onMobSpawned", listener: (entity: Entity | null, pos: FloatPos) => void ): boolean; /** 实体被弹射物击中 */ function listen( event: "onProjectileHitEntity", listener: (entity: Entity, source: Entity) => void ): boolean; /** 凋零破坏方块 */ function listen( event: "onWitherBossDestroy", listener: (witherBoss: Entity, AAbb: IntPos, aaBB: IntPos) => boolean | void ): boolean; /** * 末影龙破坏方块 * * 在回调函数中: * * `EnderDragon`: 末影龙的实体对象 * * `block`: 末影龙破坏的方块对象 */ function listen( event: "onEnderDragonDestroy", listener: (EnderDragon: Entity, block: Block) => boolean | void ): boolean; /** 生物骑乘 */ function listen( event: "onRide", listener: (entity1: Entity, entity2: Entity) => boolean | void ): boolean; /** 生物踩压力板 */ function listen( event: "onStepOnPressurePlate", listener: (entity: Entity, pressurePlate: Block) => boolean | void ): boolean; /** 弹射物创建 */ function listen( event: "onSpawnProjectile", listener: (shooter: Entity, type: string) => boolean | void ): boolean; /** 弹射物创建完毕 */ function listen( event: "onProjectileCreated", listener: (shooter: Entity, entity: Entity) => boolean | void ): boolean; /** NPC执行命令 */ function listen( event: "onNpcCmd", listener: (npc: Entity, pl: Player, cmd: string) => boolean | void ): boolean; /** 操作盔甲架 */ function listen( event: "onChangeArmorStand", listener: (as: Entity, pl: Player, slot: number) => boolean | void ): boolean; /** 实体转变 */ function listen( event: "onEntityTransformation", listener: (uniqueId: string, entity: Entity) => void ): boolean; }