# Assailents Economic Additions
## Introduction
Assailents Economic Additions 是我解决当前寻找良好、无臃肿且可定制的经济插件问题的解决方案。在运行/开发服务器(Homieworld 和 Aeros 在它们关闭以及原始所有者管理期间)并苦于找到好的经济插件之后,我决定自己制作一个。
## Requirements:
* Vault (即使它说最后测试版本是 1.17,它也适用于 1.20.4): https://www.spigotmc.org/resources/vault.34315/
* PlaceholderAPI
https://www.spigotmc.org/resources/placeholderapi.6245/
## Commands & Permissions
正如引言所述,为了保持无臃肿,只有几个命令。
### Admin Commands
* /economy \
获取玩家的余额,给玩家金钱,从玩家处扣除金钱,或设置玩家的余额。\
所需权限: `EconomicAdditions.economygui` \
别名: N/A
### User Commands
* /bal [player] \
返回一个玩家的余额。\
所需权限: `EconomicAdditions.balance` 和 `EconomicAdditions.balance.others` \
别名: /balance
* /pay \
从你的余额中支付玩家。\
所需权限: `EconomicAdditions.pay` \
别名: N/A
* /toggleactionbar \
切换玩家热栏上方的操作栏(参见自定义功能)\
所需权限: `EconomicAdditions.toggleactionbar` \
别名: /actionbar /ab
* /economygui \
打开经济 GUI(允许支付和余额,无论权限如何都可以查看余额)\
所需权限: `EconomicAdditions.economygui` \
别名: /econgui /econ /egui /money
* /stockdisplay \
此功能切换 Stock 显示(参见自定义功能)\
所需权限: `EconomicAdditions.stockdisplay` \
别名: /toggledisplay /togglestock /toggletickdisplay /stock /display /tickdisplay
## Custom Features
### Mini Message 支持
每个消息都支持 AdventureLib mini message 格式!允许渐变、自定义颜色等...
MiniMessage 格式链接: https://docs.advntr.dev/minimessage/format.html
### Action Bar
操作栏是一个可以切换的显示,位于 lang.yml 中(参见配置)。默认情况下,它每 2 秒更新一次,并显示玩家的余额以及货币名称。
### Stock display
本质上,这只是一个标题,它会显示并从收到或扣除金钱的金额的 80% 开始增加到完整百分比。可以在 lang.yml 中切换(参见配置)。
### Economy Gui
一个基本的 UI,允许玩家支付、查看余额以及以 UI 形式查看其他统计信息!
它还支持分页,如果您有超过 27 名玩家在线,并且所有内容都是可定制的!
## Configuration
在配置文件的配置类型中,您需要了解两种类型;\
正常配置,\
物品。
### Normal Configuration
这非常直接。 例如 `starting-money: 1500` 表示玩家从 1500 开始。不需要过多思考。这也是几乎所有插件消息都可以自定义的地方(包括翻译或完全不同的消息)。
### Items
物品主要定义在 `gui/economy:` 部分;并且具有一些关键特性!\
这是一个物品示例
```yml
TestItem:
Material: "DIAMOND" # 从 https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html 获取材质,除了 "PLAYERHEAD" 更多信息请参考后面的说明。
Amount: 1 # ItemStack 中的数量
Title: "Diamond Stick" # 物品名称
Lore:
- "这是第一行简介!"
- "这是第二行!"
- "您可以拥有任意多行简介!"
- "我支持 MiniMessage 和 PlaceholderAPI 格式!"
```
此物品不会显示,因为插件没有调用它。这就是您必须不要!更改 lang.yml 中变量的名称。\
您可以使用简单的行在物品底部添加自定义模型数据 \
示例:
```yml
TestItem:
Material: "DIAMOND"
Amount: 1
Title: "Diamond Stick"
Lore:
- "一些很酷的简介"
- "是的!"
CustomModelData: 1
```
自定义模型数据仅在您了解其用途时才有用!
### Full Config Files
#### Lang.yml
```yml
common:
prefix: "[Economic Additions] "
currency-singular: "Sheep"
currency-plural: "Sheeps"
starting-money: 1500
error-color: "<#EB7272>"
success-color: "<#A6F8C6>"
non-valid-number: "The amount must be a valid decimal number. Got: "
sender-not-a-player: "Only players can use this command!"
target-hasnt-player-before: "The player %parse% has never played on this server before!"
no-permission: "You don't have permission for this command!"
economy:
took-money: "Took %currency% from %parse%'s account."
gave-money: "Gave %currency% to %parse%'s account."
set-money: "Set %parse%'s account to %currency%."
balance: "%parse%'s balance: %currency%"
paid-player: "You paid %parse% %currency%"
recieved-money: "You were paid %currency% from %parse%"
not-enough-money: "You don't have enough money for that!"
actionbar:
enabled: true
update: 2
text: "%vault_eco_balance% Sheeps"
toggle-on-text: "Action bar toggled ON!"
toggle-off-text: "Action bar toggled OFF!"
stockdisplay:
enabled: true
min-amount: 2000
negative:
prefix: "[-] "
suffix: " Sheeps"
positive:
prefix: "[+] "
suffix: " Sheeps"
toggle-on-text: "Stock Display toggled ON!"
toggle-off-text: "Stock Display toggled OFF!"
gui:
economy:
messages:
cancel-payment: "Cancelling Payment!"
mainMenu:
Title: "Economic Additions"
payItem:
Material: 'DIAMOND'
Amount: 1
Title: "Pay Players!"
Lore:
- "点击此项以打开支付玩家菜单!"
- "EconomicAdditions"
balItem:
Material: 'GOLD_INGOT'
Amount: 2
Title: "Balances!"
Lore:
- "点击此项以查看其他玩家的余额!"
- "EconomicAdditions"
statsItem:
Material: "PLAYERHEAD"
Amount: 1
Title: "Stats!"
Lore:
- "You %player_displayname% have: "
- "%vault_eco_balance% Sheeps!"
emptyItem:
Material: "GRAY_STAINED_GLASS_PANE"
Amount: 1
Title: ""
payMenu:
Title: "ᴘᴀʏ ᴘʟᴀʏᴇʀꜱ"
pay-message: "How much would you like to pay?"
nextFullItem:
Material: "LIME_DYE"
Amount: 1
Title: "ɴᴇxᴛ ᴘᴀɢᴇ"
nextEmptyItem:
Material: "GRAY_DYE"
Amount: 1
Title: "ɴᴇxᴛ ᴘᴀɢᴇ"
prevFullItem:
Material: "LIME_DYE"
Amount: 1
Title: "ᴘʀᴇᴠɪᴏᴜꜱ ᴘᴀɢᴇ"
prevEmptyItem:
Material: "GRAY_DYE"
Amount: 1
Title: "ᴘʀᴇᴠɪᴏᴜꜱ ᴘᴀɢᴇ"
playerHead:
Material: "PLAYERHEAD"
Amount: 1
Title: "<#C7FFEA>%player_displayname%"
Lore:
- "<#A2A2A2>左键单击支付此玩家!"
emptyItem:
Material: "GRAY_STAINED_GLASS_PANE"
Amount: 1
Title: ""
balMenu:
Title: "ᴘʟᴀʏᴇʀ ʙᴀʟᴀɴᴄᴇꜱ"
nextFullItem:
Material: "LIME_DYE"
Amount: 1
Title: "ɴᴇxᴛ ᴘᴀɢᴇ"
nextEmptyItem:
Material: "GRAY_DYE"
Amount: 1
Title: "ɴᴇxᴛ ᴘᴀɢᴇ"
prevFullItem:
Material: "LIME_DYE"
Amount: 1
Title: "ᴘʀᴇᴠɪᴏᴜꜱ ᴘᴀɢᴇ"
prevEmptyItem:
Material: "GRAY_DYE"
Amount: 1
Title: "ᴘʀᴇᴠɪᴏᴜꜱ ᴘᴀɢᴇ"
playerHead:
Material: "PLAYERHEAD"
Amount: 1
Title: "<#C7FFEA>%player_displayname%'s Balance"
Lore:
- "<#A2A2A2>%vault_eco_balance% Sheeps!"
emptyItem:
Material: "GRAY_STAINED_GLASS_PANE"
Amount: 1
Title: ""
```