WhosAFK (暂离通知 - 实时知晓谁在暂离)
WhosAFK是一款Minecraft插件,用于在游戏内有效管理与显示暂离状态的玩家。当玩家进入暂离(AFK) 状态时,它会通过改变名字的颜色及在名字末尾添加“(AFK)”字样在玩家列表中标示出来,同时,也会在服务器中广播该玩家暂离的消息,以便在广播后加入的玩家了解情况。
功能介绍
WhosAFK插件的核心功能包括:
- 玩家暂离状态的广播与显示;
- 玩家暂离状态下对伤害与饥饿的免疫;
- 支持玩家或管理员手动设置其他玩家暂离;
- 支持自动进入暂离模式;
- 提供配置文件,允许自定义暂离模式设置。
命令与权限
插件提供以下命令:
/afk - 广播并使执行者进入暂离状态。管理员可通过添加目标玩家的用户名作为参数来设置其他玩家暂离状态。 /whosafkreload - 重新加载配置文件。
以及相应的权限:
whosafk.afk - 允许使用/afk命令,所有玩家默认具有此权限。 whosafk.autoafk - 允许自动进入暂离模式,所有玩家默认具有此权限。 whosafk.reload - 允许使用/whosafkreload命令,仅操作员默认具有此权限。
配置说明
默认配置如下:
auto-afk: enabled: true timeout: 60 allow-movement-while-afk: true movement-affects-afk: true allow-collisions: false
其中:
- auto-afk.enabled - 设置为true时,玩家若一定时间内无操作将自动进入暂离状态;
- auto-afk.timeout - 设置自动进入暂离模式前的不活动时间(秒);
- allow-movement-while-afk - 设置为false时,暂离状态的玩家不能移动,直到重新输入/afk;
- movement-affects-afk - 设置为true时,玩家移动将自动取消暂离状态,前提是allow-movement-while-afk为true;
- allow-collisions - 设置为false时,处于暂离状态的玩家不会被其他实体推动,从而防止被推出暂离状态。
开发者扩展
WhosAFK插件提供API,允许开发者在玩家进入或离开暂离状态时执行自定义操作,例如:
@EventHandler public void playerGoesIntoAFKMode(AFKStatusOnEvent e){ e.setMessage(ChatColor.YELLOW + "- " + e.getPlayer().getName() + " is now AFK");// 自定义进入AFK的消息 e.setMessage(null);// 禁用默认消息 e.setCancelled(true);// 取消事件 } @EventHandler public void playerLeavesAFKMode(AFKStatusOffEvent e){ e.setMessage(ChatColor.YELLOW + "- " + e.getPlayer().getName() + " is no longer AFK");// 自定义离开AFK的消息 e.setMessage(null);// 禁用默认消息 e.setCancelled(true);// 取消事件 }
WhosAFK采用开源协议, interested developers can view the source code on GitHub.
收录