207 lines
4.6 KiB
Markdown
207 lines
4.6 KiB
Markdown
# BedwarsRel - 指令商店物品扩展版
|
||
|
||
基于 [BedwarsRel](https://github.com/BedwarsRel/BedwarsRel) 的改进版本,添加了**指令商店物品**功能支持。
|
||
|
||
[](https://www.gnu.org/licenses/gpl-3.0)
|
||
[](https://www.minecraft.net/)
|
||
[](https://www.spigotmc.org/)
|
||
|
||
## 📋 项目说明
|
||
|
||
本项目是 BedwarsRel 的分支版本,在保留原项目所有功能的基础上,添加了**商店物品执行指令**功能。这使得服务器管理员可以配置特殊的商店物品,当玩家购买时执行自定义命令而非给予物品。
|
||
|
||
### 原项目信息
|
||
|
||
- **原作者**: BedwarsRel-Team
|
||
- **原仓库**: https://github.com/BedwarsRel/BedwarsRel
|
||
- **原许可证**: GNU General Public License v3.0
|
||
|
||
## ✨ 新增功能
|
||
|
||
### 1. 指令商店物品支持
|
||
|
||
在 `shop.yml` 中配置带命令的商店物品:
|
||
|
||
```yaml
|
||
shop:
|
||
special:
|
||
item: STICK
|
||
name: "§d特殊商店"
|
||
order: 1
|
||
offers:
|
||
- reward:
|
||
- item: STONE
|
||
amount: 1
|
||
name: "§c测试命令物品"
|
||
commands:
|
||
- 'say %player% 购买了命令物品'
|
||
- 'give %player% diamond 1'
|
||
price:
|
||
- type: IRON_INGOT
|
||
amount: 4
|
||
```
|
||
|
||
### 2. 支持两种配置格式
|
||
|
||
**格式1 - 扩展格式**(推荐):
|
||
```yaml
|
||
reward:
|
||
- item: LINGERING_POTION
|
||
amount: 1
|
||
name: "§c力量药水"
|
||
lore:
|
||
- '§7效果: 力量 I'
|
||
effects:
|
||
- type: STRENGTH
|
||
duration: 180
|
||
amplifier: 1
|
||
```
|
||
|
||
**格式2 - 标准格式**:
|
||
```yaml
|
||
reward:
|
||
- type: STONE
|
||
amount: 1
|
||
meta:
|
||
display-name: "§c测试物品"
|
||
```
|
||
|
||
### 3. 与 BedwarsXP 兼容
|
||
|
||
修改后的版本同时支持 BedwarsXP 经验商店插件,在经验模式下也能正常使用指令商店物品。
|
||
|
||
## 📥 安装说明
|
||
|
||
### 前置要求
|
||
|
||
- Spigot/Paper 1.12.2 服务器
|
||
- Java 8 或更高版本
|
||
|
||
### 安装步骤
|
||
|
||
1. 下载 `BedwarsRel-1.3.6.jar`
|
||
2. 将 jar 文件放入服务器的 `plugins/` 目录
|
||
3. 重启服务器
|
||
4. 编辑 `plugins/BedwarsRel/shop.yml` 添加带命令的商店物品
|
||
5. 使用 `/bw reload` 重载配置
|
||
|
||
## 🔧 配置示例
|
||
|
||
### 完整 shop.yml 示例
|
||
|
||
```yaml
|
||
shop:
|
||
blocks:
|
||
item: SANDSTONE
|
||
name: "§e方块"
|
||
order: 10
|
||
lore:
|
||
- "§7建筑方块"
|
||
offers:
|
||
# 普通物品
|
||
- reward:
|
||
- type: SANDSTONE
|
||
amount: 4
|
||
price:
|
||
- type: BRONZE
|
||
amount: 1
|
||
meta:
|
||
display-name: "§c青铜"
|
||
|
||
# 命令物品示例
|
||
- reward:
|
||
- item: STONE
|
||
amount: 1
|
||
name: "§c传送物品"
|
||
lore:
|
||
- "§7点击传送到基地"
|
||
commands:
|
||
- 'tp %player% 0 100 0'
|
||
- 'say %player% 使用了传送物品!'
|
||
price:
|
||
- type: IRON_INGOT
|
||
amount: 2
|
||
meta:
|
||
display-name: "§7铁锭"
|
||
|
||
weapons:
|
||
item: DIAMOND_SWORD
|
||
name: "§c武器"
|
||
order: 20
|
||
offers:
|
||
- reward:
|
||
- type: DIAMOND_SWORD
|
||
amount: 1
|
||
meta:
|
||
enchants:
|
||
DAMAGE_ALL: 1
|
||
price:
|
||
- type: GOLD_INGOT
|
||
amount: 4
|
||
meta:
|
||
display-name: "§6金锭"
|
||
```
|
||
|
||
## 🏗️ 构建说明
|
||
|
||
### 环境要求
|
||
|
||
- Maven 3.6+
|
||
- Java 8
|
||
- Git
|
||
|
||
### 构建步骤
|
||
|
||
```bash
|
||
# 克隆仓库
|
||
git clone https://git.lnkos.cn/atob/BedwarsRel.git
|
||
cd BedwarsRel-CommandShop
|
||
|
||
# 构建项目
|
||
mvn clean package -DskipTests
|
||
|
||
# 生成的 jar 文件位于:
|
||
# plugin/target/BedwarsRel-1.3.6.jar
|
||
```
|
||
|
||
### 模块说明
|
||
|
||
- `common/` - 核心代码模块
|
||
- `v1_12_r1/` - 1.12.2 版本 NMS 适配
|
||
- `plugin/` - 最终打包模块
|
||
|
||
## 📜 许可证
|
||
|
||
本项目基于 [GNU General Public License v3.0](LICENSE) 发布。
|
||
|
||
### 改进内容版权声明
|
||
|
||
本改进版本在 BedwarsRel 原项目基础上添加了以下功能:
|
||
- 指令商店物品支持
|
||
- 改进的物品匹配逻辑
|
||
- BedwarsXP 插件兼容性支持
|
||
|
||
所有新增代码同样遵循 GPL-3.0 许可证。
|
||
|
||
## 🤝 贡献指南
|
||
|
||
欢迎提交 Issue 和 Pull Request!
|
||
|
||
## 📝 更新日志
|
||
|
||
### v1.3.6+ (2026-04-01)
|
||
|
||
- ✨ 新增指令商店物品功能
|
||
- ✨ 兼容 BedwarsXP 经验商店插件
|
||
- 🔧 修复物品匹配逻辑问题
|
||
- 🔧 优化药水类物品解析
|
||
|
||
## 👥 致谢
|
||
|
||
- [BedwarsRel-Team](https://github.com/BedwarsRel) - 原项目开发团队
|
||
- [SpigotMC](https://www.spigotmc.org/) - 提供服务器 API
|
||
|
||
---
|
||
|
||
**免责声明**: 本插件按"原样"提供,不对因使用本插件造成的任何损失负责。
|