说明
此 wiki 内所使用的文件名及目录名均为默认的,自行替换成你自己的目录及文件名即可。
插件激活
将插件放入 plugins
加载一遍生成配置文件,打开 ./plugins/PokeMarket/config.yml
# 授权服务器CDKey
CDKey: "在这里输入你的授权码(注意 : 后方有个空格)"
结构说明
在目录 ./plugins/PokeMarket/
中,有多个文件和目录,下方是它们的作用说明。
| 文件名 | 文件说明 |
| :---: | :--- |
| config.yml | 主配置文件,主功能设置的地方,例: 相关物品展示设定、存储设定等 |
| lang.yml| 消息提示设定 |
<br>
| 目录名 | 目录说明 |
| :---: | :--- |
| Market | 容器目录, 此目录内每个文件相当于游戏内一个独立的市场容器(可设置多个, 不同配置的市场, 在这里可以设置市场相关的 gui) |
| gui | 暂存箱(个人仓库) gui 的设置 |
文件结构
插件首次运行会生成 ./plugins/PokeMarket/Market/example.yml
文件,打开该文件如下方
Config.yml 文件
#授权码
CDKey: xxx
# 存储设定
data-option:
# 存储类型: MySQL, YAML 自定义模块名
type: "YAML"
mysql:
# MySQL的URL,例如jdbc:mysql://127.0.0.1/minecraft 格式:jdbc:mysql://MySQL地址/数据库名
url: jdbc:mysql://localhost/minecraft
# 数据库用户名
user: "root"
# 数据库密码
password: "root"
# 自定义货币展示名
CustomCurrency:
Vault: "金币"
PlayerPoints: "点券"
#到期日期格式
ExpireFormat: "yyyy/MM/dd HH:mm"
#默认返回的市场
DefaultMarket: "测试"
ShowItem:
name: "&b%pokename%"
lore:
- "&f"
- "&a ▶ &b等级: &f%Level% "
- "&a ▶ &b个体信息&f(&e进度: &f%IVS_SUM%&f)"
- "&f ▪ &a血量:&f %IVS_HP% &a攻击:&f %IVS_Attack%"
- "&f ▪ &a速度:&f %IVS_Speed% &a防御:&f %IVS_Defence%"
- "&f ▪ &a特攻:&f %IVS_SpecialAttack% &a特防:&f %IVS_SpecialDefence%"
- "&a ▶ &b努力值信息&f(&e进度: &f%EVS_SUM%&f)"
- "&f ▪ &a血量:&f %EVS_HP% &a攻击:&f %EVS_Attack%"
- "&f ▪ &a速度:&f %EVS_Speed% &a防御:&f %EVS_Defence%"
- "&f ▪ &a特攻:&f %EVS_SpecialAttack% &a特防:&f %EVS_SpecialDefence%"
- "&a ▶ &b基础信息:"
- "&f ▪ &a闪光: &f%Shiny%"
- "&f ▪ &a特性: &f%Ability%"
- "&f ▪ &a性格: &f%Nature%"
- "&f ▪ &a体型: &f%Growth%"
- "&f ▪ &a性别: &f%Gender%"
- "&f ▪ &a昵称: &f%Nick_Name%"
- "&a ▶ &b技能信息:"
- "&f ▪ &a一技能: &f%Move1%"
- "&f ▪ &a二技能: &f%Move2%"
- "&f ▪ &a三技能: &f%Move3%"
- "&f ▪ &a四技能: &f%Move4%"
- ""
- "&f ▶ &e出售者: &f%seller%"
- "&f ▶ &e价格: &f%price%%currency%"
- "&f ▶ &e到期日期: &f%time%"
- ""
egg:
- ""
- "&f ▶ &e出售者: &f%seller%"
- "&f ▶ &e价格: &f%price%%currency%"
- "&f ▶ &e到期日期: &f%time%"
- ""
store-item:
name: "&b%pokename%"
lore:
- "&f"
- "&a ▶ &b等级: &f%Level% "
- "&a ▶ &b个体信息&f(&e进度: &f%IVS_SUM%&f)"
- "&f ▪ &a血量:&f %IVS_HP% &a攻击:&f %IVS_Attack%"
- "&f ▪ &a速度:&f %IVS_Speed% &a防御:&f %IVS_Defence%"
- "&f ▪ &a特攻:&f %IVS_SpecialAttack% &a特防:&f %IVS_SpecialDefence%"
- "&a ▶ &b努力值信息&f(&e进度: &f%EVS_SUM%&f)"
- "&f ▪ &a血量:&f %EVS_HP% &a攻击:&f %EVS_Attack%"
- "&f ▪ &a速度:&f %EVS_Speed% &a防御:&f %EVS_Defence%"
- "&f ▪ &a特攻:&f %EVS_SpecialAttack% &a特防:&f %EVS_SpecialDefence%"
- "&a ▶ &b基础信息:"
- "&f ▪ &a闪光: &f%Shiny%"
- "&f ▪ &a特性: &f%Ability%"
- "&f ▪ &a性格: &f%Nature%"
- "&f ▪ &a体型: &f%Growth%"
- "&f ▪ &a性别: &f%Gender%"
- "&f ▪ &a昵称: &f%Nick_Name%"
- "&a ▶ &b技能信息:"
- "&f ▪ &a一技能: &f%Move1%"
- "&f ▪ &a二技能: &f%Move2%"
- "&f ▪ &a三技能: &f%Move3%"
- "&f ▪ &a四技能: &f%Move4%"
- ""
# 昵称长度控制
nickname-length: 30
%xxx%
: 变量, 例如 %pokemonName%
等
DefaultMarket
: 默认返回的市场,如找不到市场,将不会跳转
Market 目录
在 默认配置
生成之后,目录内会有 example.yml
, 如下
# 市场gui配置
gui:
# 市场主体gui
marketGui:
# 界面标题
title: "&8测试市场"
# 界面大小
size: 36
# 显示商品的槽位
# 支持格式:
# > 数字(小)-数字(大) 例子: 0-44
# > 数字 例子: 0
# 举例:
# slots:
# - "10-12"
# - "13-16"
show-slots:
- "10-16"
#界面其他物品
items:
#遍历名称
up:
# 按钮物品类型(此处为 paper 纸)
type: PAPER
# 物品数量
amount: 1
# 物品名称
name: "&f上一页"
# 物品data数据
data: 0
# 物品所在槽位
slot: 27
# 物品行为
action: up
# 物品lore
lore: []
down:
type: PAPER
amount: 1
name: "&f下一页"
data: 0
slot: 35
action: down
lore: []
store:
type: CHEST
amount: 1
name: "&f个人仓库"
data: 0
slot: 30
action: store
lore: []
info:
type: CHEST
amount: 1
name: "&f商品管理"
data: 0
slot: 32
action: info
lore: []
#商品管理界面
infoGui:
title: "&8商品管理"
size: 36
show-slots:
- "10-16"
items:
up:
type: PAPER
amount: 1
name: "&f上一页"
data: 0
slot: 27
action: up
lore: []
down:
type: PAPER
amount: 1
name: "&f下一页"
data: 0
slot: 35
action: down
lore: []
return:
type: PAPER
amount: 1
name: "&f返回"
data: 0
slot: 31
action: return
lore: []
#再次确认界面
confirmGui:
title: "&9再次确认"
size: 27
# 显示精灵的槽位
show-slots:
- "13"
items:
confirm:
type: PAPER
amount: 1
name: "&f确认"
data: 0
slot: 18
action: confirm
lore: []
cancel:
type: PAPER
amount: 1
name: "&f取消"
data: 0
slot: 26
action: cancel
lore: []
#市场的配置
config:
# 黑名单列表
blacklist:
- "Pikachu"
# 货币类型, 支持多经济
# 可用: Vault, PlayerPoints, NyEconomy
vault: "Vault"
# 最低上架价格
min: 100
# 最高上架价格
max: 10000
# 是否允许上架精灵蛋
allowEgg: false
# 梦特是否能上架
allowMT: true
# 超时时间 单位: 秒
expire: 30
# 禁止个体超过多少v的精灵上架(大于)
ivs-restrict: 3
# 个体v数最低价格限制
ivs-limit:
1: 100
# 价格限制
pokemon-price-limit:
#此处为 Pikachu 最低出售价格为 1000
- "Pikachu,1000"
# 市场名
marketName: "测试"
# 最高上架数
count: 5
# 上架数权限控制
limit:
permission: "pokemarket.example.limit"
node:
default: 3
vip: 5
# 税
tax:
# 手续费
shout:
permission: "pokemarket.example.shout"
node:
default: 0.05
vip: 0.01
#押金
deposit: 100
# 上架是否公告
broadcast: true
deposit
: 押金, 上架精灵需要先上交押金, 当上架的精灵到期返回并没有被购买,押金将不会返还,否则, 押金将会返还
shout
: 手续费, 当交易成功后, 上架者获得的金额 将会是扣除相关比例手续费的金额
limit
: 上架数权限控制, 根据相关权限限制相关数量
gui 目录
在 默认配置
生成之后,目录内会有 store.yml
, 如下
title: "&8暂存库"
size: 36
store-item:
slots:
- "10-16"
items:
return:
type: torch
amount: 1
name: "&c返回市场"
data: 0
slot: 31
action: return
lore: [ ]
up:
type: PAPER
amount: 1
name: "&f上一页"
data: 0
slot: 27
action: up
lore: []
down:
type: PAPER
amount: 1
name: "&f下一页"
data: 0
slot: 35
action: down
lore: []
lang.yml
在 默认配置
生成之后,会生成 lang.yml
, 如下
#前缀
prefix: "&6[&9精灵市场&6]: &f"
#名称
command:
#消息
player-only: "这个命令只有玩家可以执行."
invalid-arguments: "请检查您的参数是否正确"
invalid-market: "&c市场不存在!"
sell:
invalid-number: "请检查你的参数是否正确。槽位只能为 1 ~ 6,价格必须大于 0"
usage: "使用方法: /pm sell <槽位> <市场> <价格>"
success: "您的宝可梦开始拍卖。"
little-pokemon: "你只剩下一只精灵了, 无法拍卖!"
no-pokemon: "所选槽位没有精灵, 请放入一个精灵"
v-deny: "&c该精灵最低出售价格为: &f%price%%vault%"
p-deny: "&c该精灵最低出售价格为: &f%price%%vault%"
mt-deny: "&c梦特精灵不能上架此市场."
in-battle: "对战中无法交易精灵."
reload: "插件配置重载完成"
如果需要更改,将相应消息做更改即可
创建多个容器
复制文件 ./plugins/PokeMarket/Market/example.yml
并在同目录下粘贴
修改复制后的文件名为你想要的文件名,例如:./plugins/PokeMarket/Market/example.yml
使用命令 //pm open <市场>
可加入指定市场,例:/pm open 测试