#1 指令汇总(玩家)
指令(括号代表简写) | 用途 | /dt help | 查看玩家帮助大全 | /dt start(st) | 打开匹配面板 | /dt timetable(tt) | 查看可以进行单挑比赛的时间段 | /dt ainfo | 查看所有竞技场的信息 | /dt send <玩家名> | 向某玩家发送单挑请求 | /dt accept | 接受单挑请求 | /dt deny | 拒绝单挑请求 | /dt quit(q) | 认输(在比赛中使用) | /dt shop(s) | 打开积分商城 | /dt records(r) | 打开记录面板 | /dt points(p) me | 查询积分余额 | /dt rank | 查看自己的排名信息 | /dt rank <win/kd> | 查看全服的胜场数/KD比排行信息 | /dt lobby | 传送到大厅 | /dt dan | 查看自己的段位 | /dt energy(e) | 查询精力值余额 | /dt watch <竞技场编辑名(也就是编号)> | 观战 | /dt sendall(sa) | 消耗一张全服邀请函向全服玩家下战书 | /dt changelang(cl) | 查看服务器已加载的语言文件 | /dt changelang(cl) <语言文件> | 更换自己的语言环境 |
#2 指令汇总(管理员)
需要权限 dt.admin (本插件的唯一权限,管理员默认拥有)
指令(括号代表缩写) | 用途 | /dt adminhelp | 查看管理员帮助大全 | /dt points(p) help | 查看单挑积分变更相关帮助(points相关指令3条) | /dt shop(s) help | 查看单挑积分商城相关帮助(shop相关指令4条) | /dt arena(a) help | 查看单挑竞技场相关帮助(arena相关指令8条) | /dt energy(e) help | 查看单挑竞技场相关帮助(energy相关指令2条) | /dt exp help | 查看段位经验值相关帮助(exp相关指令3条) | /dt stop <竞技场编辑名> | 强制结束某个竞技场的比赛 | /dt game <竞技场编辑名> <玩家1> <玩家2> | 强制开启一场比赛 | /dt lobby(l) set | 设置大厅(脚下的位置) | /dt lobby(l) delete | 删除大厅 | /dt sendall getitem | 获得一张全服邀请函 | /dt checkv(cv) | 手动检查更新并获取更新信息 | /dt reload config(c) | 重载config.yml(配置文件) | /dt reload lang | 重载所有语言文件 | /dt tf <功能模块> | 将yml文件储存的数据拷贝到数据库中 |
#3 竞技场教程(基础篇)
竞技场是两个玩家间PVP的场地,学会如何创建它并充分利用它很重要,本节先讲竞技场相关的基础操作
1. 多竞技场机制
本插件支持有多个竞技场存在,玩家在开始比赛时会被随机传送到一个竞技场,若只有一个竞技场那就会传送到唯一的那个竞技场里面
2. 开始创建
我们只需要获取一个创建工具即可进行创建操作。首先,我们要先输入/dt a mode进入[竞技场创建模式],在输入指令后,同时我们会收到一个竞技场创建工具


拿到工具后,我们要利用它来选择玩家1和玩家2的传送点,传送点即比赛开始后双方玩家传送的初始位置。手持工具,站在你要设置点的位置,点击空气(Win10版就是右键点击)。第一次点击空气就是设置传送点A,第二次点击空气就是设置传送点B。在点击时,你站在什么地方,包括看着哪个方向,玩家在开赛时被传送过来后就会站在什么地方,看着哪个方向。

注意上面的操作是设置AB传送点,不是圈竞技场,是设置玩家的传送点,竞技场还要你自己进行圈地处理(领地插件)以保护里面的方块不被破坏什么的,当然圈完地后别忘记设置PVP为允许
3.完成创建
在AB两个传送点都设置完毕后,输入/dt a create <竞技场编辑名> <竞技场展示名>即可完成创建,如/dt a create test &b测试竞技场,编辑名就相当于代号的意思,只能用英文,比如说test,pvp,ceshi之类的,方便记忆就行。展示名就是竞技场的称呼了,玩家进入竞技场后会被提示“您已进入xxx竞技场”,这里的“xxx”显示的就是展示名。完成创建后,竞技场的信息都会被保存下来,同时就可以使用了

