<div align="center">

# mineflayer-death-event

Emit `playerDeath` events for Mineflayer.

Pluggable processor: bring your own parser.

<a href="https://www.npmjs.com/package/mineflayer-death-event"><img alt="npm" src="https://img.shields.io/npm/v/mineflayer-death-event?color=2563eb" /></a> <a href="https://www.npmjs.com/package/mineflayer-death-event"><img alt="downloads" src="https://img.shields.io/npm/dm/mineflayer-death-event" /></a> <a href="./package.json"><img alt="license" src="https://img.shields.io/npm/l/mineflayer-death-event" /></a> <img alt="mineflayer" src="https://img.shields.io/badge/mineflayer-%5E4.x-16a34a" />

English · <a href="./README.zh-CN.md">简体中文</a>

</div>

## Overview

`mineflayer-death-event` is a Mineflayer plugin that emits a `playerDeath` event by parsing death messages.

It is built around a pluggable processor (Strategy Pattern): you can swap in your own parser for different servers, languages, or custom death-message formats.

### Install

```bash
npm i mineflayer-death-event
```

### Usage

```js
import mineflayer from "mineflayer";
import { deathEventPlugin } from "mineflayer-death-event";

const bot = mineflayer.createBot({
  host: "127.0.0.1",
  port: 25565,
  username: "bot"
});

bot.loadPlugin(deathEventPlugin());

bot.on("playerDeath", (event) => {
  console.info("attacker => ", event.getAttacker()?.toString());
  console.info("victim => ", event.getVictim()?.toString());
  console.info("reason => ", event.getReason());
  console.info("weapon => ", event.getWeapon()?.toString());
});
```

### Development

```bash
pnpm i
pnpm build
pnpm typecheck
pnpm playground
```

### License

MIT
