Custom-Death-Messages

一个允许你配置自定义死亡消息的插件,可以是随机的,也可以是与特定死亡过程相关的。

资源图片
# CustomDeaths ![banner](https://github.com/BlackDevCoding/BlackDevAssets/blob/main/banner.png?raw=true) 基于规则的,有趣的 Minecraft 死亡信息。专为 **PaperMC 1.21.x** 和 **Java 21** 设计。悬停时显示 **原始的 Vanilla 死亡信息**,同时广播你自定义的信息。 --- ⚠️ **不可逆 (消息仅限):** 此插件 *替换广播的死亡消息*。它不改变掉落物、经验或物品栏,但你的聊天记录无法“取消广播”。请谨慎使用。 --- ## ✅ 支持的平台和要求 - **Minecraft 服务器:** PaperMC 1.21.x (API 1.21)。 - 在保持 API 对齐的 Paper 兼容的分叉上有效 (例如,Purpur)。 - **Java 运行时:** Java 21 (服务器 + 构建)。 --- ## ✨ 特性 - **自定义死亡规则:** 通过条件定义消息: - 伤害原因、世界、生物群系 - Y 高度 (高于/低于) - 杀手类型、名称,或杀手是否为玩家 - 受害者权限或持有的物品 - **悬停时显示原始信息:** Vanilla 死亡消息仍然可用作悬停提示。 - **快速启用/禁用:** 通过 `/customdeaths toggle` 或设置 `enabled: true|false` 切换。 - **按原因和全局消息:** 简单的配置列表。 - **预设包含:** 附带默认设置;通过 `use-presets: false` 禁用。 - **热重载:** `/customdeaths reload` 应用更改,无需重启。 --- ## 📦 指令 - `/customdeaths reload` — 重新加载 `config.yml`。 - `/customdeaths toggle` — 翻转主 `enabled` 标志的开关。 ### 权限 - `customdeaths.admin` — 默认: **op** --- ## ⚙️ 配置 (`plugins/CustomDeaths/config.yml`) ```yaml enabled: true hover-original: true override-broadcast: true use-presets: true messages: - "{player} 睡了一个永久性的午觉,没有设置闹钟。" per-cause: VOID: - "{player} 掉进了互联网的边缘。" # 自定义规则 (第一个匹配获胜) custom-deaths: - name: "archer_headshot" when: killer-type: "SKELETON" y-above: 100 messages: - "{player} 从 {killer} 得到了高空爆头。" presets: messages: - "{player} 打开了硬核教程。" per-cause: FALL: - "{player} 把地面当成了蹦床。" ``` **支持的 `when` 键** - `cause` (DamageCause), `world`, `biome` - `y-above`, `y-below` - `killer-type` (EntityType), `killer-name`, `killer-is-player` - `victim-has-permission`, `victim-holding` **占位符:** `{player}`, `{killer}`, `{cause}` --- ## 🧭 工作原理 1. 在 `PlayerDeathEvent` 上,插件按顺序检查 **custom-deaths** 规则。 2. 第一个匹配获胜;如果没有匹配,则会回退到 **per-cause**,然后是 **messages**,然后是 **presets**。 3. 所选行将被广播,如果启用了,则 Vanilla 消息将显示为悬停提示。 --- ## 📥 安装 1. 将插件 JAR 放入 Paper 1.21.x 服务器的 `plugins/` 目录中。 2. 启动服务器以生成 `config.yml`。 3. 编辑 `plugins/CustomDeaths/config.yml`。 4. 使用 `/customdeaths reload` 应用更改 (或重启)。 --- ## 🔒 安全提示 - 仅替换广播的死亡消息;不触碰物品栏、经验或掉落物。 - 确保管理员理解 **custom-deaths** 中 “第一个匹配获胜” 的规则。 --- ## 📄 许可证 MIT — 免费使用和贡献。