#4 大厅设置
考虑到有些服务器会专门做一个单挑大厅地图来供玩家在固定时间段前往匹配战斗,于是大厅功能诞生了
1.大厅传送点介绍
大厅传送点的设置与否是可选的,并不强制要求,取决于你自己服务器的需求。设置大厅传送点后,玩家可以直接输入指令前往这里;玩家比赛结束后也会自动传送到这里。你可以专门为服务器打造一个单挑大厅,在这里摆上用于打开单挑积分商城、记录面板的NPC,为服务器增加一丝特色
2.相关指令
指令 | 用途 | /dt lobby | 传送到大厅 | /dt lobby set | 设置大厅点 | /dt lobby remove | 删除大厅 |

#5 开始比赛!
1.怎么开始一场比赛?
① 通过匹配发现对手:
使用指令/dt st打开匹配面板后,点击下方按钮即可开始匹配,如果也有玩家正在匹配,那就直接开始比赛 
静图展示 ② 通过直接向某人发送邀请:
假如两个玩家间有想一决高下的念头,或者说打算菜鸡互啄,又或者存在私人的恩怨,可以通过私发单挑请求的方式开始比赛,在发送后,对方的聊天窗口会提示文字,点击文字即可进行接受/拒绝处理 ③ 通过全服邀请函:
如果你的背包里有全服邀请函,则可以输入/dt sendall消耗一张以向全服玩家下战书
2.比赛是怎么进行的?
玩家们需要自己准备武器,比赛开始后,双方玩家会自动传送到一个随机的竞技场,此时会进行倒计时5秒,这五秒钟内不可互伤,也不可以走动。倒计时结束后,双方玩家即可进入紧张的战斗阶段

在对打过程中,非OP的玩家不能输入任何指令(除了使用/dt q认输) 单挑竞技场带有一套较为完整的保护措施:在场外观战的玩家不会伤及比赛玩家,雪球、鱼钩等干扰行为也不能做,同时比赛玩家也不能伤及场外玩家。这样保证了比赛的公平进行,不会出现误伤;怪物也不会对比赛中的玩家产生伤害。但仙人掌,岩浆什么的还是有效的,你可以用这些做点小陷阱提高玩家的专注度
3.触发比赛结束的条件有哪些呢?
① 某玩家阵亡 某玩家阵亡了,即被对手击败或者被陷阱击败,都会判定该玩家输掉了比赛,另一方获胜
② 比赛超时 单挑插件目前设置的比赛时限是5分钟,即300秒,若这300秒过去后双方仍存活,那就判定平局 ③ 某玩家认输 在比赛过程中难免有玩家出于一些原因想认输,本插件提供了认输功能,输入/dt q即可像对手认输,认输后比赛立刻结束,当然也就意味着认输者被判定输掉了比赛,另一方获胜 ④ 其他原因 玩家直接退出了服务器,同样也判断该玩家输掉比赛,另一方获胜 比赛结束后,被击败的玩家都会被自动复活,然后双方玩家会被传送到原来的位置,如果设置了单挑大厅,则双方都会传送到单挑大厅。 获胜的一方会获得段位经验、积分,还有一朵炒鸡漂亮的烟花儿233;战败的一方会扣除少量经验,但不损失积分。同时双方的比赛记录会被记录到记录面板中,玩家可随时查看。 不同类型的比赛可以有不同的独立奖励方案,比赛类型包括: 匹配赛:通过匹配面板找到对手的比赛 邀请赛:通过私发单挑邀请开始的比赛 强制赛:管理员使用/dt game指令强行开始一场比赛
截图-比赛胜利
截图-比赛失败
#6 段位与经验值
1.简介
这里的经验值指的就是段位的经验值,玩家每次打完一场比赛后都会获得/失去一定量的经验,经验到达一定程度后就可以提升段位,段位可以通过聊天展示,当然也可以通过PAPI变量在你服务器的菜单、计分板、全息图等地方显示。


