# AnhyShop
是一个为创建商人和在 Minecraft 服务器上进行交易而设计的独特插件,基于村民的交易物品栏。已在 `Spigot`、`Paper`、`Purpur` 服务器核心版本 `1.20.4` 上测试。
### [**AnhyShop**](https://modrinth.com/plugin/anhyshop) 的关键依赖项
**AnhyShop** 正常运行的主要要求是安装 [**AnhyLibAPI**](https://modrinth.com/plugin/anhylibapi) 库版本 1.5.2 或更高版本。没有 **AnhyLibAPI**,**AnhyShop** 将无法运行。它提供了系统消息的翻译和商人的多语言名称。
此外,**AnhyShop** 与 [**AnhyLingo**](https://modrinth.com/plugin/anhylingo) 版本 0.3.3 或更高版本兼容。安装 **AnhyLingo** 扩展了 **AnhyShop** 的多语言功能。但是,它的缺失并不影响 **AnhyShop** 的主要操作。
## 插件功能
**AnhyShop:创建 Minecraft 管理商店的直观插件**
- **简单易用**: 无需复杂的配置,所有数据都自动存储在嵌入式 SQLite 数据库(插件文件夹中的 `shops.db` 文件)。
- **数据安全**: 商人信息已加密。
- **灵活使用**: 通过控制台命令或具有适当权限的玩家命令打开交易。
### 管理员命令
(具有 `anhyshop.*` 权限)
#### 重新加载命令
- **重新加载插件** `(anhyshop.reload)`: `/shop reload` - 重新加载语言文件、配置和数据库中的交易者。 可从控制台使用。
### 与交易者互动
(具有 `anhyshop.trader.*` 权限)
1. **关于交易者的信息** `(anhyshop.trader.view)`: `/shop list` - 显示所有交易者的列表。 可从控制台使用。
2. **创建新的交易者** `(anhyshop.trader.create)`: `/shop newt ` - 创建一个新的交易者。 可从控制台使用。
3. **删除交易者** `(anhyshop.trader.delete)`: `/shop delt ` - 删除一个交易者。 可从控制台使用。
4. **重命名交易者** `(anhyshop.trader.rename)`: `/shop rename ` - 重命名一个交易者。 可从控制台使用。
5. **打开交易物品栏** `(anhyshop.trader.open)`: `/shop open ` - 为玩家打开交易。 可从控制台使用。
6. **自行交易** `(anhyshop.trader.trade)`: `/shop trade ` - 打开交易。
### 货物操作
(具有 `anhyshop.product.*` 权限)
1. **添加新的交易** `(anhyshop.product.add)`: `/shop add ` - 为了添加交易,将物品放入你的物品栏的 1、2、3 个槽中。
2. **替换现有的交易** `(anhyshop.product.replace)`: `/shop replace ` - 替换或添加产品。
3. **删除现有的交易** `(anhyshop.product.remove)`: `/shop remove ` - 从竞标中删除产品。

### 目录结构
- `lang`: 插件系统消息和交易者名称的翻译文件。
```yaml
trader_name_emberlyn: Emberlyn Gemwhisper
trader_name_flint: Flint Firebeard
trader_name_mira: Mira Mysticsight
trader_name_silas: Silas Silverthread
trader_name_cedric: Cedric Stonehand
trader_name_willow: Willow Wildroot
trader_name_raven: Raven Nightshade
trader_name_eldon: Eldon Ironfoot
trader_name_aurora: Aurora Skydancer
trader_name_gideon: Gideon Goldspinner
```
### AnhyShop 插件版本 1.0.0 的扩展功能
版本 1.0.0 中的 **AnhyShop** 引入了“卖家”的新概念,允许玩家通过游戏中的对象与商人互动进行交易。这通过提供更动态和方便的交易过程管理,来增强交易体验。
#### “卖家”的关键功能:
1. **“卖家”的类型**:
- **机械对象**: 按钮、门、杠杆根据其类型和确切位置坐标来识别。
- **告示牌**: 基于材料类型和告示牌上显示的文本进行识别。告示牌可以放置在不同的位置,但告示牌上的文本将确定单个“卖家”。
- **具有自定义名称的生物**: 利用生物类型及其唯一的名称进行识别。 只有具有自定义名称的生物才能成为“卖家”。
- **游荡商人**: 一旦链接,所有游荡商人都被识别为一个“卖家”,允许对他们的交易物品栏进行统一更改。
- **村民**: 通过职业和等级进行识别。从特定职业和等级的村民创建一个“卖家”会替换所有类似村民的标准交易操作。
#### 管理“卖家”的命令:
**注意**: 以下所有命令仅适用于具有 `anhyshop.seller` 权限的玩家。
- **创建“卖家”**:
- **命令**: `/shop seller add `
- **描述**: 创建一个链接到所选交易者的“卖家”,使用唯一的键 ``,基于玩家正在查看的对象。玩家必须在对象周围 5 个方块以内。
- **移除“卖家”**:
- **命令**: `/shop seller remove `
- **描述**: 使用其唯一的数字标识符 `` 移除一个“卖家”。
- **查看“卖家”的信息**:
- **命令**: `/shop seller view `
- **描述**: 显示“卖家”的详细信息,包括其类型、位置、链接的交易者和标识符。
- **列出所有“卖家”**:
- **命令**: `/shop seller list`
- **描述**: 显示所有现有“卖家”的列表,并能够复制 `` 到剪贴板,从而简化了进一步操作的标识符管理。
这些更新显著增强了玩家与交易者的互动,提供了更大的控制权和自定义选项,用于 Minecraft 服务器上的交易过程。
### 语言个性化
**AnhyShop 与 AnhyLibAPI 和 AnhyLingo 集成的多语言功能**
1. **系统消息本地化** (AnhyLibAPI):存储在 `shop_XX.yml` 文件中,位于 `lang` 文件夹内。
2. **交易者名称翻译** (AnhyLibAPI):在 `traders_XX.yml` 中添加翻译。
3. **交易中多语言物品显示** (AnhyLingo):涉及多语言物品的交易将在玩家选择的语言中显示这些物品。
##### AnhyShop 与 AnhyLibAPI 和 AnhyLingo 的集成增强了不同语言的用户体验,并丰富了交易体验,使其具有包容性和全球可访问性。