EndStone-EasyHotPotato
一个基于 EndStone 的烫手山芋游戏插件
Powered by EndStone.
📖 简介
EasyHotPotato 是一个专为 EndStone 服务器设计的烫手山芋游戏插件,提供了一个刺激有趣的多人竞技游戏体验。玩家需要在限定时间内将"烫手山芋"传递给其他玩家,避免在自己手中爆炸。插件支持自动游戏流程管理、玩家战绩记录、排行榜系统、粒子特效、音效反馈和BossBar倒计时等功能,为服务器玩家提供完整的游戏体验。
✨ 核心特性
| 特性 | 描述 |
|---|---|
| 🎮自动游戏流程 | 完整的游戏生命周期管理,自动处理加入、等待、开始、结束等流程 |
| 📊战绩记录系统 | 记录玩家胜场、总场次和胜率等数据 |
| 🏆排行榜功能 | 按胜场数和胜率自动排序的玩家排行榜 |
| 📜战局记录 | 记录每场游戏的详细信息,包括参与玩家、游戏时长、获胜者等 |
| 🎨粒子特效 | 山芋持有者火焰粒子效果和淘汰时爆炸效果 |
| 🔊音效反馈 | 传递山芋、山芋爆炸等游戏事件的音效提示 |
| 📊BossBar显示 | 实时显示游戏状态、倒计时和山芋持有者信息 |
| 🌈彩虹跑马灯 | 精美的BossBar彩虹循环效果 |
| 🗺️区域管理 | 灵活的等待区域和竞技区域设置 |
| ⚙️可配置参数 | 支持自定义游戏时长、最低人数、活动半径等参数 |
| 🎯位置检测 | 自动检测玩家是否离开竞技区域 |
| 🌍多语言界面 | 支持中文、英文等多语言显示 |
| 📝完整日志系统 | 彩色日志输出,按日期分割存储 |
🗂️ 目录结构
服务器根目录/
├── logs/
│ └── EasyHotPotato/ # 日志目录
│ └── easyhotpotato_YYYYMMDD.log # 主日志文件
├── plugins/
│ ├── endstone_easyhotpotato-x.x.x-py3-none-any.whl # 插件主文件
│ └── EasyHotPotato/ # 插件资源目录
│ ├── config/
│ │ └── config.json # 配置文件
│ └── data/ # 数据目录
│ ├── player_stats.json # 玩家战绩数据
│ └── game_history.json # 战局记录数据
🚀 快速开始
安装步骤
-
下载插件
-
安装插件
# 将插件主文件复制到服务器 plugins 目录 cp endstone_easyhotpotato-x.x.x-py3-none-any.whl plugins/
-
启动服务器
- 重启服务器或使用
/reload命令 - 插件会自动生成默认配置文件和数据目录
- 重启服务器或使用
⚙️ 配置详解
配置文件位于:plugins/EasyHotPotato/config/config.json
📋 主要配置项
{
// 📍 等待中心坐标
"waitPos": {
"x": 0,
"y": 0,
"z": 0,
"dimid": 0
},
// 📍 竞技中心坐标
"gamePos": {
"x": 100,
"y": 64,
"z": 100,
"dimid": 0
},
// 📏 活动半径
"areaSize": {
"x": 10,
"z": 10
},
// ⏰ 游戏参数
"waitTime": 120, // 满人后的预备等待时间(秒)
"preTime": 10, // 正式开赛前的热身倒计时(秒)
"gameTime": 180, // 游戏时长(秒)
// 👥 玩家数量设置
"minPlayers": 2, // 触发自动开赛的最低人数
"maxPlayers": 0 // 最大参与人数,0表示无上限
}
🎮 命令手册
玩家命令
| 命令 | 权限 | 描述 |
|---|---|---|
/easyhotpotato |
所有玩家 | 打开游戏主菜单 |
/easyhotpotato status |
所有玩家 | 查看游戏状态 |
/easyhotpotato stats [玩家] |
所有玩家 | 查看战绩,可指定玩家名称 |
/easyhotpotato help |
所有玩家 | 查看帮助 |
管理员命令
| 命令 | 权限 | 描述 |
|---|---|---|
/easyhotpotato |
OP | 打开游戏主菜单(包含后台管理选项) |
🎯 游戏规则
- 加入游戏:通过主菜单进入战场,等待其他玩家加入
- 游戏开始:达到最低人数后,经过等待时间和热身倒计时后游戏正式开始
- 传递山芋:持有山芋的玩家必须通过物理攻击其他玩家来传递山芋
- 山芋爆炸:每轮都有随机的倒计时,计时器归零时山芋爆炸,淘汰当前持有者
- 区域限制:离开比赛区域将立即判负
- 游戏胜利:最后剩下的玩家获得胜利
- 战绩记录:胜场最多的玩家将登上排行榜
🔧 高级功能
🎨 粒子特效
插件为山芋持有者提供持续的火焰粒子效果,并在淘汰时播放爆炸粒子效果,增强游戏视觉体验。
🔊 音效反馈
- 传递音效:山芋传递时播放火焰射击音效
- 爆炸音效:山芋爆炸时播放爆炸音效
- 倒计时音效:最后5秒播放经验音效,声调逐渐升高
📊 BossBar显示
- 等待阶段:显示当前玩家数量和所需最低人数
- 倒计时阶段:显示游戏开始倒计时
- 游戏进行中:显示山芋持有者和剩余时间
- 淘汰提示:显示被淘汰玩家信息
🛠️ 故障排除
常见问题
❓ 游戏无法开始
检查步骤:
- 确认参与玩家数量达到最低要求
/easyhotpotato status - 检查配置文件中的等待时间和热身时间设置
- 查看日志文件
cat logs/EasyHotPotato/easyhotpotato_*.log
❓ 玩家无法加入游戏
排查方法:
- 检查是否达到最大人数限制
- 确认玩家是否已经在游戏中
- 查看日志文件了解详细错误信息
❓ 玩家被意外淘汰
排查方法:
- 检查玩家是否离开了活动区域
- 确认活动半径设置是否合理
- 查看日志文件了解淘汰原因
📊 日志文件说明
| 日志文件 | 位置 | 用途 |
|---|---|---|
| 主日志 | logs/EasyHotPotato/easyhotpotato_YYYYMMDD.log |
记录游戏操作、玩家行为等常规信息 |
📄 许可证
本项目采用 AGPL-3.0 许可证开源。
版权所有 (c) 2023 梦涵LOVE
本程序是自由软件:您可以自由地重新发布和修改它,
但必须遵循AGPL-3.0许可证的条款。
完整许可证文本请参阅 LICENSE 文件。
👥 贡献指南
欢迎提交 Issue 和 Pull Request!
- Fork 项目仓库
- 创建功能分支
git checkout -b feature/AmazingFeature
- 提交更改
git commit -m 'Add some AmazingFeature'
- 推送分支
git push origin feature/AmazingFeature
- 创建 Pull Request
🌟 支持与反馈
Metadata
Release files for endstone-easyhotpotato 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| endstone_easyhotpotato-0.1.2.tar.gz | 43.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| endstone_easyhotpotato-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 84.0 kB
Release files / endstone_easyhotpotato-0.1.2.tar.gz
| Download URL | endstone_easyhotpotato-0.1.2.tar.gz |
|---|---|
| Size | 43.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f18f0659209856f8edd5bf8ebd05b5ad568d538539bec30f9e0209ccf8f76133
|
|
BLAKE2b-256 checksum How to use checksums |
316669425731812d00e04529a1f8ef0c6255aaf95e7144db8c5a9d1a041aa473
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / endstone_easyhotpotato-0.1.2-py3-none-any.whl
| Download URL | endstone_easyhotpotato-0.1.2-py3-none-any.whl |
|---|---|
| Size | 40.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d08d507cd6a6fc84a82a445bca536d4852ec05331e256a1e7273e6eb95bdee88
|
|
BLAKE2b-256 checksum How to use checksums |
d1b192526b6c360be72a1c9dc29d49786a816eb2798b3964d638925852cf05d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|