2.段位经验如何获得?
在比赛中,假如你获胜了,获取的经验的量取决于你连击的次数(你连续攻击对手期间对手未攻击到你则叫做连击),连击次数越高,获得的经验越高;但如果你输了,扣除的经验的量就取决于对方连击你的次数了,即对方获取的经验的三分之一。不过这个经验计分机制我以后会让大家自定义的,请期待后续更新
3.如何获取一个正式段位?
玩家刚进入服务器时是没有段位的,会显示"&7[无段位]"(这个你也可以自己改),玩家的经验到达了你设置的最低等级的段位所需的经验值后,才算获得了正式段位(正式段位就是你在配置文件自定义的那些段位),就不再显示无段位了。比如说你设置的最低等级的段位名称是"&3[倔强青铜]",所需经验值是50,那当玩家经验首次达到50后,就会全服广播“xxx玩家获得了正式段位xxx”,这是玩家的段位就是"&3[倔强青铜]"了
4.经验保底机制
在你获得正式段位前,比赛输了不会扣经验;在你获得正式段位后,比赛输了会扣经验,但同时保证你不会重新回到无段位的身份,比如说最低等级段位的经验要求是50,你现在的经验是60,但比赛输了要扣除30经验,这时会触发这个保护机制,你的经验值不会扣到50以下,而是为你保留到50
5.自定义服务器的段位
如果你不想使用插件内置的默认段位组,你可以自己设置样式与所需经验
- CustomDan:
- dan1:
- Name: "&f[&2青铜I&f]&r"
- Exp: 50
- dan2:
- Name: "&f[&2青铜II&f]&r"
- Exp: 150
- dan3:
- Name: "&f[&2青铜III&f]&r"
- Exp: 280
- dan4:
- Name: "&f[&3黑铁I&f]&r"
- Exp: 500
- dan5:
- Name: "&f[&3黑铁II&f]&r"
- Exp: 760
复制代码
你可以在config.yml自定义段位。每个段位的编号只能用英文,或以英文开头的英文+阿拉伯数字组合,如"dan1","test","mydan233"等,Name即为段位的名称,Exp即为升到该段位所需要的经验。注意,必须按低级到高级的顺序写哟,且段位的编号和段位名不能重复 顺带一提,配置文件中的"dan"不是汉语拼音,而是英文单词,翻译过来就是"段位"
#7 禁赛(黑名单系统)
1.禁赛!
假如你不希望某玩家再进行单挑比赛,可以把TA例如比赛黑名单,使其将无法进行任何比赛,输入/dt b add <玩家名>把TA加到黑名单中
2.解除禁赛
假如你想让某黑名单玩家重回赛场,就输入/dt b remove <玩家名>解封吧
3.查看禁赛名单
输入/dt b list
#8 比赛记录面板
1.简介
顾名思义,一个用来记录你战斗记录的GUI面板,每一次比赛结束后都会记录,包括对手名称、日期、总输出伤害、最大输出伤害、比赛用时、地图、经验得失、比赛类型、所在区服
2.打开
输入/dt r

点击其中一个按钮,即可查看对应的详细比赛记录

#9 排行榜系统
1.简介
单挑排行榜分为两个部分:胜场排行榜和KD排行榜。胜场排行榜,顾名思义,根据玩家胜利的场数来排名;KD排行榜,根据玩家的KD值来排名。KD就是Kill/Death,即玩家胜场数与败场数的比值,用于反映玩家的战绩水平,玩过其他主流网游的基本都懂
① 胜场排行榜

② KD值排行榜

当比赛结束后,排名的进步/退步都会被提示
2.查看排行榜
输入/dt rank即可查看自己的胜场/KD排名信息
输入/dt rank win查看全服前十名的胜场排名信息 输入/dt rank kd查看全服前十名的KD排名信息
#10 积分与积分商城
1.简介
积分在玩家赢得比赛后获得,可以自定义数量。输的玩家不会扣积分
2.相关指令指令 | 用途 | /dt p me | 查看我的积分余额 | /dt p add <玩家名> <量> | 增加积分 | /dt p set <玩家名> <量> | 设置积分 | /dt p view <玩家名> | 查看某玩家的积分 |
3.积分商城
输入/dt s打开,首先看到的是各商品的基本信息(图标和名字)
点进去后可以查看更详细的信息,如价格、附魔、伤害、护甲、数量等等

① 截图-商品详细信息面板上半部分

② 截图-商品详细信息面板下半部分

注:你购买到的物品总数量=物品本身数量*你输入的购买份数
③ 截图-购买成功

