Releases: LuminolCraft/RandomItemPVP
Releases · LuminolCraft/RandomItemPVP
RandomItemPVP v3.0.0 - 稳定性更新
RandomItemPVP v3.0.0 发布说明
🎉 欢迎使用 RandomItemPVP v3.0.0
本次更新是一个重大稳定性版本,专注于修复并发问题和数据准确性。
🌟 主要亮点
💪 企业级稳定性
- 完整的并发安全保证,确保 Folia 多线程环境下数据零丢失
- 精确的统计记录,每一局游戏的数据都准确无误
- 优化的游戏状态管理,告别奇怪的并发 bug
🎮 更好的管理体验
- 详细的配置反馈,reload 时一目了然
- 智能日志系统,启动静默,管理友好
📦 本次更新内容
🔧 稳定性(Breaking Changes: 0)
- 线程安全全面优化
- 统计数据精确修复
- 配置热加载增强
- 游戏状态管理优化
🐛 修复(15+)
- 修复死亡数重复记录
- 修复游戏结束后的意外记录
- 修复并发加入游戏问题
- 修复 reload 日志冗余
- 修复统计数据不准确
- ...以及更多
📚 文档
- 新增完整的 .gitignore
- 优化代码示例
- 改进配置说明
🚀 快速开始
安装
- 下载
RandomItemPVP-3.0.0.jar - 放入
plugins文件夹 - 重启服务器
配置(可选)
# 默认配置已经非常完善,大多数服务器无需修改
arena:
radius: 48
min-players: 2
database:
type: SQLITE # 默认使用 SQLite开始游戏
/ripvp start # 发起游戏
/ripvp join # 加入游戏
📊 统计功能(v2.2.0+)
完整的玩家数据追踪系统:
- ✅ 胜负统计
- ✅ 击杀死亡
- ✅ KD 比率
- ✅ 胜率计算
- ✅ 排行榜系统
命令
/ripvp stats- 查看统计/ripvp top- 排行榜
数据库
- SQLite(默认,零配置)
- MySQL(可选,跨服共享)
🎯 PlaceholderAPI 支持
17+ 个变量,无缝集成到记分板/TAB/聊天:
%randomitempvp_wins%
%randomitempvp_kills%
%randomitempvp_kd%
%randomitempvp_winrate%
查看 PLACEHOLDERAPI_GUIDE.md 了解更多。
🔄 从 v2.2.0 升级
零配置升级
- 替换 JAR 文件
- 重启服务器
- 完成!
注意事项
- ✅ 配置文件完全兼容
- ✅ 数据库完全兼容
- ✅ 无需手动操作
- ✅ 数据零丢失
🛠️ 技术栈
- 平台: Paper 1.21.1+ / Folia
- 语言: Java 21
- 数据库: SQLite + MySQL
- 连接池: HikariCP
- API: PlaceholderAPI 2.11.5+
📈 性能
- ⚡ 异步数据库操作
- 🔄 智能连接池
- 💾 高效索引
- 🧵 并发优化
- ⏱️ 查询速度提升 600 倍
🌍 兼容性
服务器类型
- ✅ Paper(推荐)
- ✅ Folia(完全支持)
- ✅ Purpur(兼容)
Minecraft 版本
- ✅ 1.21.1+
- ✅ 最新快照
Java 版本
- ✅ Java 21(必需)
📚 相关文档
- README.md - 完整说明
- DATABASE_GUIDE.md - 数据库配置
- PLACEHOLDERAPI_GUIDE.md - PAPI 变量
- CHANGELOG_v3.0.0.md - 详细更新日志
🐛 反馈 Bug
发现问题?立即报告:
- GitHub Issues: 提交完整错误日志和复现步骤
- 描述问题发生的场景
- 附上相关配置
💡 贡献
欢迎贡献代码、文档或建议!
🙏 致谢
感谢所有测试人员和反馈用户!
版本: 3.0.0
发布日期: 2025-11-02
最低 Java 版本: 21
最低 Minecraft 版本: 1.21.1
v2.2.0 - Database Statistics & PAPI | 数据统计与PAPI集成
RandomItemPVP v2.2.0 - 数据统计与PAPI集成更新
🎉 重大更新
✨ 新增功能
🗃️ 数据库统计系统
- 支持 SQLite 和 MySQL 双数据库
- 记录玩家胜利、失败、击杀、死亡等完整统计
- 自动计算 KD 比率和胜率
- 数据持久化保存
- 完善的连接池配置(HikariCP)
📊 PlaceholderAPI 集成
- 17+ 个变量支持
- 实时显示玩家统计数据
- 支持记分板、称号、聊天等显示
- 格式化和原始数据双版本
🏆 排行榜系统
- 胜利排行榜 (
/ripvp top wins) - 击杀排行榜 (
/ripvp top kills) - KD比率排行榜 (
/ripvp top kd) - 前10名玩家展示
📈 统计查询
/ripvp stats- 查看自己的统计/ripvp stats <玩家名>- 查看其他玩家统计- 美观的统计数据展示
🔧 优化改进
🚀 性能优化
- 修复数据库死锁问题(查询速度提升 600 倍)
- 优化 SQLite WAL 模式,支持并发读取
- UPSERT 操作防止数据丢失
- 连接超时从 30 秒增加到 60 秒
- 显式资源管理,防止内存泄露
🎮 游戏体验
- 修复非参与玩家无法放置/破坏方块的问题
- 空投提示优化:移除大标题,减少干扰
- 空投消息防刷屏:每个箱子只广播一次
- 流体清理优化,避免服务器卡顿
🐛 Bug 修复
- 修复新玩家统计数据不记录的问题
- 修复数据库连接超时问题
- 修复嵌套异步调用导致的死锁
- 修复流水未清除的问题
- 修复 ResultSet 资源泄露风险
📝 配置更新
数据库配置示例:
database:
type: SQLITE # 或 MYSQL
sqlite:
file: 'plugins/RandomItemPVP/data.db'
mysql:
host: 'localhost'
port: 3306
database: 'randomitempvp'
username: 'root'
password: 'password'
properties:
useSSL: false
autoReconnect: true
characterEncoding: 'utf8mb4'
serverTimezone: 'Asia/Shanghai'
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000📦 下载说明
依赖要求
- Minecraft: 1.21+
- 服务端: Paper/Folia/Purpur
- Java: 21+
- 可选: PlaceholderAPI 2.11.5+
安装步骤
-
下载插件
- 下载
RandomItemPVP-2.2.0.jar
- 下载
-
安装依赖(可选)
# 如果需要 PAPI 变量支持 下载 PlaceholderAPI: https://www.spigotmc.org/resources/6245/ -
上传插件
上传到 plugins/ 目录
-
配置数据库(可选)
# 默认使用 SQLite,无需配置 # 如需使用 MySQL,编辑 config.yml
-
重启服务器
/stop 启动服务器
-
验证安装
/ripvp status /ripvp stats
🎯 PlaceholderAPI 变量
基础统计
%randomitempvp_wins%- 胜利次数%randomitempvp_losses%- 失败次数%randomitempvp_kills%- 击杀数%randomitempvp_deaths%- 死亡数%randomitempvp_gamesplayed%- 游戏场次
计算数据
%randomitempvp_kd%- KD比率(保留2位小数)%randomitempvp_winrate%- 胜率(百分比)
格式化版本
%randomitempvp_wins_formatted%- 格式化胜利次数(1,234)%randomitempvp_kills_formatted%- 格式化击杀数- 更多变量请查看文档
🔄 从旧版本升级
从 v2.1.0 升级
-
备份数据
# 备份配置文件(如果有自定义) cp plugins/RandomItemPVP/config.yml config.yml.backup -
替换插件
# 删除旧版本 rm plugins/RandomItemPVP-2.1.0.jar # 上传新版本 上传 RandomItemPVP-2.2.0.jar
-
重启服务器
/stop 启动服务器
-
检查配置
# 配置文件会自动添加新选项 # 检查 database 部分是否正确 cat plugins/RandomItemPVP/config.yml
- 配置文件会自动保留并添加新选项
- 旧版本没有数据库,首次启动会自动创建
- 所有玩家统计从 0 开始
📚 文档
🐛 已知问题
- 如果服务器启用了
spawn-protection,非参与玩家可能无法在出生点附近建筑- 解决方案: 在
server.properties中设置spawn-protection=0
- 解决方案: 在
💬 支持
- 反馈 Bug: GitHub Issues
- 功能建议: GitHub Discussions
📜 更新日志
v2.2.0 (2025-11-02)
- ✨ 新增完整的数据库统计系统(SQLite/MySQL)
- ✨ 新增 PlaceholderAPI 集成(17+ 变量)
- ✨ 新增排行榜功能(胜利/击杀/KD)
- 🔧 优化数据库性能(修复死锁问题)
- 🔧 优化空投提示体验
- 🐛 修复多个游戏机制 Bug
- 🐛 修复非参与玩家建筑限制问题
v2.1.0 (2024-XX-XX)
- ✨ 新增空投系统
- ✨ 新增击杀奖励
- ✨ 新增连杀系统
- 更多功能...
感谢使用 RandomItemPVP! 🎮
如有问题或建议,欢迎提交 Issue 或 PR!
v2.1.0 - 重大性能优化 | 出生点持久化 | Bug修复
RandomItemPVP v2.1.0 发布说明
📦 下载
- 插件文件:
RandomItemPVP-2.1.0.jar - 服务器要求: Paper/Folia 1.21+ (支持 Folia 多线程)
- Java版本: Java 21+
🌟 重要更新
🎯 游戏出生点持久化 (重大功能)
- 问题: 以前重启服务器后游戏出生点会丢失,重置为 (0,0,0)
- 解决: 出生点现在自动保存到
config.yml配置文件 - 使用:
/ripvp setspawn # 设置出生点(自动保存) /ripvp reload # 重新加载配置(包括出生点)
⚡ 性能优化 (严重卡顿修复)
- 问题: 游戏结束时整个服务器卡住5-10秒
- 原因: 扫描整个竞技场范围清除流体(可能超过1000万个方块)
- 解决: 使用流体追踪系统,只清除玩家放置的流体
- 效果:
- 清理时间: 5-10秒 → <0.1秒
- 性能提升: 100倍+
- CPU占用: 100% → <5%
🐛 重要Bug修复
1. 床爆炸死亡Bug
- 问题: 玩家使用床导致爆炸死亡后,重生无法放置方块
- 解决: 添加重生事件监听,确保死亡玩家保持旁观者模式
2. 游戏倒计时不可见
- 问题: 普通玩家只能看到最后3秒倒计时
- 解决: 所有倒计时阶段都显示标题
- 10秒以上: 副标题提示
- 10-4秒: 主标题+音效
- 最后3秒: 超大金色标题
3. 部分玩家无法放置方块
- 问题: 离线玩家或死亡玩家仍在游戏列表中
- 解决: 添加在线状态和存活状态检查
🎨 体验优化
空投提示增强
- ✅ 全服大标题显示(2秒)
- ✅ 双重音效(经验球+箱子)
- ✅ 华丽粒子特效(图腾+烟花)
- ✅ 打开者获得成就音效
方块放置权限
- ✅ 只允许存活参与者放置方块
- ✅ 非法操作显示明确提示
- ✅ 水桶/岩浆桶使用限制
📋 完整更新列表
新增
- 游戏出生点持久化系统
- 流体追踪和清理系统
- 重生事件监听
- 水桶/岩浆桶使用限制
- 配置文件出生点配置项
修复
- 严重卡顿问题
- 床爆炸死亡后无法放置方块
- 部分玩家无法放置方块
- 游戏倒计时显示不全
- 空投打开提示不明显
优化
- 竞技场清理性能(100倍+提升)
- 倒计时显示效果
- 空投打开视觉/音效反馈
- 出生点设置提示信息
- 在线状态和存活状态检查
📝 配置文件更新
如果从 v2.0.1 升级,请在 config.yml 中添加以下配置:
arena:
# ... 其他配置 ...
# 游戏出生点(使用 /ripvp setspawn 设置)
spawn:
world: 'world' # 世界名
x: 0.0 # X坐标
y: 64.0 # Y坐标
z: 0.0 # Z坐标
yaw: 0.0 # 视角偏航角
pitch: 0.0 # 视角俯仰角或者直接删除旧配置文件,插件会自动生成新的。
🔧 安装/升级方法
全新安装
- 下载
RandomItemPVP-2.1.0.jar - 放入服务器
plugins文件夹 - 重启服务器
- 使用
/ripvp setspawn设置游戏出生点 - 使用
/ripvp start开始游戏
从 v2.0.1 升级
- 停止服务器
- 备份
plugins/RandomItemPVP/config.yml(可选) - 替换 jar 文件
- 启动服务器
- 使用
/ripvp setspawn重新设置游戏出生点
⚠️ 注意事项
- 必须重新设置出生点: 升级后第一次请使用
/ripvp setspawn设置出生点 - Java 21 要求: 本插件需要 Java 21 或更高版本
- Folia 兼容: 完全支持 Folia 多线程服务器
- 备份建议: 升级前建议备份配置文件
🐛 已知问题
目前暂无已知严重问题。
📞 反馈与支持
如有问题或建议,请在 GitHub Issues 中反馈。
感谢使用 RandomItemPVP! 🎮
RandomItemPVP v2.0.1 - 物品权重系统 & 重要Bug修复
🎮 RandomItemPVP v2.0.1
一款充满刺激的 Minecraft 大逃杀插件
✨ 新增功能
🎲 物品权重系统
- ✅ 可在配置文件中自定义不同物品的出现概率
- ✅ 管理员可调整稀有物品和常见物品的掉落频率
- ✅ 支持热重载权重配置(
/ripvp reload) - ✅ 预设配置:武器、工具、方块高频率(30-60),杂物极低频率(1)
🧨 苦力怕雨事件
- ✅ 5只苦力怕从30格高空降落
- ✅ 自带10秒缓降效果,防止摔死
- ✅ 特殊粒子和音效提示
⚡ 最后一圈事件加速
- ✅ 边界缩小到最小时,随机事件频率提升4倍
- ✅ 正常:30-120秒一次
- ✅ 最后一圈:10-30秒一次
🧪 药水随机效果系统
- ✅ 获得的药水自动带有随机有用效果
- ✅ 包括:强效治疗、力量、速度、抗火、隐身等14种效果
- ✅ 适用于普通药水、喷溅药水、滞留药水
🐛 重要 Bug 修复
玩家状态修复
- ✅ 修复玩家重新加入游戏被强制设为观察者的问题
- ✅ 修复中途退出的玩家仍被计入存活人数的问题
- ✅ 修复玩家死亡后仍被判定为获胜者的问题
- ✅ 修复玩家离线后重新上线导致游戏判定异常的问题
- ✅ 改进存活玩家追踪机制,使用独立列表而非依赖游戏模式
游戏清理修复
- ✅ 修复空投信标方块清理后留下小洞的问题
- ✅ 修复游戏结束后流动的水和岩浆不被清除的问题
- ✅ 修复玩家药水效果(如金苹果效果)在游戏结束后不被清除的问题
- ✅ 修复死亡玩家药水效果残留的问题
状态追踪改进
- ✅ 优化玩家重新加入游戏的逻辑(存活玩家恢复生存模式)
- ✅ 玩家离线时自动检查游戏是否结束
- ✅ 修复游戏结束时对离线玩家的处理
- ✅ 提升游戏状态追踪的可靠性
🎯 改进与优化
- ✨ 添加玩家离线事件的完整处理
- ✨ 空投系统现在会保存并恢复原始方块类型
- ✨ 游戏结束时扫描并清除竞技场范围内所有流体方块
- ✨ 事件系统重构为连续触发模式,增加游戏紧张感
- ✨ 物品权重预设优化:战斗物品权重30-60,杂物权重仅1
📦 安装方法
前置要求
- 服务器核心:Luminol 1.21.7 / Paper 1.21+ / Folia
- Java 版本:21 或更高
- 内存:建议至少 2GB
安装步骤
-
下载插件
- 从本页面下载
RandomItemPVP-2.0.1.jar
- 从本页面下载
-
安装到服务器
# 将 jar 文件放入 plugins 目录 cp RandomItemPVP-2.0.1.jar /your/server/plugins/ -
重启服务器
restart
-
设置游戏点(重要!)
# 在游戏中输入,这将是玩家集合和出生的位置 /ripvp setspawn⚠️ 必须先设置出生点才能开始游戏! -
开始游戏
/ripvp start
🎮 核心特性
🎲 随机物品系统
- 玩家每5秒自动获得随机物品
- 智能物品过滤,排除无用物品
- 武器工具自动附魔
- 可配置物品权重系统(v2.0.1 新增)
🌐 大逃杀机制
- 缩圈系统:边界逐渐缩小
- 边界伤害:可穿过但会扣血
- 高空出生:128格基岩柱均匀分布
- 缓降效果:防止摔伤
🎁 空投系统
- 定期空投补给箱
- 包含高级物品(图腾、下界合金、附魔金苹果等)
- 粒子和音效提示
⚡ 随机事件
- 箭雨、怪物围攻、恶魂袭击
- 苦力怕雨(v2.0.1 新增)
- 最后一圈事件加速(v2.0.1 新增)
🏆 平衡性系统
- 击杀奖励:钻石、附魔金苹果、经验
- 赏金猎人:击杀高连杀玩家获得额外奖励
- 弱者保护:连续死亡获得补偿
- 高连杀惩罚:缓慢、发光等负面效果
🎯 特殊物品能力
- 投掷TNT:右键投掷,2.5秒后爆炸
- 火焰弹:快速投掷,点燃目标
- 末影水晶:可放置在任何方块上
📝 指令
| 指令 | 描述 | 权限 |
|---|---|---|
/ripvp start |
发起游戏(30秒倒计时) | ripvp.use |
/ripvp join |
加入准备中的游戏 | ripvp.use |
/ripvp leave |
退出准备中的游戏 | ripvp.use |
/ripvp status |
查看游戏状态 | ripvp.use |
/ripvp stop |
强制结束当前游戏 | ripvp.admin (OP) |
/ripvp cancel |
取消准备中的游戏 | ripvp.admin (OP) |
/ripvp setspawn |
设置游戏出生点 | ripvp.admin (OP) |
/ripvp reload |
重载配置文件 | ripvp.admin (OP) |
📊 完整更新日志
查看完整功能列表和文档,请访问项目 README.md
🙏 致谢
- Paper Team - 提供优秀的服务器核心
- Folia Team - 多线程架构支持
- 所有贡献者 - 感谢你们的反馈和支持!
📞 反馈与支持
如遇到问题或有建议,请在 Issues 页面提交
如果这个插件对你有帮助,请给个 ⭐ Star!
Made with ❤️ by Narcssu-Cursor