Files
BedwarsRel/README.md
2026-04-01 18:18:05 +08:00

207 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BedwarsRel - 指令商店物品扩展版
基于 [BedwarsRel](https://github.com/BedwarsRel/BedwarsRel) 的改进版本,添加了**指令商店物品**功能支持。
[![License](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Minecraft](https://img.shields.io/badge/Minecraft-1.12.2-green.svg)](https://www.minecraft.net/)
[![API](https://img.shields.io/badge/API-Spigot%201.12-orange.svg)](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
---
**免责声明**: 本插件按"原样"提供,不对因使用本插件造成的任何损失负责。