4.积分商城的相关操作 指令 | 用途 | /dt s add <价格> | 上架一个商品 | /dt s remove <序号> | 下架一个商品 | /dt s des <序号> <内容> | 为一个已上架的商品添加备注(支持&,下同) | /dt s bc <序号> <内容> | 为一个已上架的商品设置购买后广播的全服公告(可用{player}代表购买者) | /dt s rdes <序号> | 删除某商品的备注 | /dt s rbc <序号> | 删除某商品的公告 |
PS:这里的序号都是从0开始,如移除商城中的第6个商品则要输入/dt s remove 5
#11 精力值系统
1.简介
玩家每开一局比赛都要消耗一些精力值,精力值不够的话就不能再开比赛了。然后精力值会随着时间恢复,同时精力值不能无限增加,有上限的,这些东西在config.yml中都能更改。为何我要专门开设这样的功能呢,原因是插件早期版本的用户反馈很多玩家刷分,一开局就输入认输指令让对方白嫖积分,半小时内就可以攒上百积分去买东西,这很显然破坏了游戏的平衡,所以我做了这个功能,当然如果你希望玩家能打个痛快的话,也可以在config.yml中关闭这个功能
截图-精力值不足时的提示

2.相关指令
指令 | 用途 | /dt e me | 查看我的精力值 | /dt e add <玩家名> <值> | 增加精力值 | /dt e set <玩家名> <值> | 设置精力值 |
小贴士:至于增加精力值这条指令,你可以充分利用它,可以有很多想法,比如说把这条指令绑定在物品身上,就可以做一些体力丸这类东西,吃了恢复单挑精力值。当然你可以有别的想法,尽情发挥你的脑洞。
#12 竞技场教程(进阶篇)
1.简介
学完本节,你会发现竞技场的更多使用功能,以下一一讲解
2.设置观战点
输入/dt a sw <竞技场编辑名>在脚下的地方设置观战点并启用观战功能;输入/dt a rw <竞技场编辑名>取消观战点并关闭观战功能
设置观战点后,玩家就可以来这个竞技场观战了,在某竞技场的比赛开始后,玩家可以输入/dt watch <竞技场编辑名>前往观战。假如玩家不知道那个竞技场开赛了,可以输入/dt ainfo查看正在比赛的竞技场,一目了然。 当然,在观战的过程中观战玩家是无法伤害或干扰比赛玩家的,但还是建议最好把观战点用玻璃围起来
3.强制开赛&停赛
指令 | 用途 | /dt game <竞技场编辑名> <玩家1> <玩家2> | 强制开始一场比赛 | /dt stop <竞技场编辑名> | 强制结束一场比赛 |
4.比赛世界白名单(选设)
如果你不希望所有世界都可以单挑,那么你可以设置一个世界白名单,玩家要处于这些白名单世界才能使用匹配/邀请等用于开始比赛的功能
Enable代表是否启用本功能,Worlds即世界列表
5.设置比赛的开放时间段(选设)
使用了这个功能,你就可以限制玩家使用单挑的时间段了。这个功能有什么用呢?作者我考虑到了一些中小型服务器的需求,玩家在线的时间段不是很集中,也就是说经常会出现匹配找不到人的情况,于是我就做了这个功能,你可以把允许比赛的时间段设置在玩家在线的高峰期,比如说19:30-21:00(这个是个例子,因服而异),让玩家有充分的准备去战斗
Searching代表允许使用全服匹配的时间段,可以设置多个;Invite代表允许使用邀请赛的时间段,同样可以设置多个。注意格式一定要对。若你不想限制时间段,删除即可
- Timetable:
- Searching:
- - 0:00-23:55
复制代码
6.物品限制
如果你不想玩家们带某种物品进入赛场,可以使用本功能,本功能可以通过检测物品的材质或者lore来判定该物品是否为禁止物品。可以在config.yml中直接配置
Id即物品的基岩版id,比如说钻石剑是276,这个在百度一般都能查到 Lore即物品的描述,只要某物品有你配置文件中添加的任意一行Lore,则会被视为违禁品 - Game:
- Start:
- ItemLimit:
- Id:
- - "23333:0"
- Lore:
- - '&aTest lore'
复制代码
7.修改连胜系统的最低广播场数
某玩家的连胜场数只有大于某个值才能全服提示“某某某在赛场上获得了xx连胜”,同样在config.yml中
- Game:
- Finish:
- BroadcastWinningStreakTimes: 3
复制代码
8.更改竞技场创建工具的材质
默认竞技场创建工具是木棍,但为了防止与领地插件等冲突,你可以自由更改,同样在config.yml中
- Game:
- ArenaCreating:
- CreatingToolMaterial: STICK
复制代码
9.竞技场指令(超实用、但也可不设置)
这是一个很实用的功能。玩家进入竞技场后,可以设置其进入竞技场时执行的指令,比如说你添加一条:给予玩家20秒的速度4级效果的指令。那么玩家在进入竞技场后就会获得20秒的速度4级。当然你也可以设置多条指令。
注意:
- 你设置的指令是在倒计时后执行
- 指令内容不需要在前面价格"/"
- 指令内容中的空格用"_"代替(即下划线符号),玩家名可用"{player}"代替("{}"是大括号)
① 添加要执行的指令
/dt a commands add <竞技场编辑名> <身份> <指令内容>
注:身份应该填入player或op或console,分别对应玩家身份执行、管理员身份执行和后台身份执行。特别提醒一下,当玩家需要执行一个自身没权限的指令时推荐使用后台身份执行而不是管理员身份
上面示例对应的指令为
/dt a commands add test(这里是竞技场编辑名) console effect_{player}_speed_20_3

