
PvP 开关
战斗标记与持续PVP偏好设置,从宠物保护到更多功能!
查看大图
这是一个允许玩家单独开关 PvP 的模组,同时还提供了一些我认为可能对你有用的额外功能。我也知道有不少模组实现了类似的功能,但我认为我可以制作出超越简单开关的东西。

- PvP偏好:玩家自行选择是否为自己禁用或启用 PvP
- 彩色名称标签:利用原版的队伍系统来显示玩家的 PvP 状态
- 战斗标记:标记期间无法切换 PvP 状态,若在标记激活时因任何原因断开连接,玩家将立即死亡
- 全局 PvP:强制为服务器内所有玩家启用或禁用 PvP;此设置优先于所有其他设置
- 宠物保护:保护所有已驯服的生物免受 PvP 已关闭的玩家攻击(宠物主人的 PvP 状态不纳入考虑)
- 在其他维度强制 PvP:你可以在特定维度强制开启 PvP
- LuckPerms 支持:允许你自定义各项功能的可访问性
- 可配置性:部分内容可配置;关于可配置内容的详细信息,请参阅下方的配置章节

本模组会忽略
server.properties文件中的pvp设置。请坚持使用模组最新版本,因为由于我的工作并非完美无缺,旧版本可能存在漏洞或缺少功能。也请务必阅读依赖项章节。

- Fabric API
- LuckPerms (如果你不关心自定义权限,此为可选项)

| 命令 | 描述 | 权限节点 |
|---|---|---|
/pvp |
切换你的 PvP 开关状态。 | pvptoggle.player.toggle |
/pvp <player> |
更改某位玩家的 PvP 偏好。 | pvptoggle.op.other.toggle |
/pvp <player> timeout <duration> |
阻止某位玩家在指定时长(以秒为单位)内切换 PvP。 | pvptoggle.op.other.timeout |
/pvp status |
显示你当前的 PvP 状态。 | pvptoggle.player.status |
/pvp status <player> |
查看某位玩家 PvP 状态的详细信息列表。 | pvptoggle.op.other.status |
/pvp status flag |
切换是否显示你的 PvP 标记计时器。 | pvptoggle.player.status |
/pvp global <state> <shouldBroadcast> |
将全局 PvP 状态设置为 on、off 或 neutral。<shouldBroadcast> 参数(true 或 false)用于决定是否广播此消息。 |
pvptoggle.op.global |
/pvp reload |
重新加载配置文件。 | pvptoggle.op.reload |
还有 pvptoggle.op.exempt 权限节点,标记你免受惩罚,例如被标记、进入冷却等。
再次说明,正如依赖项章节所述,如果你不关心通过 LuckPerms 等其他模组来自定义权限节点,可以完全忽略它们。所有标记为“player”的节点默认对所有玩家可用,而标记为“op”的节点对任何拥有2级或更高管理员权限等级的玩家可用。

配置文件路径:config/pvptoggle/pvp-toggle.json (启动时生成)
{
// 警告:请勿复制此示例 JSON
// 切换冷却时间
"toggle_cooldown": 120.0,
// 参与战斗后被标记的持续时间
"combat_flag_duration": 60.0,
// 新玩家的默认 PvP 偏好
"default_pvp_preference": true,
// 控制台反馈
"broadcast_to_other_ops": false,
// 以下设置应不言自明
"punish_combat_log": true,
"protect_tameables": true,
"force_pvp_in_other_dimensions": false,
"team_colors": true,
"prevent_item_pickup_when_pvp_off": false,
"forced_pvp_in_other_dimensions": {
"minecraft:overworld": false,
"minecraft:the_nether": false,
"minecraft:the_end": false
},
/* 例如,将 "tpa" 加入黑名单命令列表将屏蔽任何包含 "tpa" 字样的命令。
你也可以只屏蔽特定命令如 "tpaaccept",而不必屏蔽所有相关命令 */
"blacklisted_commands_when_flagged": [
"tpa",
"home"
]
}
除了 toggle_cooldown 和 combat_flag_duration 是浮点数(从 0.0 秒到最大 9999.0 秒)之外,每个设置都是布尔值(true/false)。
编辑值后重启服务器或使用 /pvp reload 来应用更改。如果 JSON 文件损坏,请删除它以便重新生成。

感谢你的下载。如果你能在模组页面的评论区报告你遇到的任何潜在问题,我将不胜感激,因为我目前没有其他方式接收反馈。你也可以通过分享本模组来支持我,因为无论有多少人受益于它的使用,这都能真正激励我继续开发。
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。