本帖最后由 新科 于 2021-5-2 17:25 编辑
复制代码
复制代码

BetterAt 3.0!
(我也不知道一个@插件是怎么更新到v3的)
(我也不知道一个@插件是怎么更新到v3的)
更好的@插件
这是一个支持差不多全版本、异步、自定义强、具有更加强大功能的@插件。
你可以@玩家、#世界、$OP玩家/$特定语言玩家/$特定游戏模式玩家... 以及更多!
你可以通过/noat切换免打扰,可以设置普通玩家@冷却时间,设置@花费金钱,
同时,你还可以根据一个或多个查询条件对部分玩家进行定向私信。
几乎所有插件的字段、@的音效都可以进行自定义!
(支—持—自—动—补—全—)
# 如何使用
所有的@都需要通过空格分隔出来,比如 “大哥 @creeper 你家被苦力怕炸了” 或者单纯地 “@creeper”
BetterAt 支持多种形式的@,你可以@玩家、@世界、通过查询条件@玩家。
我们把它分为三种查询方式,你分别可以通过 @玩家 #世界 $条件=目标的值 来调用它们。
不懂?看看下面的使用栗子:
哦对了,也支持使用 @all 或者 @全体 来艾特全体玩家。(需要权限at.atall)
你可以通过配置文件中的 cooldown 来配置玩家的@冷却。拥有at.bypasscd权限的玩家可以绕过冷却。
所有拥有 at.atable(默认所有人拥有) 权限的玩家都可以这样at玩家。很简单对不对?
和@差不多,你只需要把@换成井号#就可以了。
所有拥有 at.queryworld(默认OP拥有) 的玩家都可以这样at所有在某一个世界的玩家。
和@差不多,你只需要把@换成美元符号$就可以了。
这是一个比较复杂的查询,语法是:$你要匹配的类别=你想要匹配的值。
比如 $gm=1 的意思就是艾特所有gamemode(游戏模式)为1(创造)的玩家。
如果你想要艾特所有不是某个值的玩家,也可以说是 else,那么在值前加个英文半角的“!” 这么写:$gm=!1 艾特所有游戏模式不是创造的玩家。
所有拥有 at.query(默认OP) 权限的玩家都可以使用高级匹配艾特玩家。
这个查询支持的类别和所对应的值如下表:
| 功能 | 类别 | 可用的值 | 例子 |
| 游戏模式 | gm | 0(生存),1(创造),2(冒险),3(旁观,可用于1.8及以上) | $gm=1 |
| 玩家血量 | heart | 整数, 是你能看到的红心数的两倍,比如满血就是20 | $heart=20 |
| 客户端语言 | locale | 语言,比如 zh_cn 是中文, en_us 是英语(美国) | $locale=zh_cn |
| 是否是OP | isop | boolean,也就是true是“是OP”,false是“不是OP” | $isop=true |
| 拥有权限 | perm | 权限,如at.queryall | $perm=at.querycmd |
鉴于我比较菜的表达能力, 如果你需要更多帮助请回帖 TAT
# 可以怎么玩?
#world_nether 地狱即将刷新请玩家尽快离开
$perm=my.vip VIP玩家请注意,服务器将取消飞行权限
$isop=true OP们过来修一下这个BetterAt的bug
$locale=!zh_cn Hello and welcome to the server!
/notice locale=!zh_cn This is a private message to all non-Chinese players!
# 命令
/noat
切换免打扰模式。
权限: betterat.nodisturb
/notice <查询>,<查询>,... <消息> (别名:/at)
对匹配某个或多个查询(以半角英文逗号分隔)的玩家统一发送私信。
比如 /notice isop=true 全体OP玩家注意!就是发送给全体OP私信,在true前加一个!就是发送给全体非OP玩家。
/notice isop=true,perm=at.querycmd 这条私信将发送给所有是OP的或者拥有at.querycmd权限的玩家。
权限: betterat.querycmd
/betterat [reload]
关于 betterat / 重载插件指令 betterat reload
# 权限
- betterat.atable:
- description: 允许你使用@和其它强大的查询 (如果额外权限允许)
- default: 全体拥有
- betterat.bypasscd:
- description: 允许玩家绕过@的冷却
- default: OP拥有
- betterat.queryworld:
- description: 允许玩家使用#来提到某个世界的所有玩家
- default: OP拥有
- betterat.query:
- description: 允许玩家使用$来进行高级的查询
- default: OP拥有
- betterat.atall:
- description: 允许玩家@全体成员
- default: OP拥有
- betterat.nodisturb:
- description: 允许玩家切换免打扰
- default: 全体拥有
- betterat.queryall:
- description: 允许某玩家使用所有查询而不必受单个权限限制
- default: OP拥有
- betterat.querycmd:
- description: 允许某玩家使用查询@命令
- default: OP拥有
- betterat.bypasscost:
- description: AT免付费
- default: OP拥有
- betterat.reload:
- description: 可以重载插件
- default: OP拥有
# 配置文件
* 颜色字符为&&,两个&哦。
- # DO NOT modify this line! 请勿修改此行
- conf-version: 300
- settings:
- # @ 时提醒的音效, 需要 Sound 枚举, 默认经验升级音效
- # https://bukkit.windit.net/javadoc/org/bukkit/Sound.html
- # playsound: ""
- # 设置是否在收到@提醒时大标题提示
- enable-title: false
- # 设置是否在收到@提醒时小标题提示
- enable-subtitle: true
- # 设置是否在收到@提醒时聊天栏提示
- enable-chat: true
- # 设置 AT 的冷却, 毫秒计
- enable-cd: true
- cd-time: 1000
- # 是否启用 AT 要钱
- vault:
- enable: false
- cost: 1.00
- messages:
- title:
- noticed: "&&b有人@你"
- subtitle: "&&b%playername% 提到了你"
- chat:
- # noticed: "&&b%playerdisplayname% 提到了你"
- # %playerdisplayname% 是玩家的显示名称,即包含前缀/后缀/颜色等的名称。
- # %playername% 是玩家的ID。
- noticed: "&&b%playername% 提到了你!"
- switchat-disable: "&&c您已关闭所有@提醒!"
- switchat-enable: "&&a您已开启@提醒!"
- nopermission: "&&4你没有权限这么做!"
- console-unable: "&&c控制台不~能~这~么~做~哦~"
- cost-failed: "&&c你没有足够的金钱!"
- query-count: "&&7你@到了&&6%count%&&7位玩家."
- no-query: "&&c包含无效的查询条件!"
- failed-execute: "&&4@出错啦! 查询语法不正确, 也许是个Bug: %error%"
- error-invaild-gamemode: "无效的游戏模式"
- error-typeerror: "类型不正确"
- error-invaild: "查询语句无效"
- # insufficient-argument: "&&cInsufficient argument. Usage: &&6%usage-en%"
- # %usage-en% 是英文版的命令格式.
- insufficient-argument: "&&c参数太少啦! 语法: &&6%usage-zh%"
- # %playerdisplayname% 是玩家的显示名称,CONSOLE也就是服务器后台不支持这个选项,将自动转换回 playername。
- # %playername% 是玩家的ID。
- notice-msg: "&&b%playername% &&b对你说: &&r&&7%message%"
- not-available-query: "&&c你所使用的版本不支持这个条件!"
- denied-query: "&&c你无法使用此项查询!"
- reloading: "&&c正在重载 BetterAt..."
- reloaded: "&&a重载 BetterAt 成功!"
# 最后
由Web跳槽的我无论是在插件还是Java开发方面都是个新手,
可能会出现各种很傻的 bug 和错误。如果你发现插件有报错,可以把报错和问题出现你在干什么一起发送给我,我会积极修复的。
我没有做任何混淆,类名也是显而易见的,这对大佬们来说就已经是开源了吧233
哦对了我忘记放下载链接了
感谢使用!
本插件所用所有代码均为原创,不存在借用/抄袭等行为
大佬们——评个分吧——
呃呃呃呃呃呃鹅鹅鹅呃呃呃
插件很强大,楼主加油!
插件很实用,爱了爱了
很好的插件搂主加油!!!
提示滚peko咋整呢???

