- Source of resources
- Original
- 插件中文名称
- 幻素星辰-经济系统
- 插件英文名称
- MagstarEconomy
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- Language
- Chinese(Simplified)
- Precondition
- [必需] MagstarLib | https://www.minebbs.com/resources/magstarlib-magstar.9774/?ref=141356
[必需] Vault | https://www.minebbs.com/resources/1-8-latest-vault.7869/?ref=141356
[可选] ItemsAdder | https://www.spigotmc.org/resources/%E2%9C%A8itemsadder%E2%AD%90emotes-mobs-items-armors-hud-gui-emojis-blocks-wings-hats-liquids.73355/
[可选] PlaceholderAPI | https://www.minebbs.com/resources/placeholderapi-api-1-8-1-20.8258/?ref=141356
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
————————————————————
Magstar, 与您。
————————————————————
Magstar, 与您。
————————————————————
欢迎您使用MagstarEconomy!这是一款功能十分强大的,拥有高达99.9%可自定义度的经济类插件。下面,请允许我为您介绍这款高端的经济插件。
这款插件设计的初衷就是提供一个可以自定义货币的平台,所以它最显著的功能就是可以自定义许多种货币。您可以在currencies.yml文件里配置您的货币,就像这样:
Code:
#手续费的计算方式
#兑换时,A货币兑换为B货币
#获得B货币的数量=A货币数量*(1-手续费百分比)*(A对B汇率)
#转账时
#转出账户获得货币的数量=原货币数量*(1-手续费百分比)
default-coin: #如果使用papi,请不要在货币id里面使用下划线。
name: "金币" # 显示名称,以 & 代替 § 来输入彩色符号
description: "黄金铸成的货币,是整个世界的硬通货" # 介绍
value: 1 # 价值,这决定货币转换和财产评估时的数据
default-content: 100 #默认持有量。在初始化玩家数据时用到。新玩家初次进服的时候拥有的货币量。默认为0。
visible: true #设置能否在查询功能里查到。仅限message查询方式可用。
exchange:
in: true # 允许兑换为这种货币
out: true # 允许将这种货币兑换为其它货币
tax: 0 # 兑换为其它货币时不收税
transfer:
allow: true # 允许转账
tax: 0 # 转账时不收费
crystal:
name: "水晶币"
description: "晶莹剔透的水晶打造成的货币,让人心旷神怡…"
value: 20
default-content: 0 #此行也可以不写。默认为0。
max: 100 #最大持有量。主货币不允许设置最大值。
visible: true #设置能否在查询功能里查到。仅限message查询方式可用。
exchange:
in: true
out: false
tax: 0.5
transfer:
allow: false
tax: 0
插件支持游戏内Gui查询货币和文字消息查询货币两种方式。如果您选择使用Gui查询货币的方式,您需要到gui.yml文件中进行配置。如果您选择使用文字消息查询货币的方式,您需要到message.yml文件中进行配置。
我们将着重讲解Gui查询货币的方式。
Gui.yml:
Code:
#这个配置文件记载了查询货币余额时召唤Gui的配置。
#此配置文件应在插件刚刚加载时生成。
#此配置文件由插件作者提供。目的仅为提供一个Gui配置的范例。
#除此配置文件所标注的内容以外,没有其他占位符变量可用!
Title: "欢迎, {player} !"
Size: 54 #这里只能为9的倍数
Buttons:
red_stained_glass_pane: #物品id
Display: "&fDesigned by &d&lBerry_so"
Lore:
- ""
- "&eYou can custom nearly all of this GUI."
- ""
Location: #在箱子内的格数
- 0
- 1
- 2
- 3
- 5
- 6
- 7
- 8
player_head:
Location:
- 4
Skin: "player:{player}" #如果要指定UUID的话,可以直接写 "uuid:balabalabala"
Display: "&fWelcome to use &bMagstar&3Economy &f, &a{player} &f!"
Lore:
- ""
- "&eIt is a powerful and high-end plug-in."
- ""
magenta_stained_glass_pane:
Location:
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
Display: "&fDesigned by &d&lBerry_so"
Lore:
- ""
- "&eYou can custom nearly all of this GUI."
- ""
white_stained_glass_pane:
Location:
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
Display: "&fDesigned by &d&lBerry_so"
Lore:
- ""
- "&eYou can custom nearly all of this GUI."
- ""
currency_config: #可以展示玩家所拥有的货币的位置
default-coin: #货币id
Type: minecraft #可选:minecraft, itemsadder。
Item: raw_gold
#即使是使用了ItemsAdder,在Lore和Display中的变量依然是可用的。这允许用户批量生成货币的GUI配置文件。
#你只需要在此配置文件中配置展示物品的Display和Lore节点,插件会自动忽略ItemsAdder中配置的物品名和描述,转而将其变为此配置文件中的物品名和描述。
Display: "&8====&7> &e{currency_name} &7<&8===="
Lore:
- ""
- "&f[&b➥&f] {currency_description}"
- ""
- "&f[&b➥&f] 持有数量: &e{currency_count}"
- "&f[&b➥&f] 允许兑入: {currency_exchange_in?<&a✔>:<&c✗>}" #对于布尔值类型的变量,三项表达式也是可用的。
- "&f[&b➥&f] 允许兑出: {currency_exchange_out?<&a✔>:<&c✗>}"
- "&f[&b➥&f] 允许转账: {transfer_allow?<&a✔>:<&c✗>}"
- ""
Location: 27
crystal:
Type: minecraft
Item: diamond
Display: "&8====&7> &e{currency_name} &7<&8===="
Lore:
- ""
- "&f[&b➥&f] {currency_description}"
- ""
- "&f[&b➥&f] 持有数量: &e{currency_count}"
- "&f[&b➥&f] 允许兑入: {currency_exchange_in?<&a✔>:<&c✗>}"
- "&f[&b➥&f] 允许兑出: {currency_exchange_out?<&a✔>:<&c✗>}"
- "&f[&b➥&f] 允许转账: {transfer_allow?<&a✔>:<&c✗>}"
- ""
Location: 28
在Lore节点中,您或许会注意到这样的变量,它看起来或许有些奇怪:
{currency_exchange_in?<&a✔>:<&c✗>}
这其实是一个三项表达式。意思是currency_exchange_in为true的时候,将表现为前一个"<>"内的字符串;相反,则表现为后一个"<>"内的字符串。以此为例,当currency_exchange_in为true时,将会表现为&a✔。
为了照顾广大用户的体验,本插件特意做出了ItemsAdder的兼容。您可以注意到在货币id下一级节点中有一个"Type"节点。当此节点填入"minecraft"时,则会检测原版的物品。当此节点填入"itemsadder"时,则会检测Item节点中填入的ItemsAdder物品ID。比如,fuben:fb_hb_20。而当您使用ItemsAdder物品时,您不必在意ItemsAdder原本配置内的物品名和描述。此插件会覆盖ItemsAdder原本配置内的物品名和描述,您只需要修改本文件内的配置就可以了,而无需去修改ItemsAdder的配置。
在config.yml文件中,您也有一些东西需要配置。
Code:
prefix: "§f[§bMagStar§3Economy§f]"
mysql:
enabled: false # false 以使用文件,true 以使用 MySQL
host: localhost # 数据库主机
db-name: economy # 数据库名
username: root # 用户名
password: 123456 # 密码
port: 3306 # 端口
save-cycle: 300 # 数据库写入缓存时间,0 以禁用(仅在关闭时保存)
main-currency: default-coin #定义基础货币, 即为vault的基础货币.
query-gui: #设置是否开启使用查询gui。
enabled: false #设为true时,使用查询gui。false时,使用查询消息。
#以下节点仅对使用papi占位符功能起作用。
boolean-true: "是" #当布尔值占位符返回true时,显示的字符串
boolean-false: "否" #当布尔值占位符返回false时,显示的字符串
max-infinite: "∞" #当货币最大持有量为无限时,显示的字符串
main-currency节点指的是您的基础货币,这个在上文有提到过。
最后三个节点仅在PlaceholderAPI装载时起作用。当解析的占位符返回一个布尔值时,便用到boolean-true和boolean-false,分别代替布尔值的true和false作为显示。而max-infinite节点意为当货币持有量为无限大时,显示该字符串。
语言文件message.yml 所有语言文件的显示均可支持ItemsAdder的emoji。
Code:
finished: "&a操作成功完成"
cancelled: "&c操作已经取消"
not-enough: "&c您没有足够的 &6{1.name} 来完成本操作!"
confirm: "&d&l要继续吗?&b(&ay&b/&cn&b)"
overflow-hint: "&e进行此操作后,您的 &6{1.name}&e 将超出 &6${overflow}\n&e超出部分将被转换为 &6${2.count} ${2.name}"
exchange:
# {xxx} 代表 xxx 变量
# 1 要兑出的货币
# 2 要兑入的货币
# count 数量,name 名字,tax.rate 税率,tax.result 合计后消耗
# tax.rate 已经包括百分号
# 使用 & 代替 § 渲染颜色
to: "&e您正在将 &6{1.count} {1.name}&e 转换为 &6{2.count} {2.name}. &e这将收取手续费比率 &6{tax.rate}&e,合 &6{tax.result} {1.name}&e"
no-out: "&c抱歉,&6{1.name}&c 目前不允许被兑出"
no-in: "&c抱歉,&6{1.name}&c 目前不允许被兑入"
confirmed: "&a已成功兑换。"
denied: "&c已取消兑换。"
transfer:
to: "&e您正在将 &6{1.count} {1.name}&e 转账给 {player.name}. &e这将收取手续费比率 &6{tax.rate}&e,合 &6{tax.result} {1.name}&e"
from: "&e您收到来自 {player.name} 转账的 {1.count} {1.name}"
no-transfer: "&c抱歉,&6{1.name}&c 目前不允许转账"
confirmed: "&a已成功转账。"
denied: "&c已取消转账。"
sprintf: "&6{1.name} {1.count}/{1.max}\n&7{1.description}"
wrong-syntax: "&c指令格式错误!请检查指令格式。"
no-currency: "&a您目前还没拥有任何一种货币噢。"
reload: "&a成功重置 &b{config} &a配置文件!"
no-config: "&c没有这个配置文件!"
no-player: "&c此玩家不存在!"
player-offline: "&c此玩家不在线!"
no-such-currency: "&c此种货币不存在!"
currency-overflow: "&c添加/转账该货币后,该玩家的货币数量将超出限制!"
no-permission: "&c你没有权限做这件事!"
change-success: "&a成功将玩家的 &b{currency} &a货币从 &b{fromCount} &a变更为 &b{toCount} &a!"
exchange-same: "&c你不能将相同的货币进行转换!"
balancetop:
top: "&8------&7====== &f[&b财富榜&f] &7======&8------"
mid: "&f{rank}. &b{player.name} &f-> &e{player.value} &f财富值"
bottom: "&8------&7====== &f[&b第 {page} 页&f] &7======&8------"
overflow: "&c查询位置超出财富榜大小!"
命令及权限
Code:
/eco help | 打开指令帮助页面
/eco add <玩家名> <货币名> <钱数> | 增加玩家货币数量 #需要magstareconomy.admin
/eco set <玩家名> <货币名> <钱数> | 设置玩家货币数量 #需要magstareconomy.admin
/eco take <玩家名> <货币名> <钱数> | 取走玩家货币数量 #需要magstareconomy.admin
/eco reload <配置名> | 重载某一配置文件 #需要magstareconomy.admin
/money | 查看自己的账户
/exchange <原货币> <目标货币> <钱数> | 将一种货币向目标货币兑换
/transfer <玩家名> <货币名> <钱数> | 向指定玩家转账
/balancetop [页数] | 查看财富榜
PAPI变量
Code:
#所有coinid都代表指定货币的id
%magstareconomy_coinid_value% #指定货币的价值
%magstareconomy_coinid_name% #指定货币的名称
%magstareconomy_coinid_description% #指定货币的描述
%magstareconomy_coinid_content% #指定货币的余额
%magstareconomy_coinid_exchange-in% #指定货币是否可以兑入
%magstareconomy_coinid_exchange-out% #指定货币是否可以兑出
%magstareconomy_coinid_exchange-tax% #指定货币的单方兑换税
%magstareconomy_coinid_transfer-allow% #指定货币是否可以转账
%magstareconomy_coinid_transfer-tax% #指定货币的转账税
%magstareconomy_coinid_max% #指定货币的最大持有量
使用截图
此处多图预警!!!常见问题
Q: 为什么我使用的部分插件无法正常接入MagstarEconomy的经济系统?
A: 请先在关闭服务器后尝试用【压缩文件预览】的方式打开出现问题的插件jar文件,然后找到这里的plugin.yml。仅将这个文件解压出来,然后删除原压缩包中的【plugin.yml】。双击打开,找到【depend:】开头的节点,在里面加上MagstarEconomy,就像这样:
Code:
depend: [MagstarEconomy,CMILib]
或者
depend:
- MagstarEconomy
- CMILib
尾声
开源地址:https://gitee.com/mag-star/magstar-economy
联系方式:QQ2057266133
烦请您对本插件评个分~
再次感谢您对Magstar系列插件的支持!