• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
XConomy----支持BC同步的经济插件[Spigot|Sponge]

授权转载 开源 XConomy----支持BC同步的经济插件[Spigot|Sponge] 2.25.8

版权类型
授权转载
插件中文名称
XC经济
插件英文名称
XConomy
原帖地址
https://www.spigotmc.org/resources/xconomy.75669/
支持的核心(代理-服务端)
  1. Bungee
  2. WaterFall
  3. Velocity
  4. Spigot
  5. Purpur
  6. PufferFish
  7. 其他核心
语言支持
中文(简体)
适配版本(Java)
  1. 1.7
  2. 1.8
  3. 1.9
  4. 1.10
  5. 1.11
  6. 1.12
  7. 1.13
  8. 1.14
  9. 1.15
  10. 1.16
  11. 1.17
  12. 1.18
  13. 1.19
  14. 1.20
img.jpg

插件交流群:1097770238 点击加入
wiki | 开源地址 |提BUG

功能

基础经济插件,以Vault为前置,支持BossShop,QuickShop等这些使用Vault API的插件

(Sponge版使用Sponge内置的经济API)

支持MySQL保存玩家数据,具有缓存功能
且支持BungeeCord/Velocity子服的数据同步,或者通过Redis进行数据同步


理论上支持1.7.10-1.20.x版本,欢迎大家反馈意见和bug

指令

玩家指令
  • balance/money - 显示您的余额
  • balance/money <player> - 显示<玩家>的余额
  • pay <player> <amount> - 支付<player> <amount>
  • balancetop - 显示 TOP10
  • paytoggle - 切换接受付款
  • xconomy 帮助 - 查看帮助

OP 命令
  • 余额/金钱 给 <玩家> <金额> - 给<玩家> <金额>
  • 余额/金钱拿走<玩家> <金额> - 从<玩家那里拿走<金额>>
  • 余额/金钱设置 <player> <amount> - 将 <player> 的余额设置为 <amount>
  • 余额/金钱 给 * <all/online> <amount> <reason> - 给<all/online player> <amount>
  • 余额/金钱 * <all/online> <amount> <reason> - 从 <all/online 玩家那里获取<金额>>
  • Balancetop 隐藏/显示 <玩家> - 隐藏或显示 TOP10 中的<玩家>数据
  • paytoggle <player> - Toggle <player>正在接受付款
  • paypermission set <player> true/false - 设置<player>的(* 代表全局设置)支付权限
  • paypermission remove <player> - 将 <player> 的 pay 权限设置为默认值
  • Xconomy Reload - 重新加载message.yml
  • Xconomy DelData <player> - 删除玩家数据

权限
  • xconomy.user.balance - 允许玩家查找自己和他人的余额
  • xconomy.user.balance.other - 允许玩家查找其他人的余额
  • xconomy.user.pay - 允许玩家转账给其他人
  • xconomy.user.pay.receive - 允许玩家从其他人那里接收(此权限需要 Luckperms 插件)
  • xconomy.user.balancetop - 允许玩家查看TOP10排名
  • xconomy.user.paytoggle - 允许玩家切换接受付款
  • xconomy.admin.give - 允许玩家给玩家平衡
  • xconomy.admin.take - 允许玩家获取玩家余额
  • xconomy.admin.set - 允许玩家设置玩家余额
  • xconomy.admin.balancetop - 允许玩家隐藏或显示 TOP10 中<玩家>的数据
  • xconomy。admin.paytoggle - 允许设置玩家接受付款
  • xconomy.admin.permission - 允许设置权限

配置文件
config.yml
代码:
#Default Online Offline SemiOnline
#Default模式会自动检测玩家的UUID(支持GeyserMC)
#Online模式对于开启正版验证的服务器支持更好(支持Yggdrasil)
#Offline模式不支持无视用户名大小写
#如果您使用 floodgate(GeyserMC) 且选项 username-prefix 设置为空, 请使用 SemiOnline 模式
UUID-mode: Default
#在转换模式下, 可以使用指令 '/xconomy' 从其他基于Vault的插件导入数据
#冲突的数据将会被跳过, 导入的数据将保存在 XConomy/importdata/data.yml
#在这个模式下,XConomy不会正常启动
#转换完成后,请进行数据检查并关闭该模式
#Sponge版本没有此功能
Importdata-mode: false


