# Azrova's Economy - 此项目不再由 Azrova 维护,你可以将其分叉,但请务必给我们署名!
一个强大的、功能丰富的经济插件,适用于 PaperMC/Bukkit 服务器,旨在提供必要的经济功能,并支持 Vault 和可选的 PlaceholderAPI 集成。
---
## 特性
* **核心经济功能通过 Vault:** 利用 Vault 实现与其他经济相关插件的广泛兼容性。
* **玩家账户管理:** 完整的用户账户创建、移除和访问控制系统。
* **用户访问控制:** 管理员可以移除用户从经济系统中,从而阻止他们使用任何经济命令。
* **可配置的起始余额:** 为新玩家设置起始金额。
* **每日奖励:** 允许玩家领取可配置的每日奖励。
* **玩家对玩家的支付:** `/pay` 命令用于转账。
* **钞票:** `/withdraw` 命令用于创建可以兑换的实物钞票。
* **余额查询:** `/balance` 命令供玩家查询自己的或他人的余额(基于权限)。
* **最富有玩家列表:** `/money top` 命令用于显示最富有的前 N 名玩家。
* **组织良好的管理员命令:** 独立的命令集用于余额管理和用户管理。
* **全面的帮助系统:** 通过 `/eco help [topic]` 在游戏中获取帮助,用于经济、管理员和用户管理命令。
* **PlaceholderAPI 支持(可选):** 使用 `%azrovaseconomy_balance%` 在其他插件(例如,积分板、聊天)中显示玩家余额。
* **可配置的货币符号:** 在 `config.yml` 中自定义货币符号(例如,$,€,等)。
* **SQLite 数据存储:** 玩家数据使用 SQLite 本地存储,无需外部数据库设置。
---
## 依赖项
* **[Vault](https://www.spigotmc.org/resources/vault.34315/) (必需):** Azrova's Economy 依赖 Vault 提供经济 API。如果没有安装 Vault,该插件将无法运行。
* **[PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) (可选):** 如果您想在其他插件(例如,积分板、聊天)中使用占位符,例如 `%azrovaseconomy_balance%`,则必须安装 PlaceholderAPI。 插件可以在没有它的情况下正常运行,但占位符将不可用。
---
## 安装
1. 确保您的服务器正在运行 PaperMC 1.21.x 或兼容版本。
2. 如果尚未安装,请安装 **Vault**。从 [SpigotMC](https://www.spigotmc.org/resources/vault.34315/) 下载并将其 JAR 文件放入服务器的 `plugins` 文件夹中。
3. (可选) 如果您打算使用占位符,请安装 **PlaceholderAPI**。从 [SpigotMC](https://www.spigotmc.org/resources/placeholderapi.6245/) 下载并将其 JAR 文件放入服务器的 `plugins` 文件夹中。
4. 从 [发布页面](https://github.com/Azrova/AzrovasEconomy/releases) 下载最新版本的 `AzrovasEconomy.jar`。
5. 将 `AzrovasEconomy.jar` 文件放入服务器的 `plugins` 文件夹中。
6. 重启或重新加载您的服务器。
---
## 配置
插件将在首次运行时在插件文件夹(`plugins/AzrovasEconomy/config.yml`)中生成一个 `config.yml` 文件。您可以修改这些设置:
```yaml
starting-balance: 100.0
daily-reward-amount: 100.0
currency-symbol: "$"
daily-enabled: true
```
* `starting-balance`: 当玩家首次加入服务器并且为其创建账户时,玩家收到的金额。
* `daily-reward-amount`: 当玩家使用 `/daily` 命令时收到的金额。
* `currency-symbol`: 消息中金额前使用的符号(例如,$100.00)。
* `daily-enabled`: 每日奖励系统是否启用。将其设置为 `false` 以完全禁用 `/daily` 命令。
---
## 命令和权限
以下是命令及其相应权限的列表。在 `default` 下设置 `true` 的权限默认授予所有用户。设置为 `op` 的权限默认授予服务器操作员。
### 玩家命令
| 命令 | 描述 | 权限 | 默认 |
| ---------------------------- | ------------------------------------------------ | --------------------------------- | ---------- |
| `/pay [user] [amount]` | 向用户支付一定金额。 | `azrova.economy.pay` | `true` |
| `/withdraw [amount]` | 将货币提取为实物钞票。 | `azrova.economy.withdraw` | `true` |
| `/balance` or `/bal` | 显示您的当前余额。 | `azrova.economy.balance` | `true` |
| `/balance [user]` | 显示另一用户的余额。 | `azrova.economy.balance.others` | `op` |
| `/money top` | 显示最富有的前 N 名玩家。 | `azrova.economy.money.top` | `true` |
| `/daily` | 领取您的每日奖励。 | `azrova.economy.daily` | `true` |
### 管理员命令
#### 帮助系统
| 命令 | 描述 | 权限 | 默认 |
| ---------------------------- | ------------------------------------------------ | --------------------------------- | ---------- |
| `/eco help` | 显示所有可用帮助主题。 | `azrova.admin` | `op` |
| `/eco help economy` | 列出所有玩家经济命令的帮助。 | `azrova.admin` | `op` |
| `/eco help admin` | 列出所有管理员余额管理命令的帮助。 | `azrova.admin` | `op` |
| `/eco help user` | 列出所有用户管理命令的帮助。 | `azrova.admin` | `op` |
#### 余额管理 (旧 /eco 命令)
| 命令 | 描述 | 权限 | 默认 |
| ---------------------------- | ------------------------------------------------ | --------------------------------- | ---------- |
| `/eco set [user] [amount]` | 设置用户的余额。 | `azrova.admin.set` | `op` |
| `/eco remove [user] [amount]`| 从用户处移除金钱。 | `azrova.admin.remove` | `op` |
| `/eco delete [user]` | 删除用户的经济账户。 | `azrova.admin.delete` | `op` |
#### 余额管理 (新 /eco admin 命令)
| 命令 | 描述 | 权限 | 默认 |
| ------------------------------ | ------------------------------------------------ | --------------------------------- | ---------- |
| `/eco admin set [user] [amount]`| 设置用户的余额。 | `azrova.admin.set` | `op` |
| `/eco admin add [user] [amount]`| 向用户的余额添加金钱。 | `azrova.admin.add` | `op` |
| `/eco admin remove [user] [amount]`| 从用户处移除金钱。 | `azrova.admin.remove` | `op` |
| `/eco admin delete [user]` | 删除用户的经济账户。 | `azrova.admin.delete` | `op` |
#### 用户管理
| 命令 | 描述 | 权限 | 默认 |
| ------------------------------ | ------------------------------------------------ | --------------------------------- | ---------- |
| `/eco user create [username]` | 为用户创建一个经济账户。 | `eco.admin.user.create` | `op` |
| `/eco user remove [username]` | 删除用户的经济账户。 | `eco.admin.user.remove` | `op` |
### 基本管理员权限
| 权限 | 描述 | 默认 |
| ---------------------------- | ------------------------------------------------ | ---------- |
| `azrova.admin` | 所有管理员命令的基本权限。 | `op` |
---
## 用户访问控制
Azrova's Economy 包含一个全面的用户访问控制系统:
### 账户管理
- **账户创建:** 管理员可以使用 `/eco user create [username]` 为用户创建经济账户
- **账户移除:** 管理员可以使用 `/eco user remove [username]` 从经济系统中移除用户
- **访问阻止:** 移除的用户不能使用任何经济命令,直到他们的账户被重新创建
### 移除的用户行为
当用户的经济账户被移除时:
- 所有经济命令 (`/balance`, `/pay`, `/withdraw`, `/daily`) 将失败,并显示清晰的错误消息
- 用户收到消息:“您没有经济账户。请联系管理员。”
- 不会自动重新创建账户 - 账户必须由管理员手动重新创建
- 其他玩家不能向被移除的用户支付金钱
### 账户重新创建
- 移除的用户可以使用 `/eco user create [username]` 重新创建他们的账户
- 新账户以配置的起始余额开始
- 恢复所有经济功能
---
## 帮助系统
该插件具有全面的游戏内帮助系统,可以通过 `/eco help` 访问:
- **`/eco help`** - 显示所有可用帮助主题
- **`/eco help economy`** - 列出所有玩家经济命令
- **`/eco help admin`** - 列出所有管理员余额管理命令
- **`/eco help user`** - 列出所有用户管理命令并附带使用说明
---
## 占位符 (PlaceholderAPI)
如果安装了 PlaceholderAPI,则可以使用以下占位符:
* `%azrovaseconomy_balance%`: 显示玩家的当前余额,并使用配置的货币符号进行格式化。
* 示例:`您有: %azrovaseconomy_balance%` 可能会显示为 `您有: $150.50`
* 对于没有经济账户的用户返回 `$0.00`
---
## 从源代码构建
如果您想从源代码构建插件:
1. 克隆存储库:`git clone https://github.com/Azrova/AzrovasEconomy.git`
2. 导航到项目目录:`cd AzrovasEconomy`
3. 确保您已经安装并配置了 Java 21(或 `build.gradle.kts` 中指定的版本)。
4. 运行 Gradle 构建命令:
* 在 Windows 上:`.\gradlew build`
* 在 Linux/macOS 上:`./gradlew build`
5. 编译后的 JAR 文件将位于 `build/libs/` 目录中。
---
## 作者和支持
* **作者:** CNethuka, Sobble
* **支持和错误报告:** 请在 GitHub 的 [问题页面](https://github.com/Azrova/AzrovasEconomy/issues) 上使用它。
* **项目存储库:** [https://github.com/Azrova/AzrovasEconomy](https://github.com/Azrova/AzrovasEconomy)
---
充满 ❤ 由 CNethuka 和 Sobble 制作