服务器使用量
未统计
服务玩家数
未统计
下载量
4,796
插件详细介绍
当多个涉及死亡掉落的插件同时运行时,很容易产生冲突。对开发者而言,要完美适配其他相关插件也并非易事。
因此,我编写了 DeathDropsAPI 这个插件,旨在让同时使用多个死亡掉落插件变得更加简单。强烈建议移除所有其他会修改死亡掉落的插件。
核心功能
- 提供一个标准化的 API (PlayerDeathDropEvent),供其他插件安全地修改玩家死亡时的物品掉落行为。
- 当玩家死亡时,会为背包中的每一个物品单独触发一次事件,实现精细控制。
- 开发者可以监听此事件,以决定每个物品是保留、掉落还是消失。
使用此 API 的插件
- Locked Items (交易阻止插件)
权限
deathdropsapi.keep:玩家死亡时保留其所有物品,并且不会触发任何 PlayerDeathDropEvent。
开发者使用指南
主事件:PlayerDeathDropEvent
此事件在玩家死亡时会被触发多次,每次事件对应玩家背包中的一个 ItemStack。例如,如果玩家背包中有 3 个物品,那么将触发 3 次此事件。
- 取消事件:如果取消该事件 (
e.setCancelled(true)),对应的物品将不会掉落,并在玩家死亡时保留在其物品栏中。 - 设置物品为 null:如果将事件中的物品设置为 null (
e.setItem(null)),该物品将从玩家的物品栏中移除(即消失)。 - 掉落额外物品:如果你想掉落玩家背包中原本没有的物品,请直接监听
PlayerDeathEvent,然后使用world.dropItemNaturally方法。
示例代码
以下代码会在玩家死亡时保留其所有物品,并将每件物品重命名为“Kept item”。
@EventHandler(ignoreCancelled = true)
public void onDeathDrop(PlayerDeathDropEvent e) {
ItemStack item = e.getItem();
// 无需担心 item 为 null,因为此事件仅在物品有效时触发
item.getItemMeta().setDisplayName("Kept item");
e.setItem(item);
e.setCancelled(true);
}给服务器管理员
如果你需要一个基于此 API 来修改死亡掉落的插件,请在讨论区留言提出建议。
当前状态
- 命令:暂无
- 依赖:无
测试支持版本
版本分布
基本信息
插件名称
DeathDropsAPI
作者
MClaus
平台
Bukkit / Spigot
支持版本
1.7 - 1.12
点赞数
未统计
最近版本
暂无数据
-