#设置
Settings:
  #Chinese ChineseTW English French Spanish Russian Turkish Japanese German
  #Indonesia Portuguese Italian
  language: Chinese
  #是否检查新版本
  check-update: true
  #TOP10和服务器总金额刷新时间间隔 (单位秒)
  refresh-time: 300
  #如果设置为true,XConomy将会注册以下指令
    # - economy
    # - eco
    # - ebalancetop
    # - ebaltop
    # - eeconomy
  #如果你服务器上有安装Essentials插件
  #XConomy将会覆盖这些指令
  eco-command: true
  #XConomy将会禁用Essentials插件的经济功能
  #仅仅是经济功能.
  disable-essentials: true
  #初始余额
  initial-bal: 0
  #pay指令需要支付的税(0.5表示50%,1表示100%)
  payment-tax: 0
  #排行榜大小 (最大值 100)
  ranking-size: 10
  #列表每页行数(排行榜以及帮助菜单)
  lines-per-page: 5
  #如果你想直接修改数据库数据,请开启此功能
  #禁用缓存后不支持异步保存数据
  #禁用缓存会增加数据库的压力
  disable-cache: false
  #是否保存转账记录
  #只支持MySQL
  transaction-record: true
  #记录玩家离线期间pay指令的转账记录
  #当玩家再次上线时会收到提示
  #转账记录功能必须开启
  offline-pay-transfer-tips: false
  #无视玩家名称的大小写
  username-ignore-case: false


#可以解决某些插件无法创建非玩家账户问题,比如Factions
#==========================================================================================
#默认支持的插件(无需开启非玩家账户)
#Towny
#==========================================================================================
#非玩家账户的数据不会进行BC同步
non-player-account:
  #是否启用非玩家账户
  enable: false
  #如果账户名称中包含有白名单中的字段,该账户将被识别为非玩家账户
  #否则则识别为玩家账户
  #如果玩家名称中包含有白名单中的字段, 该玩家将被拒绝进入服务器.
  #该功能可以减少从数据库读取数据的次数
  whitelist:
    #是否启用白名单
    enable: false
    fields-list:
      - tax
      - nation-


#货币的显示
Currency:
  singular-name: dollar
  plural-name: dollars
  #余额是否为整数
  integer-bal: false
  thousands-separator: ','
  #%format_balance% 表示格式化后的金额
  display-format: '%balance% %currencyname%'
  #最大金额 (默认为最大值)
  max-number: '10000000000000000'
  format-balance:
    10000: 万
    100000000: 亿


#数据同步设置
SyncData:
  #是否启用数据同步
  enable: false
  #BungeeCord Redis
  #================================================== BungeeCord Channel ==================================================
  #BC同步开启后,控制台和其他插件将无法在服务器无人的情况下修改金额
  #需要在spigot.yml中设置bungeecord为true
  #==================================================   Redis  Channel   ==================================================
  #需要'slf4j'前置
  channel-type: BungeeCord
  #服务器标识,请保持需要同步的子服务器的标识和数据库的设置一致
  sign: aa

message.yml

代码:
prefix: '&6[XConomy]'
balance: '&a你的余额: %balance%'
balance_other: '&a%player% 的余额: %balance%'
top_title: '&e========= TOP10 <第 %page% 页> ========='
sum_text: '&f服务器总金额 - %balance%'
top_text: '&e%index%: %player% - %balance%'
top_subtitle: '&7TOP10每5分钟刷新一次'
top_nodata: '&c无玩家经济数据'
top_out: '&c在 TOP10 以外'
top_hidden: '&a%player% 已隐藏'
top_displayed: '&a%player% 已显示'
pay: '&c你转账给%player% 余额  %amount%'
pay_receive: '&a你从 %player% 收到转账  %amount%'
pay_fail: '&c你的余额不足  %amount%'
pay_self: '&c你不能向自己转账'
paytoggle_true: '&a你现在接受收款'
paytoggle_false: '&a你现在拒绝收款'
paytoggle_other_true: '&c你设置 %player% 接受收款'
paytoggle_other_false: '&c你设置 %player% 拒绝收款'
no_account: '&c目标帐号不存在'
invalid_amount: '&c输入的金额无效'
over_maxnumber: '&c目标帐号金额超出最大值'
over_maxnumber_receive: '&c你的金额已达到上限'
money_give: '&c你给予了 %player% %amount%'
money_give_receive: '&a管理员给予你 %amount% 余额'
money_take: '&c你从  %player% 收取了 %amount%'
money_take_fail: '&c%player% 的余额不足  %amount%'
money_take_receive: '&c管理员扣除了  %amount% 余额'
money_set: '&c你将  %player% 的金额设置为 %amount%'
money_set_receive: '&c管理员设置你的余额为  %amount%'
no_receive_permission: '&c目标帐号没有权限接收转账!'
no_permission: '&c你没有权限使用这个指令'
no_data: 没有数据
delete_data: '&a你的数据已经更新,请重新登录'
delete_data_admin: '&c你删除了 %player% 的数据'
global_permissions_change: '&a%permission% 指令的全局权限已被设置为 %value%'
personal_permissions_change: '&a%player% 的 %permission% 权限已被设置为 %value%'
help_title_full: '&6=============== [XConomy] 帮助 <第 %page% 页> ==============='
help1: '&6balance/money  -  查询余额'
help2: '&6balance/money <玩家>  -  查询<玩家>余额'
help3: '&6pay <玩家> <金额>  -  转账给<玩家><金额>'
help4: '&6balancetop  -  查询余额排行榜'
help5: '&6balance/money give <玩家> <金额>  -  给与<玩家><金额>'
help6: '&6balance/money take <玩家> <金额>  -  从<玩家>取走<金额>'
help7: '&6balance/money set <玩家> <金额>  -  设置<玩家>金额为<金额>'
help8: '&6balance/money give * <all/online> <金额> <理由>  -  给与<所有/在线玩家><金额>'
help9: '&6balance/money take * <all/online> <金额> <理由>  -  从<所有/在线玩家>取走<金额>'
help10: '&6balancetop hide/display <player>  -  将<玩家>的数据从Top10上隐藏或显示'
help11: '&6paytoggle  -  切换是否接受转账'
help12: '&6paytoggle <player>  -  切换<玩家>是否接受转账'
help13: '&6paypermission set <player> True/False  -  设置<玩家>(*表示全局)转账权限'
help14: '&6paypermission remove <player>  -  设置<玩家>转账权限为默认'

