商店系统
EliteMobs 内置一套商店系统,让玩家可以花费和赚取**精英币(Elite Coins,EliteMobs 货币)**来购买 EliteMobs 装备和箭矢。商店通常通过冒险者公会中的铁匠和商人 NPC 访问,但也可以通过命令打开。
只有在 EliteMobs 经济开启时(EconomySettings.yml 中 enableEconomy: true)商店才会工作。如果你启用了 Vault 集成,EliteMobs 将通过你的 Vault 经济读写余额,而非使用它自己的货币数据库。
货币
默认货币称为精英币(Elite Coins)(EconomySettings.yml 中的 currencyName)。玩家主要通过击杀精英(货币掉落)以及出售 EliteMobs 战利品来赚取它。余额可以使用标准的货币命令进行查询和支付:
/em wallet//em money check—— 查询你的余额/em pay <player> <amount>—— 向另一名玩家付款(受playerToPlayerPaymentTaxes影响)
管理员可以用 /em money add|remove|set 等命令管理余额。
各类商店
动态商店(程序生成装备)
通过 /em shop dynamic 或与铁匠NPC(elitemobs.shop.dynamic.npc)对话来打开。
动态商店会用程序生成的 EliteMobs 武器和护甲填满一个 54 格的菜单。所提供物品的等级会按你对该物品类型的技能等级进行缩放:每件物品都在 (skillLevel - 5) 与 skillLevel 之间掷骰(限制在 1–100),使用相关的武器/护甲技能(对于没有匹配技能的物品则使用你的平均技能等级)。这使得商店中始终备有适合你当前进度的装备。
- 点击一件物品即可购买。价格为该物品的计算价值;如果你买不起、背包已满,或不满足装备该物品的技能要求,购买将被阻止。
- 使用**重抽(reroll)**按钮刷新所提供的库存(短暂的 2 秒冷却)。
自定义商店(特殊物品)
通过 /em shop custom 或与特殊铁匠NPC(elitemobs.shop.custom.npc)对话来打开。
自定义商店出售已被标记为可上架的手工自定义物品。这里展示的物品取自被配置为出现在商店中的自定义物品池,并会自动灵魂绑定给购买者。与动态商店一样,它有一个重抽按钮(2 秒冷却)以及相同的购买规则(价格、背包空间和资金检查)。
出售物品
出售通过买卖菜单中的**出售(Sell)**选项进入(在打开动态商店或自定义商店之后),或者由管理员直接使用 /em shop sell <player>(elitemobs.shop.sell.other)。出售物品铁匠 NPC 使用 elitemobs.shop.sell.npc 权限。
在出售菜单中:
- 将 EliteMobs 物品从你的背包拖入出售槽位。只有灵魂绑定给你的 EliteMobs 物品才能出售——原版物品和灵魂绑定给他人的物品会被拒绝并提示一条消息。
- 确认按钮会显示累计总额。点击它即可出售一切并获得精英币。
- 转售价值为物品完整价值的一部分,由
EconomySettings.yml中的itemResaleValue设置(默认 5%)。
箭矢商店
通过与箭矢商店NPC(elitemobs.shop.arrow.npc)对话来打开。
箭矢商店用精英币出售弹药。默认库存包括:
- 普通箭矢(一小叠和一大叠)
- 光灵箭
- 中毒、缓慢、虚弱、伤害和治疗的药箭
每个条目的数量和价格都可在箭矢商店菜单配置中配置。点击一支箭即可购买(如果你买不起或背包已满则会被阻止)。
命令与权限
| 命令 | 权限 | 默认 | 说明 |
|---|---|---|---|
/em shop dynamic | elitemobs.shop.dynamic | true | 打开动态(程序化)装备商店 |
/em shop procedural <player> | elitemobs.* | op | 为另一名玩家打开动态(程序化)商店 |
/em shop custom | elitemobs.shop.command | true | 打开自定义物品商店 |
/em shop custom <player> | elitemobs.shop.custom.other | op | 为另一名玩家打开自定义商店 |
/em shop sell <player> | elitemobs.shop.sell.other | op | 为另一名玩家打开出售菜单 |
NPC 交互权限(默认通过 elitemobs.user 捆绑授予玩家):
| 权限 | NPC |
|---|---|
elitemobs.shop.dynamic.npc | 铁匠(动态商店) |
elitemobs.shop.custom.npc | 特殊铁匠(自定义商店) |
elitemobs.shop.sell.npc | 出售物品 |
elitemobs.shop.arrow.npc | 箭矢商店 |
配置
商店经济在 EconomySettings.yml 中配置。值得注意的键:
| 键 | 默认 | 作用 |
|---|---|---|
enableEconomy | true | 整个商店/经济系统的总开关 |
currencyName | Elite Coins | 货币的显示名称 |
useVault | false | 通过 Vault 而非 EliteMobs 数据库来处理余额 |
itemResaleValue | 5 | 出售时按物品完整价值支付的百分比 |
playerToPlayerPaymentTaxes | 0.2 | 应用于 /em pay 转账的税率(0.0–1.0)(0.2 = 20%) |
materialWorth.defaultMaterialWorth | 1 | 没有显式价格的材质的回退价值 |
每个商店的菜单布局(槽位、物品图标、名称和消息)位于 EliteMobs 菜单配置文件中(例如买卖、自定义商店、程序化商店、出售和箭矢商店菜单配置)。