- 版权类型
- 原创
- 插件中文名称
- ProtectSurvival
- 插件英文名称
- ProtectSurvival
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- PufferFish
- SpongeVanilla
- Leaves
- 语言支持
- 中文(简体)
- 前置组件
- Bedwars1058+https://www.spigotmc.org/resources/bedwars1058-opensource.97320/
- 适配版本(Java)
- 最新版本
- 26.x
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
ProtectSurvival
基于 BedWars1058 的特殊起床模式插件 | 随机生存者 | 创造保护 | 附魔限制
前言
本插件为 KKCraft 自用的 BedWars 特殊起床模式插件,现 KKCraft 已永久关闭。发布此插件,希望能帮助一些有需要的人,为社区做贡献。后续将发布更多 KKCraft 相关的插件以及源码。
本人将不再开服,非插件问题请勿联系。


插件交流群:908213883 

有问题群内反馈,快速响应解决!
玩法介绍
这是一个基于 BedWars1058 的特殊起床战争模式:- 游戏开始时,每个队伍 随机抽取一名玩家 作为「生存者」,保持生存模式
- 队伍中其余玩家自动切换为 创造模式
- 创造玩家的任务是保护生存者,生存者死亡则全队创造玩家跟着死亡
- 单人队伍自动切换为生存模式,不受创造限制
🛡 核心功能
① 随机生存者分配
- 游戏开始时,每队随机选取一名玩家作为生存者
- 其余队员自动设为创造模式
- 单人队伍自动识别,直接切换为生存模式
② 生存者死亡连坐
- 生存者死亡时,队伍内所有创造玩家立即切换为生存模式并处死
- 床被破坏后,若生存者已死亡,创造玩家同样处死
③ 距离隔离系统
- 每 5 秒检测创造玩家与生存者的距离
- 超过配置距离(默认 10 格)时自动传送回生存者身边
- 支持跨世界检查保护
④ 创造模式限制
禁止创造玩家破坏床
禁止创造玩家使用刷怪笼、雪球、火球
禁止创造玩家对任何玩家造成伤害
创造玩家允许飞行
⑤ 附魔限制系统
- 附魔等级上限:锋利 IV、保护 IV、力量 II、药水 II
- 创造模式下获取超限附魔物品时自动拦截
- 拾取违规附魔物品时自动清除
- 每 10 秒定时扫描背包,清理违规附魔物品(含装备栏)
⑥ 生存者被攻击提醒
- 生存者被敌方攻击时,队内所有创造玩家收到提醒
- 提醒内容包含生存者当前血量
⚙ 工作流程
游戏开始│
├── 每队随机选一名生存者(保持生存模式)
├── 其余队员 → 创造模式
│
├── 定时检测距离(5秒/次)
│ └── 超距自动传送回生存者身边
│
├── 定时检测背包(10秒/次)
│ └── 清理违规附魔物品
│
├── 定时维护状态(1秒/次)
│ ├── 生存者在线 → 保持创造模式
│ └── 生存者离线/死亡 → 创造玩家处死
│
├── 生存者死亡 → 全队创造玩家处死
├── 床被破坏 + 生存者已死 → 创造玩家处死
└── 游戏结束 → 自动清理数据
性能优化
距离检测使用 distanceSquared避免开方运算
移除 PlayerMoveEvent监听,改用定时任务,避免高频事件卡服
GameData使用ConcurrentHashMap+ UUID 索引,O(1) 查找
线程安全集合,避免并发修改异常
遍历使用 snapshot 快照,防止 ConcurrentModificationException
玩家退出自动清理缓存,游戏结束按 Arena 批量清理,零内存泄漏
配置说明
# 保护生存模式配置# 创造玩家与生存玩家的最大距离(单位:格)
# 超过此距离将被自动传送回生存者身边
Distance: 10
# 调试模式 (true/false)
# 启用后会在控制台输出详细的检测信息
debug: false
依赖要求
BedWars1058必须,起床战争核心插件
安装方法
- 将
ProtectSurvival.jar放入服务器plugins目录 - 确保已安装
BedWars1058插件 - 重启服务器
- 根据需要修改
plugins/ProtectSurvival/config.yml