database.yml
代码:
Settings:
  #SQLite MySQL
  storage-type: SQLite
  #是否使用连接池
  #需要'slf4j'前置
  #至少需要JAVA11
  usepool: false
  #设置最大线程池(SQLite无此设置)
  max-threads: 5


#SQLite设置
SQLite:
  #地址为文件夹路径
  path: Default


#MySQL设置
MySQL:
  host: localhost
  port: 3306
  user: root
  pass: root
  database: data
  #自动添加 "_", 可以使用 %sign% 来表示服务器ID (见BungeeCord设置)
  table-suffix: ''
  property:
    usessl: false
    encoding: utf8
    timezone: ''
    allowPublicKeyRetrieval: false


#连接池设置
Pool-Settings:
  maximum-pool-size: 10
  minimum-idle: 10
  maximum-lifetime: 180000
  idle-timeout: 60000


#Redis设置
Redis:
  host: localhost
  port: 6379
  db-index: 1
  pool-settings:
    max-total: 10
    max-idle: 10
    min-idle: 0
  auth:
    user: ''
    pass: ''

如何进行子服务器数据同步


在需要同步的子服务器上和BungeeCord/Velocity端上都安装本插件

然后在config.yml中启用 BungeeCord 即可(BungeeCord端无配置文件)

截图

cap.jpg


PlaceholderAPI

(Sponge版暂无此功能)​

%xconomy_balance% 余额
%xconomy_balance_value% 余额数值
%xconomy_balance_formatted% 格式化的余额
%xconomy_top_player_#% 排名#的玩家名称
%xconomy_top_balance_#% 排名#的玩家余额
%xconomy_top_balance_value_#% 排名#的玩家余额数值
%xconomy_sum_balance% 服务器总余额
%xconomy_sum_balance_value% 服务器总余额数值
%xconomy_top_rank% 查询当前玩家的排名
%xconomy_top_rank_#% 查询#玩家的排名
%xconomy_global_paypermission% 显示pay指令的全局权限(0为没有,1为有)
%xconomy_paypermission% 查询当前玩家的pay指令权限 (0为没有,1为有,Default为权限插件默认)
%xconomy_paytoggle% 查询当前玩家是否接受转账 (0为没有,1为有)
%xconomy_top_hidden% 玩家的排名是否隐藏 (0为不是,1为是)



注意

如果您正在使用其他群组数据同步插件,请确保在使用XConomy期间其Vault相关同步功能关闭。

本插件与 CMI 插件存在指令冲突,请将 CMI / Alias 内的 money bal balance pay baltop 等指令修改为 false

如果你使用的是MySQL 8,并且无法正常连接到数据库,请下载 DatabaseDrivers (1.17.X以上版本服务器不需要)

如果您的服务端核心需要从1.20以下的版本升级至1.20及以上,请备份后删除XConomy的配置文件,然后重新生成



转载凭证

屏幕截图 2024-02-25 145751.jpg
作者
心海
下载
1,184
查看
5,762
首次发布
最后更新

评分

0.00 星 0 次评分

心海 的其他资源

后退
顶部 底部