多页
和 在线编辑
Vault,PlayerPoints,(可选)NyEconomy
PlaceholderAPI
变量GuiData.yml
单独设置使用的布局配置执行命令
、购买后 是否给予上架的物品
比如你可以设置一个商品能使用10金币或者1点券购买
或者设置可以使用1000金币50点券或200点券进行购买
插件支持所有可以使用Bukkit插件的服务端,如果有无法使用请联系作者
XinxinPluginCore 1.2.0版本或以上 | Vault | PlayerPoints | (可选)NyEconomy1.7.1版本或以上
获取到授权码过后请添加所有的前置插件并加载一次插件
将授权码填写至插件文件夹中的 key.yml 文件内并重启服务器即可正常加载插件
key: "填写你的授权码"
[] 为必填项,<> 可不填有默认值
玩家基础指令:
/xshop open [商城名称] <玩家名> — 打开一个商城界面(玩家无法给其他玩家打开界面)
管理员指令介绍(权限:XinxinPokeFarms.admin)
/xshop edit [商城名称] — 编辑/创建一个商城
/xshop reload — 重载插件
当我们成功加载好插件后进入服务器发送 /xshop edit test
即可创建一个名为 test
的商城
然后我们在打开的界面里面放入我们需要上架的道具后关闭界面就创建好了
这个时候我们再发送 /xshop open test
即可打开我们刚创建好的商城
左键
点击商品就可以进行购买 右键
即可打开快捷购买菜单
创建好商品后我们可以前往 服务端/plugins/XinxinShop/Shop
文件夹中找到我们刚创建的商城界面
即可在其中设置商品价格,比如我想设置里面的石头需要 10点券或者50金币
我就需要按照下方格式更改 needMoney
'1':
'1':
ItemStack:
==: org.bukkit.inventory.ItemStack
type: STONE
forgeCapNBT: H4sIAAAAAAAAAONiYOBikE4uLS7Jz80rSC62yixJzS1OLsosKElNSUksSWRgAAB/ZFwFIwAAAA==
#只用修改这项配置即可修改价格
needMoney:
'0':
点券: 999999
commands: []
give: true
修改后的商品配置
'1':
'1':
ItemStack:
==: org.bukkit.inventory.ItemStack
type: STONE
forgeCapNBT: H4sIAAAAAAAAAONiYOBikE4uLS7Jz80rSC62yixJzS1OLsosKElNSUksSWRgAAB/ZFwFIwAAAA==
#只用修改这项配置即可修改价格
needMoney:
'0':
金币: 50
'1':
点券: 10
commands: []
give: true
这样设置玩家购买这个物品将会花费50金币或者10点券,如果都满足条件将会优先消耗金币
如果我们要使用多种货币进行支付只需要在对应的支付组里面写下更多货币类型即可
'1':
'1':
ItemStack:
==: org.bukkit.inventory.ItemStack
type: STONE
forgeCapNBT: H4sIAAAAAAAAAONiYOBikE4uLS7Jz80rSC62yixJzS1OLsosKElNSUksSWRgAAB/ZFwFIwAAAA==
#只用修改这项配置即可修改价格
needMoney:
'0':
金币: 50
点券: 10
'1':
点券: 50
commands: []
give: true
这样设置玩家购买这个物品将会花费50金币和10点券购买或者花费50点券进行购买
如果我们还需要在购买商品后给玩家执行某项命令的话
我们需要修改商品配置中的 commands
配置,具体演示如下
'1':
'1':
ItemStack:
==: org.bukkit.inventory.ItemStack
type: STONE
forgeCapNBT: H4sIAAAAAAAAAONiYOBikE4uLS7Jz80rSC62yixJzS1OLsosKElNSUksSWRgAAB/ZFwFIwAAAA==
#只用修改这项配置即可修改价格
needMoney:
'0':
金币: 50
点券: 10
'1':
点券: 50
commands: []
give: true
修改命令配置后的商品配置
'1':
'1':
ItemStack:
==: org.bukkit.inventory.ItemStack
type: STONE
forgeCapNBT: H4sIAAAAAAAAAONiYOBikE4uLS7Jz80rSC62yixJzS1OLsosKElNSUksSWRgAAB/ZFwFIwAAAA==
#只用修改这项配置即可修改价格
needMoney:
'0':
金币: 50
点券: 10
'1':
点券: 50
commands:
- "say %player% 您购买了一个石头"
- "say 这个是数组,也是支持多条命令的哦~"
give: true
这样修改完成后我们购买石头将会执行两条
say
命令
如果我们不想给玩家这个道具只想执行命令的话可以将give
设置成false
这样玩家购买这个商品将会不给予我们上传的道具只会执行命令了
在 Vault、PlayerPoints
货币的基础上我们还可以使用 NyEconomy 对货币进行自定义
通过此插件创建的货币我们一样可以运用到本插件上,只需要将我们的货币名称更改为你创建的自定义货币名称即可
比如我使用这个插件创建了一个叫
钻石
的货币我想让这个商品可以使用100钻石购买
'1':
'1':
ItemStack:
==: org.bukkit.inventory.ItemStack
type: STONE
forgeCapNBT: H4sIAAAAAAAAAONiYOBikE4uLS7Jz80rSC62yixJzS1OLsosKElNSUksSWRgAAB/ZFwFIwAAAA==
#只用修改这项配置即可修改价格
needMoney:
'0':
金币: 50
点券: 10
'1':
点券: 50
'2':
钻石: 100
commands:
- "say %player% 您购买了一个石头"
- "say 这个是数组,也是支持多条命令的哦~"
give: true
如果您在之前使用过这个插件创建了名称叫点券或者金币的货币会导致判定不生效
这个时候我们需要打开 服务端/plugins/XinxinShop/config.yml
文件
修改其中的 moneyType
配置将我们默认的金币和点券更改成另一个货币名称即可
moneyType:
vault: "金币"
points: "点券"
#修改后的配置
moneyType:
vault: "银币"
points: "黄金"
修改了此配置你也需要将你商城里面的 needMoney
中设置的货币也一并进行修改
'1':
'1':
ItemStack:
==: org.bukkit.inventory.ItemStack
type: STONE
forgeCapNBT: H4sIAAAAAAAAAONiYOBikE4uLS7Jz80rSC62yixJzS1OLsosKElNSUksSWRgAAB/ZFwFIwAAAA==
#只用修改这项配置即可修改价格
needMoney:
'0':
银币: 50
黄金: 10
'1':
黄金: 50
'2':
钻石: 100
commands:
- "say %player% 您购买了一个石头"
- "say 这个是数组,也是支持多条命令的哦~"
give: true
插件默认自带了两种商城布局模板,可以在 服务端/plugins/XinxinShop/Gui
文件夹看到 默认有3个文件
其中的 QuickGui.yml
是我们快捷兑换的界面布局,如果有特殊需要可以在这个文件中对快捷兑换进行自定义
剩下的界面则是插件自带的两个商城布局文件,其中 ShopGui.yml
是默认布局,也就是我们创建商城就会用到的界面布局
如果我们要某个商城使用另一个界面布局配置,可以打开 服务端/plugins/XinxinShop/GuiData.yml
文件进行配置
#这写gui文件名称(对应Gui文件夹中的文件名,不能使用QuickGui)
ShopGui:
- "test" #使用此gui配置的界面名称(对应Shop中的界面名,不设置默认ShopGui)
- "test2"
ShopGui2:
- "test3"
这样配置好后我们创建一个名称叫
test3
的商城然后重载插件即可看到这个商城布局已经修改了
如果您想自己制作一个界面文件,只需要在服务端/plugins/XinxinShop/Gui
文件夹中新建一个界面配置
这里我创建一个名称为 testGui.yml
的文件,其中的内容我们按照格式自定义即可
Gui:
#界面标题
title: "&6%name%&8商城页面"
#界面大小,最大54
size: 18
#上一页按钮
back:
#物品英文名,需要全部大写,如果是模组名需要在前方写模组名加下划线
#比如宝可梦模组的道具: PIXELMON_POKE_BALL
type: "ARROW"
#物品子id,1.13以上版本为0即可
data: 0
#物品展示名
name: "&6★ &f上一页 &6★"
#物品展示标签
lore:
- "这是物品的标签"
- "是可以多行的"
#按钮所在位置
slot: 9
next:
type: "ARROW"
data: 0
name: "&6★ &f下一页 &6★"
lore: [ ]
slot: 17
Border:
type: STAINED_GLASS_PANE
data: 15
name: "&6★ &f选购你喜欢的商品吧 &6★"
lore: [ ]
slot:
- 0
- 8
- 10
- 11
- 12
- 14
- 15
- 16
Info:
type: "SKULL_ITEM"
data: 3
name: "&6★ &f%player% &6★"
lore:
- "&a金币: &f%vault_eco_balance%"
- "&a点券: &f%playerpoints_points%"
slot: 13
#商品放置位置
goodsSlot:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
制作好界面文件后我们再次打开 服务端/plugins/XinxinShop/GuiData.yml
文件进行配置
将我们自定义的界面写入配置中,并在里面写上需要运用到这个界面文件的商城名称
#这写gui文件名称(对应Gui文件夹中的文件名,不能使用QuickGui)
ShopGui:
- "test" #使用此gui配置的界面名称(对应Shop中的界面名,不设置默认ShopGui)
- "test2"
ShopGui2:
- "test3"
修改后的配置
#这写gui文件名称(对应Gui文件夹中的文件名,不能使用QuickGui)
ShopGui:
- "test" #使用此gui配置的界面名称(对应Shop中的界面名,不设置默认ShopGui)
- "test2"
ShopGui2:
- "test3"
testGui:
- "新版界面商城"
- "新版界面商城1"
- "新版界面商城2"
这样我们创建的
新版界面商城、新版界面商城1、新版界面商城2
商城界面就会用到我们刚刚自定义的界面文件了