唯爱她° 发表于 2020-3-15 23:05
提示滚peko咋整呢???
刷新一下应该就好了,如果还不行麻烦说一下下载的是哪个版本的
这个聊天不错
MCBBS有你更精彩
@對方
結果對方顯示的是"自己的ID+提到了你"
結果對方顯示的是"自己的ID+提到了你"
david890504 发表于 2020-3-16 04:07
@對方
結果對方顯示的是"自己的ID+提到了你"
已经修复了,感谢反馈
我來了,哈哈
楼主加油!
好插件!服务器可以用得上!
为什么没人评论!为什么没人评分!(打破僵局)支持作者
正想着要不要折腾一下@插件就无意间看到了楼主的帖子,感觉挺不错的,感谢分享顺带冒昧的提点意见。
①.Title条显示支持两行显示,例子如图:
②.把聊天信息显示和Title条信息显示设置为可单独关闭,也就是可以选择只开Title提示或者聊天信息提示,也可以选择两者都可以
③.加个时间变量,可以选择显示@的时间,最好是那种只有多少点的而不是年月日之类的,太长了。
④.加入配置允许自主决定是否启用某一项功能: @玩家、#世界、$OP玩家/$特定语言玩家/$特定游戏模式玩家...
①.Title条显示支持两行显示,例子如图:

②.把聊天信息显示和Title条信息显示设置为可单独关闭,也就是可以选择只开Title提示或者聊天信息提示,也可以选择两者都可以
③.加个时间变量,可以选择显示@的时间,最好是那种只有多少点的而不是年月日之类的,太长了。
④.加入配置允许自主决定是否启用某一项功能: @玩家、#世界、$OP玩家/$特定语言玩家/$特定游戏模式玩家...