② 查看已添加的指令列表
/dt a commands add <竞技场编辑名> <身份> <指令内容>

③ 实际效果
在倒计时结束后,玩家获得了20秒的速度3级效果

④ 更多帮助请直接输入/dt a commands查看
#13 多语言系统
1.简介
作者已制作了以下语言文件(在jar中已预置,格式为txt)
语言文件名 | 语言 | zh_CN | 简体中文 | zh_TW | 繁體中文 | en(译制中,即将发布) | 英语(译制中,即将发布) |
2.切换语言
① 更改自己的语言环境(玩家)
在游戏中输入/dt changelang <语言文件名>即可更换自己看到的提示语的语言,如/dt changelang zh_TW可以用于切换为繁体中文 输入/dt changelang可以查看服务器已加载的语言文件 ② 更改服务器的默认语言环境(配置文件) 打开config.yml,找到Lang这一项,把它改成语言文件名即可设置其为默认语言,不用带拓展名,比如说文件名叫zh_CN.txt,那直接在Lang:输入zh_CN就可以了,不需要写后面的.txt。设置为默认语言后,新玩家一进服务器看到的就是默认语言的提示语
3.自定义语言文件
当然,假如你有别的需要,你可以自己做一份语言文件
打开plugins/Dantiao/Languages这个文件夹,创建一个xxx.txt就可以了,xxx随便写,切记:里面的提示语所在行的顺序必须严格对照jar里面的DefaultLang.txt的顺序,不能错。
4.添加自定义符号
考虑到有些编辑yml的软件不能显示一些很特殊但很好康的符号,所以弄了这功能
在symbol.yml文件中,冒号前填写标识,冒号后填写转码后的符号文字 '[v]': "\u2714"
上面的例子用符号✔为例,添加完后你就可以在语言文件中用[v]代替这个符号了,即方便表达,又可以避免一些yml编辑软件无法显示特殊符号的问题
5.注意事项
语言文件请遵守一则提示语一行的原则,否则可能会出现一些奇奇怪怪的bug
#14 MySQL数据库储存
1.简介
你可以用MySQL储存数据,且不同的功能模块可以选择不同的储存方式(数据库储存、本地yml文件储存)
Function代表功能模块,其中 Area: 是否使用数据库储存竞技场位置、大厅位置位置的数据 Blacklist: 是否使用数据库储存黑名单的数据 Dan: 是否使用数据库储存玩家的段位经验数据 LanguageFile: 是否使用数据库储存玩家的所选用的语言文件的数据 Point: 是否使用数据库储存玩家的单挑积分数据 PointShop: 是否使用数据库储存积分商城的商品数据 Record: 是否使用数据库储存玩家的战斗记录以及全服的胜场数排行榜、KD值排行榜数据
2.迁移数据
本插件提供了一条指令:/dt tf <模块>
这条指令只能在后台输入,可将数据从yml拷贝到数据库中,中途可能会有一些卡顿,等待几分钟后,重启服务器即可生效
感谢 @Jonjs_Dada 配合我完成了不少的测试任务
|