插件介绍 | 一,前言 | RT
起初打算录制视频,然而口齿不清,口含大*,所以算了
该插件附带两种附属经济:
依靠Vault的Vault货币
依靠PlayerPoints的点券货币
都可以在GlobalShop/MoneyAPI/XXX/config.yml下更改名称,但请谨慎修改
不小心删除默认jar,重新创建的方法为删除MoneyAPI文件夹 | 二,特性 | 1.跨服支持 | 2.多经济支持:
只要你会简单的写出个能在mc后台打印Hello World的jar插件,你便能(大概)写出多经济
只要你想,或只要你想 | 3.实时刷新:
界面的刷新基本上是每秒的(可配置)
完美查看最新低价,高价,指定经济类型的商品 | 4.拥有上架有效期,收件箱有效期:
防止数据量过多,各种奇葩商品没人买,死尸玩家买完物品后不拿走等情况 | 5.90%以上的文本显示都可进行编辑 | 6.界面按钮材质可进行自定义 | 7.可指定上架的物品有效期,只要你想,上架有效期1秒都行←_← | 三,命令(图片形式) | 普通玩家 | | 管理员 | | 四,权限 | GlobalShop.use:
默认玩家拥有
商店,货币筛选,收件箱等界面的使用权限,对于被小黑屋的人,可以取消他的这个权限 | GlobalShop.ShopUnlimited:
默认op拥有
商店的无限数量创建权限,无限的商品被购买上架者不会获得任何收益 | GlobalShop.ShopTime:
默认op拥有
商店的有效时间自定义权限 | GlobalShop.OpenHim:
默认op拥有
为他人打开商店的权限: /gs open 名称 | 非固定权限,可能随着附属经济插件变更而变更:
GlobalShop.MoneyAPI.附属经济插件名称:
默认op拥有
可用某种货币的权限,例如附属经济插件的名称为Vault,那么他只有拥有GlobalShop.MoneyAPI.Vault才能上架Vault的物品 | 五,配置文件 | 正式版更新了配置文件的读取相关,如果你的配置文件无法正常载入:
查看config.yml是什么编码,并在plugins/GlobalShop文件夹下面新建一个Encoding.yml,内容为:
config: '编码',例如config.yml是UTF-8编码,则内容为config: 'UTF-8',然后重启服务器即可_(:з」∠)_ |
|
- #使用的语言文件
- Language: 'zh_CN'
- #多服务器模式,启用为ture
- #该模式下将会随时判断Mysql中是否存在指定物品
- #适用于多个服务器共用一个表(商店)的情况
- #当多个服务器共用一个表(商店)时没启用该选项
- #将会导致一个商品可被多个服务器分别购买一次
- MultiServer: false
- #多服务器模式名称,填后请勿更改
- ServerName: 'Default'
- #商品信息详情(购买者,上架者,价格等)显示在物品介绍最上方还是最下方
- #true代表最上方,false代表最下方
- ShowType: true
- #玩家可上架的物品数量
- #格式为:权限名:可上架数量
- #其中-1为无限制
- #其中权限名无需,也不能加前缀
- #例如Default:100
- #的权限整体名称为
- #GlobalShop.SellLimit.Default
- #此外,GlobalShop.SellLimit.Default权限默认玩家拥有
- SellLimit:
- - 'Default:100'
- - 'VIP:200'
- - 'OP:-1'
- #上架商品的有效期,时间单位秒,0和以下代表永久有效,直到被购买
- InvalidTime: 172800
- #每个物品到收件箱的有效期,时间单位秒
- #当玩家购买(出售的物品被购买)时,收件箱会新增物品
- #物品拥有X秒的有效期,过期后自动销毁数据,防止储存,死尸玩家的数据过多
- #↑说了那么多并没有什么卵用
- #简单的说就是每个新的物品到收件箱时必须在X秒内拿出来,否则就没了
- InvalidItem: 2592000
- #GUI刷新时间,单位为刻,20刻=1秒
- #至少1
- GUIUpdateTick: 20
- #物品数据刷新时间,单位为刻,20刻=1秒
- #至少1
- ItemUpdateTick: 20
- #商品卖出,被下架等新消息获取时间,单位为刻
- #至少1
- InfoUpdateTick: 20
- #当数据库开启时,失效物品检测间隔
- #他在数据库没开启时,怎么填都没有用,单位为刻
- MysqlItemCheckTime: 100
- #失效物品检测间隔是否开启
- #当你是多个服务器共用一个商店时
- #只需要一个服务器开启此选项
- #为毛?你觉得多个服务器共同检测,使用cpu和内存使用得那么爽么
- MysqlItemCheckEnable: true
- #上架所收手续费
- #手续费为上架价格的百分之X
- #例如上架价格100
- #所收手续费为:
- #100*0.01=手续费(1)
- #设置为0代表不启用
- SellTax: 0.01
- #是否启用Mysql
- #当启用Mysql时且多个服务器共用一个表(商店),你必须启用MultiServer选项以及填写ServerName选项保证ServerName不重复
- Mysql:
- Enable: false
- Database: mc
- Host: localhost
- Port: 3306
- User: root
- Password: 123
- #表名
- Table: 'GlobalShop'
复制代码 |
| 六,语言文件 | 简化帖子内容,请安装插件后打开plugins/GlobalShop/Language文件夹内查看 | 七,使用图片 | | 八,下载地址 | 附属经济及附属插件(插件本体已附带附属经济)
密码:
本体:
GlobalShop-1.1.7.5-SNAPSHOT-out.jar
(190.16 KB, 下载次数: 429, 售价: 15 粒金粒)
| 九,附属经济插件的使用,开发 | 使用:
放入plugins/GlobalShop/MoneyAPI文件夹内,重启服务器即可 | 开发:
←_←想了想还是懒得教,自己反编译相关附属插件和看文档吧 | 赞助列表 | a103060 100RMB
nuo13260 12.26RMB 留言:楼下没段位(楼主:楼下他男枪贼6带我飞,0/6)
匿名(转账留言:楼上青铜三) 6.66RMB
未知 0.10RMB
未知 0.05RMB(留言:楼上的?都比我高(这真是转账留言...这个?是什么鬼我也不知道))
abc956812056 1.0RMB
Ys幽少 101RMB
大力水手 8.88RMB
994712697 66RMB
(支付宝)宅宅蛙基金 11.11RMB
(支付宝)M_Dawb 10.00RMB
(支付宝)龙风暴 1.00RMB
(支付宝)虚无世界 1.00RMB
(QQ转账)(119***3129) 1.00RMB
(QQ转账)(257***0691) 1.00RMB
(QQ转账)(113***5770) 2.00RMB
(支付宝)(千州食品) 9.90RMB
(支付宝)原点(12862***41) 99.00RMB
(QQ红包)思情华意(1125***14) 10.00RMB
(**)未知 2.00RMB
(**)花开花落无尽轮回(5197***65) 50.00RMB
| 赞助: |
如果您觉得我的插件有用,并且想表达一下支持的话,也许您可以选择以下方式进行赞助:
| 更新日志 | 2016年11月15日:
GlobalShopVaultAPI附属经济插件更新至1.1,修复部分服务器无法扣钱,加钱的bug |
| 2016年11月16日:
GlobalShop更新至beta1.1
beta1.1版本的GlobalShop不支持beta1.0版本的物品(非商品数据)
使用文件储存方式的请删除
GlobalShop/ItemData文件夹内的Items文件夹
使用Mysql储存方式的请删除
表名(默认GlobalShop)_ItemData表 |
| 2016年11月20日:
GlobalShop更新至1.1.2,为API加了ItemSellEvent事件
GlobalShopPlayerPointsAPI附属经济插件更新至1.1,修复部分服务器初始化异常,导致无法使用的错误 |
| 2016年11月23日:
GlobalShop更新至1.1.3:
修复了下架时有一定几率导致下架X次的bug
该bug发生于:
到期后下架一半时又进行了下一次判断导致重复下架
前往网盘自行下载修复版本
(调高config.yml的ItemUpdateTick也可以解决) |
| 2016年11月27日:
GlobalShopVaultAPI更新至1.2:
为GlobalShopVaultAPI增加了手续费功能
(其实之前就更新了←_←,也上传了
但文件名称是GlobalShopPlayerPoints1.2,也忘记更新更新记录了,所以就当现在更新吧) |
| 2016年12月06日:
GlobalShop更新至beta1.1.4,修复了103L所反馈的bug:
[15:52:35 ERROR]: Error occurred while enabling GlobalShop vbeta1.1.3 (Is it up to date?)
java.lang.InternalError: Malformed class name
at java.lang.Class.getSimpleName(Class.java:1330) ~[?:1.8.0_92]
at java.lang.Class.isAnonymousClass(Class.java:1411) ~[?:1.8.0_92]
at co.aikar.timings.SpigotTimings.getPluginTaskTimings(SpigotTimings.java:57) ~[paperspigot-1.8.8_rpg1.jar:git-PaperSpigot-20cd938-75593ab]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.<init>(CraftTask.java:42) ~[paperspigot-1.8.8_rpg1.jar:git-PaperSpigot-20cd938-75593ab]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:132) ~[paperspigot-1.8.8_rpg1.jar:git-PaperSpigot-20cd938-75593ab]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.scheduleSyncRepeatingTask(CraftScheduler.java:119) ~[paperspigot-1.8.8_rpg1.jar:git-PaperSpigot-20cd938-75593ab]
at com.github.a810587921.GlobalShop.Main.iIIIIIiIIi(f:216) ~[?:?]
at com.github.a810587921.GlobalShop.Main.onEnable(f:54) ~[?:?]
......
内置的GlobalShopPlayerPointsAPI更新至了1.1,因为有较多的人无法正常使用1.0版本
修复了部分服务端无法正常读取配置文件的问题,如果你的配置文件无法正常载入:
转码config.yml为GBK或GB2312
并在plugins/GlobalShop文件夹下面新建一个readConfig.txt文件,内容随意
重启服务器即可解决
新增了商店界面的提示:
为介绍按钮位置增加了货币数量的显示,因此语言文件需要更新:
1.1.4之前版本的语言文件需要删除语言文件或在语言文件增加(红色部分为增加):
#介绍信息,用于教程,显示玩家货币等
gui.button.info: -
- &6货币信息: %api%
- &6&l介绍
- &e&l如何上架物品:
- &e&l/gs sell <货币> <价格> [数量(可选)]
- &e上架手中的物品
- &e&l例如: /gs sell vault 100
- &e上架我手中的物品,用Vault的货币
- &e由于没填数量,则上架手中的物品当前数量
- &e&l我该如何确定货币类型:
- &e&l/gs listapi查看可用货币类型
#货币信息,用于gui.button.info信息项
#%Vault%的意思为从Vault附属经济插件里获取玩家拥有的金币
#%点劵%同理,%XXX%里面的内容取决于附属经济插件在/gs listapi里面显示了什么
gui.button.info.api: -
- &6%Vault%
- &6%点劵% |
| 2016年12月13日:
GlobalShop更新至beta1.1.5
啊←_←,按理来说应该正式版了,只不过感觉还是缺了什么(脑子内有想法,身体很懒)
修复了beta1.1.4的介绍按钮不显示的问题
更新了内置的PlayerPointsAPI至1.2,修复了部分异常
更新了内置的VaultAPI至1.2,增加了手续费,其实都有的←_←,只不过之前是在网盘没内置 |
| 2016年12月17日:
GlobalShop更新至beta1.1.6:
为经济附属的使用权限完善了一下
经济的使用权限固定为了:
GlobalShop.MoneyAPI.经济插件名称
什么?你不懂?想直接知道?
那么在开启服务器的时候,附属经济XXX载入完成后
下一条信息为他的使用权限 |
| 2016年12月23日(正式版的更新):
GlobalShop更新至正式版1.0:
优化了一下储存方式,但并不用删配置文件
如果你没有beta版本的商品数据,那么,请放心的更改附属经济的名称吧,一分钟改一次都没问题←_←
如果有,尝试运行个几个月再改附属经济插件的名称?
为商品信息的显示方式增加了最下面显示的方式:
之前的显示方式固定为:
商品信息
Lore
现在可以选择
Lore
商品信息了
为上架商品的数量增加了限制,现在可以自定义玩家可上架的商品数量了
商品被购买,时间到期,被op强制下架,上架者都会收到消息为收件箱,货币选择的GUI增加了返回按钮
插件开启时会打一条广告
现在可以自定义配置文件读取时的编码了
自定义的方式为:
在GlobalShop文件夹下新建一个Encoding.yml
如果里面没有内容,将默认GBK编码,如果无Encoding.yml,默认系统编码
如果里面的内容为:
config: '编码'
则会采取该编码进行读取,示例:
config: 'UTF-8'
下面是上面改动后相关的配置文件,语言文件更改(觉得麻烦就直接删了config.yml和语言文件)
config.yml增加了:- #商品信息详情(购买者,上架者,价格等)显示在物品介绍最上方还是最下方
- #true代表最上方,false代表最下方
- ShowType: true
- #玩家可上架的物品数量
- #格式为:权限名:可上架数量
- #其中-1为无限制
- #其中权限名无需,也不能加前缀
- #例如Default:100
- #的权限整体名称为
- #GlobalShop.SellLimit.Default
- #此外,GlobalShop.SellLimit.Default权限默认玩家拥有
- SellLimit:
- - 'Default:100'
- - 'VIP:200'
- - 'OP:-1'
复制代码 语言文件增加了:
首先是/gs settexture的指令←_←,item和money的GUI增加了back项
-#op提示
command.op: -
- &6&l==========&2&l<>&6&l代表必填,&2&l[]&6&l代表选填==========
- &a/gs help [命令名称] &6查看命令列表|指定命令帮助
- &a/gs open [玩家] 让自己(他人)打开商店
- &a/gs listapi &6查看可用货币类型
- &a/gs sell <货币类型> <价格> [数量] [-u] [-t时间(秒)]
- &6 出售物品 -u代表无限,填-u前必须填数量
- &6 -t代表时间,商品有效期,-1代表永久有效
- &6 示例: /gs sell vault 100 64 -u -t-1
- &a/gs settexture <shop|item|money> <按钮> 设置指定GUI的按钮材质为手上的物品:
- &6shop的按钮有:
- &eup 上一页
- &enext 下一页
- &einfo 介绍(上一页旁边)
- &enowinfo 重置,商店信息(最后一行中间一格)
- &eitem 收件箱(介绍旁边)
- &emax 从大到小排序
- &emin 从小到大排序
- &eapi 货币筛选
- &eme 查看我出售的物品(改变为头时在新版本会显示玩家的头的皮肤材质)
- &6item的按钮有:
- &eup
- &enext
- &enowinfo
- &e额外的back按钮
- &6money跟item一样
以及:
- #返回商店
- item.button.back: -
- - &6返回商店
- #返回按钮
- moneyGUI.button.back: -
- - &a返回商店
- #卖出
- iteminfo.sell: &a你的%item%被%buy%购买,你获得了%get%%api%
- #过期被下架
- iteminfo.invalid: &a你有一件商品被下架,因为他过期了←_←
- #被op下架
- iteminfo.remove: &a你的商品%item%被管理员%admin%强制下架了
复制代码
PlayerPoints附属经济更新至1.3:
@x1023755348
为它增加了收税功能,配置文件自己看Vault最新版←_←
其实就是多个
Tax: 值
具体自己删配置文件或看Vault←_←
GlobalShopPlayerPoints1.3没有在网盘里,在本体(GlobalShop_v1.0)jar里!!
GlobalShopPlayerPoints1.3没有在网盘里,在本体(GlobalShop_v1.0)jar里!!
GlobalShopPlayerPoints1.3没有在网盘里,在本体(GlobalShop_v1.0)jar里!! |
| 2016年12月28日:
GlobalShop更新至正式版1.1:
大幅度改善Mysql相关数据储存方式,但并不需要做任何改动,自动导入旧数据:
地址
为商品加入了上架手续费功能
上架时根据价格收取手续费方能上架:
地址
检测物品失效(Mysql)转为了异线程操作
修复了一个bug,该bug使得收件箱,商品的有效期是毫秒并不是秒
修复了(地址)所说的bug
非第一次使用1.1版本,你需要更新config.yml和语言文件:
config增加的内容: - #当数据库开启时,失效物品检测间隔
- #他在数据库没开启时,怎么填都没有用
- #此外,间隔单位是秒,并不是刻
- MysqlItemCheckTime: 5
- #上架所收手续费
- #手续费为上架价格的百分之X
- #例如上架价格100
- #所收手续费为:
- #100*0.01=手续费(1)
- #设置为0代表不启用
- SellTax: 0.01
复制代码
语言文件增加的内容:
- command.sell.notax: &a你上架这个物品需要%tax%手续费,你没有那么多的%api%
- command.sell.tax: &a你上架这个物品被扣除了%tax%%api%手续费
复制代码 |
| 2016年12月31日:
GlobalShop更新至正式版1.1.1
可能修复了199L所反馈的bug
因为多服务器下只有一个服务器需要检测物品失效,所以
配置文件增加了:
- #失效物品检测间隔是否开启
- #当你是多个服务器共用一个商店时
- #只需要一个服务器开启此选项
- #为毛?你觉得多个服务器共同检测,使用cpu和内存使用得那么爽么
- MysqlItemCheckEnable: true
复制代码
配置文件的MysqlItemCheckTime的时间单位修改为了刻 |
| 2017年3月8日:
GlobalShop更新至正式版1.1.2:
修复了商店,邮箱只能显示两页物品的bug
修复了附属插件改显示名称后无法筛选货币类型的bug
现在下架时间和销毁时间已经正常为秒数了 |
| 2017年3月25日:
GlobalShop更新至1.1.3:
修复了某些情况下,语言文件会重新复原的bug
修复了某些情况下,会导致版本识别出错导致后台无限报错的bug
修复了SellLimit的一些组为-1时无法生效的bugGlobalShop自带的PlayerPoints附属经济更新到了1.4
为API增加了ItemSellEvent
GlobalShopPlayerPoints更新至1.4:
修复了无法兼容某些版本的bug
为GlobalShop增加了一个额外的插件(不是附属经济,放plugins):
NOSellLoreItemToGlobalShop:
他可以让含有指定lore的物品无法被上架,请前往网盘下载
警告,他所需要的版本至少是1.1.3版本(正式版,也就是2017年3月25日更新的版本)
|
| 2017年5月7日:
GlobalShop更新至正式版1.1.4:
修复GlobalShop1.1.3的收件箱ShowType无效的问题
|
| 2018年3月29日:
GlobalShop更新至正式版1.1.5:
修复某种情况下可能会刷物品的bug,请务必更新至此版本!
修复ShowType某种情况下无效的问题 |
| 2018年4月15日
GlobalShop更新至正式版1.1.6
修复极其罕见的情况下会刷物品的bug,请务必更新至此版本
语言文件(zh_CN.lang)在最下面换行,增加内容:
- #购买订单提交
- iteminfo.commit: &e购买订单确认中...
- #订单支付失败,商品被其他人购买
- iteminfo.failed: &4购买失败,该商品已经被其他人购买
- #订单支付成功
- iteminfo.done: &e订单购买成功
复制代码
| 2018年5月13日
GlobalShop更新至正式版1.1.7
修复了无限数量的商品购买一次后仍然会移除的问题
|
| 2018年6月19日
GlobalShop更新至正式版1.1.7.1
修复货币不允许上架时提示扣手续费的问题(实际上并没有扣)
|
| 2018年7月6日
GlobalShop更新至正式版1.1.7.2
修复另外一种情况下会刷物品的bug及修复部分插件兼容性
务必更新至此版本
| 2018年7月7日
GlobalShop更新至正式版1.1.7.3
疑似修复疑似未解决的修物品bug
为商店加了点击频率限制
| 2019年6月17日
GlobalShop更新至正式版1.1.7.4
修复了99%的内存泄漏问题
新增:
删除旧mod时不存在的物品会在商店变更为"失效物品"且在下次物品检测时会自动清理
务必更新至此版本
| 内容,无视我,我只是一个模板
| 已知BUG | 1.1.1版本存在着只能显示两页物品的bug,近期将会修复 === 修复于 2017年3月8日 | 常见报错解决方案(截图来自于反馈bug的其中之一) |
该报错为config.yml无法正常读取,编码问题:
查看config.yml是什么编码,并在GlobalShop文件夹下新建一个Encoding.yml
内容为:
config: '编码'
例如config.yml的编码是UTF-8
内容为:
config: 'UTF-8'
统一回复一下配置文件的报错
|
| 开服后无限报错?请先卸载本插件看看是否无报错,如果没有了报错,则是本插件的问题:
尝试更换ProtocolLib版本,如果尝试过多个ProtocolLib版本还无法解决,欢迎反馈bug
|
|
|
|
|