当前Wiki对应插件版本:
3.3.0-SNAPSHOT
插件自带模板拥有18个属性道馆 以及 道馆挑战要求对战规则、禁用精灵、禁用携带物、精灵要求、携带称号、徽章物品成为馆主、馆主卸任、每日奖励 命令语言文本、插件界面格局、界面展示物品 均可自定义自动取消 馆主身份,可在配置文件关闭此功能自动取消 馆主身份,可在配置文件关闭此功能馆主战败多少次取消馆主、玩家每天挑战次数、馆主每天可以拒绝玩家挑战次数强制使用上传精灵 进行对战战胜馆主、战败馆主、平局 执行命令 (可用于扣除或增加或给予奖励)挑战馆主、申请馆主、馆主重新上传队伍 所需积分自动审核 和 手动审核永久/临时 模式,永久道馆支持 成员系统 和 专属世界提示音 和 Title标题 通知自动取消挑战书自动扣除经验值扣除积分和经验值 惩罚MySQL数据库 和 文件储存 两种数据储存方式手动审核:
上传者上传背包精灵并扣除相应的积分,由拥有XinxinPokeGym.audit权限的玩家发送/xpg open admin进行手动审核自动审核:
上传者上传背包精灵,会自动根据当前道馆设置规则审核通过后将会扣除所需积分并上传精灵
插件只兼容下列MOD并进行测试,正常使用,其它版本未知,请自行测试。
【重铸宝可梦】
1.12.2-8.4.31.16.5-9.1.111.20.2-9.2.8
【方块宝可梦】Cobblemon:fabric-1.7.1
玩家基础指令:
/xpg open 界面类型 — 打开精灵道馆界面
/xpg setspawn [道馆] — 设置某道馆据点(只有成为馆主才拥有权限)
界面类型可填:
main=插件主页 apply=查看申请进度 gym=道馆选择页面 manage=道馆管理页面
admin=管理员审核页面(所需权限:XinxinPokeGym.audit)
管理员指令介绍(权限:XinxinPokeGym.admin)
/xpg remove [道馆] — 删除某道馆馆主
/xpg give [玩家] [道馆] — 给予玩家某道馆勋章
/xpg add [玩家] [数量] — 增加玩家道馆积分
/xpg take [玩家] [数量] — 扣除玩家道馆积分
/xpg set [玩家] [数量] — 设置玩家道馆积分
/xpg expadd [道馆] [数量] — 增加道馆经验值
/xpg expdel [道馆] [数量] — 扣除道馆经验值
/xpg forever [道馆] [true/false] — 设置道馆是否为永久道馆
/xpg setmaster [玩家] [道馆] — 设置玩家为指定道馆馆主(使用玩家当前精灵队伍)
/xpg delworld [道馆] — 删除指定道馆的专属世界
/xpg reset [玩家名] <备份编号> — 手动恢复玩家备份数据
注:备份编号不写则是恢复最近的一次备份数据,如果有特殊需求可以按照玩家数据文件内的备份编号填写
/xpg reload — 重载插件
%XinxinPokeGym_prefix% — 获取玩家当前佩戴道馆称号
%XinxinPokeGym_prefixall% — 获取玩家拥有的所有道馆称号
%XinxinPokeGym_gym% — 获取玩家当前道馆名称
%XinxinPokeGym_points% — 获取玩家道馆积分
%XinxinPokeGym_level_道馆名称% — 获取道馆等级
%XinxinPokeGym_exp_道馆名称% — 获取道馆经验值
%XinxinPokeGym_maxexp_道馆名称% — 获取升级所需经验值
%XinxinPokeGym_master_道馆名称% — 获取当前道馆馆主
我们将插件加入服务器并填写好key后启动会生成下列文件
默认生成的配置是1.12.2版本的,高版本默认配置可在插件下载页面下载获取
Data此文件夹用于存放插件数据(可无视)
- PlayerData 文件夹存放玩家数据
- ApplyData.yml 存放玩家申请道馆数据
- GymData.yml 存放道馆数据
config.yml是插件的全局核心配置gui.yml是插件界面设置文件,可在这个文件自定义插件界面以及展示物品gyms.yml道馆基础设置文件,默认自带18个属性道馆可在这里设置道馆基本配置key.yml用于存放用户验证码文件lang.yml插件的语言提示文件,可自定义插件提示语rules.yml规则数据文件,可在这里自定义规则用于限制玩家申请以及挑战
以下是插件各个文件如何配置的使用方法
展示版本为3.3.0-SNAPSHOT
当我们正常加载插件后应该会生成一个 config.yml 文件默认自带下方内容
在这个文件内我们可以根据其中的 中文注释 设置道馆的基础配置
#宝可梦版本,填写1则运行重铸,填写2则运行方可梦
version: 1
#道馆的一些设置
GymData:
#玩家最多可以拥有多少道馆
PlayerGymAmount: 1
#馆主每天必须在线满X分钟,否则第二天检测时扣除经验值 (设置为0则不启用此功能)
MasterDailyOnlineMinutes: 60
#馆主昨日在线时长不足时扣除的经验值
DailyOnlinePenaltyExp: 10
#玩家查看道馆时是否可以查看馆主精灵属性
LookPoke: false
#是否开启馆主自动审核(开启自动审核玩家需要精灵达到要求才会扣除积分)
#如果不开启自动审核玩家每次发起申请都会扣除积分
AutoExamine: true
#馆主超时不接受战斗自动取消馆主身份,单位小时 (设置为0则不启用此功能)
AutoRemoveMaster: 48
#馆主超过多久时间不上线自动取消馆主身份,单位小时 (设置为0则不启用此功能)
AutoRemoveMasterOffline: 72
#玩家失去馆主身份后多久才能重新申请馆主,单位小时 (设置为0则不启用此功能)
ApplyMasterTime: 48
#道馆等级达到0并且经验值为0时自动删除道馆
LevelRemoveGym: false
LevelSet:
#道馆每个等级所需经验值
Levels:
1: 100
2: 200
3: 300
4: 400
5: 500
#道馆成员设置
MemberSet:
#每个道馆等级可解锁的成员数量(只有永久道馆才能有成员)
Limits:
0: 2
1: 3
2: 4
3: 5
4: 6
5: 8
#道馆专属世界设置
GymWorldSet:
#是否启用道馆专属世界功能(默认关闭)
Enable: false
#世界名称前缀
WorldPrefix: "gym_"
BattleSet:
#馆主失败多少次取消资格 (设置为0则不取消)
FailedRemoveNum: 5
#玩家每天可以挑战总次数 (设置0则不限制)
DayBattleNum: 3
#道馆每天可被挑战总次数 (设置0则不限制,防止多人挑战导致馆主处理不过来)
GymDayBattleLimit: 10
#馆主每天可以拒绝次数 (设置0则不限制)
GymDayRejections: 3
#馆主必须在线满X分钟才能领取每日奖励 (设置为0则不启用此功能)
RewardOnlineMinutes: 30
#馆主拒绝挑战需求(设置为0则无需条件拒绝)
Rejection:
#拒绝时扣除的道馆积分
Points: 10
#拒绝时扣除的经验值
Exp: 5
#玩家是否可以重复战胜道馆
GymOvercome: false
#馆主是否只能用上传精灵进行战斗
GymBattlePoke: true
#挑战者是否只能用发起挑战精灵进行战斗
BattlePoke: true
#挑战者发起挑战后X分钟内退出游戏则自动取消挑战书 (设置为0则不启用此功能)
ChallengerOfflineCancelTime: 5
#馆主收到挑战书时的提示设置
ChallengeNotify:
#是否启用提示音 (设置为空则不播放)
Sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
#提示音音量 (0.0-1.0)
SoundVolume: 1.0
#提示音音调 (0.0-2.0)
SoundPitch: 1.0
#是否启用Title标题提示 (设置Main和Sub都为空则不显示)
Title_Main: "&c收到新的挑战书!"
Title_Sub: "&e挑战者: %player%"
#Title淡入时间(tick)
FadeIn: 10
#Title停留时间(tick)
Stay: 40
#Title淡出时间(tick)
FadeOut: 10
#馆主接受战斗后多少秒开始战斗
ReadyTime: 3
#对战开始前是否将挑战玩家传送到馆主身边
TeleportToMaster: false
#准备时屏幕悬浮文字
Title:
Main: "&f%gym% &a馆主已接受挑战"
Sub: "&a-=&c%i%&a=- &a请做好战斗准备 -=&c%i%&a=-"
Main_battle: "&a正在进行 &f%gym% &a道馆对战"
Sub_battle: "&a-= 全神贯注 =-"
#挑战完成后执行指令
BattleCmd:
#战胜馆主执行的指令
#%p1% = 挑战者id %p2% = 馆主id %gym% = 道馆名称
win:
- "broadcast &f%p1% &a战胜了 &f%gym% &a馆主 &f%p2%!"
- "xpg give %p1% %gym%"
- "xpg expdel %gym% 10"
#挑战失败执行的指令
lose:
- "broadcast &f%p1% &a没打过 &f%gym% &a馆主 &f%p2%!"
# 增加馆主5点积分
- "xpg add %p2% 5"
# 增加馆主10点经验值
- "xpg expadd %gym% 5"
#平局执行指令
draw:
- "broadcast &f%gym% &a馆主 &f%p2% &a和 &f%p1% &a打成了平局!"
PointsSet:
#分数展示文本
PointsString: "道馆积分"
#挑战所需积分
BattlePoints: 1
#申请馆主所需积分
ApplyPoints: 5
#馆主重新上传精灵所需积分
ReUploadPoints: 5
#道馆数据储存设置
BackupSet:
#玩家队伍信息最大备份数量
MaxBackupNum: 5
#插件数据储存时间间隔(单位秒)
BackupTime: 3600
#道馆检测间隔时间(单位秒)
GymCheckTime: 3600
#数据库储存设置
Database:
#是否启用MySQL数据库储存 (true=MySQL, false=文件)
enable: false
#数据库地址
host: localhost
#数据库端口
port: 3306
#数据库名称
database: pokegym
#数据库用户名
username: root
#数据库密码
password: password
#连接池设置
pool:
#最小空闲连接数
minimum-idle: 5
#最大连接池大小
maximum-pool-size: 10
#连接超时时间(毫秒)
connection-timeout: 30000
当我们正常加载插件后应该会生成一个 gyms.yml 文件其中有默认自带的18个属性道馆以及配置
如果要新建一个道馆的话可以根据下方格式在文件中新建
配置文件中的道馆数量不要超过
gui.yml文件界面大小,否则无法在道馆界面正常显示道馆
#这里写道馆名称(也是触发命令或提示语句的关键词)
一般道馆:
#对战规则文本(需要按照教程格式填写)
Rules: []
#申请馆主精灵要求,若开启配置项AutoExamine达到要求自动晋升馆主
#要求文件在rules.yml文件配置
Apply_Rules: "一般道馆申请要求"
#玩家挑战精灵要求
#要求文件在rules文件配置
Challenge_Rules: "一般道馆挑战要求"
#道馆馆主显示的称号
Prefix: "&7[&d一般馆主&7]"
#成为馆主执行的命令
#可用变量:%player%=玩家名 %gym%=道馆名称
InheritReward:
- "broadcast %player%成为了 %gym% 馆主"
- "xpg expadd %gym% 50"
#失去馆主执行的命令
LostReward:
- "broadcast %player%失去了 %gym% 馆主资格!"
#馆主每日奖励 (后台执行命令,根据道馆等级配置)
#格式:等级编号: 执行命令列表
DayReward:
0:
- "broadcast %player%领取了一般道馆每日奖励!"
- "xpg expadd %gym% 5"
1:
- "broadcast %player%领取了一般道馆等级1每日奖励!"
- "xpg expadd %gym% 10"
2:
- "broadcast %player%领取了一般道馆等级2每日奖励!"
- "xpg expadd %gym% 15"
#道馆象征性标志物品
GiveItem:
type: "PIXELMON_BALANCE_BADGE"
data: 0
name: "&6☆ &7一般道馆徽章 &6☆"
lore:
- ""
- " &f ✪ &a象征着实力的徽章"
#设置在gui中显示的图标
GuiItem:
#显示物品id
type: "PIXELMON_BALANCE_BADGE"
#物品子id
data: 0
#物品显示名称
name: "&6☆ &7一般道馆 &6☆"
#已有馆主时显示的lore
#可用变量:%play%=馆主名 %forever%=道馆期限 %level%=道馆等级
#%exp%=当前经验 %maxexp%=升级所需经验 %all_number%=剩余挑战次数 %time%=馆主上线时间
HaveLore:
- " &f ✪ &a当前馆主: &e%play%"
- " &f ✪ &a道馆期限 &e%forever%"
- " &f ✪ &a道馆等级 &e%level%"
- " &f ✪ &a道馆经验 &e%exp%/%maxexp%"
- " &f ✪ &a剩余总挑战数: &e%all_number%/3 &a次"
- " &f ✪ &a馆主上线时间: &e%time%"
- ""
- " &f ➥ &6点击进入道馆"
#无馆主时申请的lore
NotLore:
- " &f ▌ &d馆主要求:"
- " &f ✪ &a一般系精灵 × 3"
- " &f ✪ &a精灵数量 × 6"
- " &f ✪ &a6v精灵 × 3"
- " &f ✪ &a满努力值精灵 × 3"
- " &f ✪ &a等级不得低于100级"
- " &f ✪ &a积分 × &f5"
- " &f ▌ &d申请要求:"
- " &f ✪ &c每人 &e24小时 &c只能发起一次申请"
- " &f ✪ &c发起成功后需等待服主审核精灵"
- " &f ✪ &c服主审核成功后便能成为馆主"
- ""
- " &f ➥ &6点击申请馆主"
- " &f ➥ &6右键查看详细申请条件"
| 配置项 | 说明 |
|---|---|
DayReward |
从简单的命令列表改为按道馆等级配置不同奖励,格式为 等级: [命令列表] |
HaveLore 变量 |
新增 %forever%(道馆期限)、%level%(道馆等级)、%exp%/%maxexp%(经验) |
InheritReward 变量 |
新增 %gym% 道馆名称变量 |
当我们正常加载插件后应该会生成一个 rules.yml 文件其中有默认自带的18个属性道馆挑战规则和申请馆主规则
在其中可以在 gyms.yml 自定义玩家申请道馆 Apply_Rules 和挑战道馆 Challenge_Rules 的要求
如果要新建规则可以按照下方配置格式在文件中自定义
#规则条件名称(也就是在道馆配置中需要填写的关键词)
一般道馆申请要求:
#至少需要多少只宝可梦
PokeAmount: 6
#固定需要哪些宝可梦(填写精灵翻译名如果没汉化则写精灵英文名)
PokeFixed:
- "皮卡丘"
#禁止携带那些宝可梦(填写精灵翻译名如果没汉化则写精灵英文名)
BanPoke:
- "Mew"
- "梦幻"
#禁止携带物
BanItem:
#演示禁用的是气势披带
- "气势披带"
#精灵属性要求
PokeAttribute:
#amount:填写要求需达到的精灵数量
#type:填写要求的类型:
#ivs(个体)、evs(努力值)、level(等级)、type(属性)、OriginalTrainer(需要精灵初始训练师是上传者)
#value:填写要求的值
#ivs:填写要求精灵个体总和至少 >= ?
#evs:填写要求精灵努力值总和至少 >= ?
#level:填写要求精灵等级至少 >= ?
#value:填写要求精灵判断要求
#填写属性英文名首字母大写,可创建多个属性判断进行多个属性要求
#Normal=一般、Fire=火、Water=水、Electric=电、Grass=草、Ice=冰
#Fighting=格斗、Poison=毒、Ground=地面、Flying=飞行、Psychic=超能力
#Bug=虫、Rock=岩石、Ghost=幽灵、Dragon=龙、Dark=恶、Steel=钢、Fairy=妖精
#要求名称,可自定义
精灵个体总和186×3:
amount: 3
type: "ivs"
value: "186"
精灵努力值总和510×3:
amount: 3
type: "evs"
value: "510"
精灵等级100×6:
amount: 6
type: "level"
value: "100"
一般属性精灵×3:
amount: 3
type: "type"
value: "Normal"
初始训练师精灵所需数量:
amount: 3
type: "OriginalTrainer"
value: "0"
gui.yml 文件用于配置插件所有GUI界面的布局和物品显示
插件共有以下GUI界面可自定义:
| 界面 | 说明 |
|---|---|
MainGui |
插件主页界面 |
InfoGui |
道馆审核信息界面 |
ManageGui |
道馆管理界面(含挑战书、奖励领取、道馆世界) |
GymGui |
道馆选择/挑战界面 |
PlayGui |
查看道馆详情界面(含发起挑战、传送据点、申请加入) |
MemberListGui |
道馆成员列表界面 |
MemberManageGui |
成员管理界面(权限开关、踢出) |
AdminGui |
管理员审核界面 |
每个界面都支持以下通用配置:
界面名称:
Title: "界面标题" #界面标题,支持颜色代码
Sizi: 36 #界面大小(必须是9的倍数,最大54)
Button/Border: #按钮和边框物品配置
type: "物品ID"
data: 0 #物品子ID
name: "显示名称"
lore: #物品描述
- "描述行1"
Slot: 0 #物品放置的槽位(或列表形式放多个槽位)
lang.yml 文件存放所有插件的语言提示文本,可完全自定义
Prefix: "&b精灵道馆 &f➢ " #插件前缀
Reload: "&a重载成功." #重载成功提示
Reset: "&a重置玩家精灵成功." #重置数据成功
Not_Gym: "&c此道馆不存在." #道馆不存在
Not_Master: "&c此道馆暂时没人占领." #无馆主
Not_Money: "&c你的 &e%points% &c不足 &e%money%." #积分不足
#审核相关
ExamineFail: "&c你背包精灵未达到 &e%rules% &c要求,请变强后再来吧!"
ExamineVia: "&a你背包精灵满足审核要求,通过审核"
UP_Poke: "&a成功上传背包精灵信息,等待服主审核."
#战斗相关
Battle_Me: "&c你不能向自己发起挑战."
Battle_Failure: "&c馆主当前不在线不能发起挑战."
Battle: "&a发起挑战成功,等待馆主接受."
Battle_Gym: "&a你收到一封挑战书,请打开道馆管理界面处理."
NotRejections: "&c你今天的拒绝次数已达到上限"
FinishBattle: "&c你已经战胜过此道馆了"
NotOrder: "&c你今日挑战次数已达到上限!"
Not_Online: "&c玩家当前不在线哦,不能开始挑战."
Is_Battle: "&c当前有玩家正在战斗中,请稍后再试."
Not_Battle: "&c你或者对方正在道馆对战中,不能接受挑战."
GymBattleLimitReached: "&c该道馆今日被挑战次数已达到上限,请明天再来挑战吧!"
Challenger_Offline_Cancel: "&a挑战者 &e%player% &a已离线超时,挑战书已自动取消。"
#奖励相关
Receive: "&a领取成功,奖励已发放至你背包."
Receive_Failure: "&c你今天已经领取过奖励了哦."
Reward_Online_Not_Enough: "&c你本次上线时长不足 &e%time% &c分钟,无法领取每日奖励。(当前在线: &e%online% &c分钟)"
#馆主管理
Max_Gym: "&c你拥有道馆的数量已达到上限."
Lose_Gym_Time: "&c你需要在 &e%time% &c才能申请馆主."
Set_Gym_Forever: "&a已将 &f%gym% &a设置为 &e%t% &a道馆."
Set_Master_Success: "&a成功将 &e%player% &a设置为 &e%gym% &a的馆主。"
Set_Master_Has_Master: "&c道馆 &e%gym% &c已有馆主,请先使用 /xpg remove 命令移除旧馆主。"
# 道馆成员系统
Member_JoinRequest_Sent: "&a已成功发送加入申请,请等待馆主审核。"
Member_Already_Member: "&c你已经是该道馆的成员了。"
Member_Not_Forever_Gym: "&c只有永久道馆才能拥有成员。"
Member_Gym_Full: "&c道馆成员已满,无法加入更多成员。"
Member_Request_Approved: "&a成功同意玩家 &e%player% &a的加入申请。"
Member_Request_Rejected: "&a已拒绝玩家 &e%player% &a的加入申请。"
Member_Kicked: "&a已将玩家 &e%player% &a踢出道馆。"
Member_Perm_Teleport_On: "&a已开启玩家 &e%player% &a的传送权限。"
Member_Perm_Teleport_Off: "&a已关闭玩家 &e%player% &a的传送权限。"
Member_Perm_Build_On: "&a已开启玩家 &e%player% &a的建造权限。"
Member_Perm_Build_Off: "&a已关闭玩家 &e%player% &a的建造权限。"
# 道馆世界系统
GymWorld_Not_Enabled: "&c管理员未开启道馆世界功能。"
GymWorld_Not_Forever: "&c只有永久道馆才能领取专属世界。"
GymWorld_Already_Claimed: "&c你已经领取过道馆世界了。"
GymWorld_Claimed: "&a成功领取道馆世界: &e%world%"
GymWorld_Teleported: "&a已传送到道馆世界: &e%world%"
GymWorld_No_World: "&c该道馆还未领取专属世界。"
GymWorld_Deleted: "&a成功删除 &e%gym% &a的道馆世界。"
永久道馆支持成员加入,成员系统具有以下特点:
MemberSet.Limits 中配置)永久道馆馆主可以领取一个专属虚空世界:
config.yml 中开启 GymWorldSet.Enable: true/xpg delworld [道馆] 删除道馆世界RewardOnlineMinutes 分钟才能领取每日奖励MasterDailyOnlineMinutes 分钟,否则第二天道馆检测时扣除 DailyOnlinePenaltyExp 点经验值ChallengerOfflineCancelTime 分钟内退出游戏,挑战书自动取消馆主收到挑战书时可以收到声音和Title提示:
%player%(挑战者名)和 %gym%(道馆名)变量插件支持两种数据储存方式:
Data 文件夹中config.yml 的 Database 节点配置数据库信息后开启从文件储存切换到MySQL储存后,插件会自动迁移数据。旧版本升级时数据库表会自动添加缺失的列。