- 积分
- 1079
- 帖子
- 主题
- 精华
贡献- 份
爱心- 心
- 钻石
- 颗
- 人气
- 点
- 下界之星
- 枚
- 最后登录
- 1970-1-1
- 注册时间
- 2022-1-16
来自:福建 | 服务端插件英文名称: | ANine-ComPlus |
---|
中文名称: | 九之令 |
---|
插件来源: | 原创 |
---|
适用服务端: | CraftBukkit Spigot Paper |其它| |
---|
插件类型: | 娱乐 综合 其他 |
---|
语言支持: | 简体中文 |
---|
适用版本: | 1.20.X 1.16.X 1.15.X 1.14.X 1.13.X 1.12 1.11 1.10 1.9 1.8 1.7.10 其他 |
---|
前置Mod|插件: | Vault[可选] PlayerPoints[可选] PlaceholderAPI[可选] |
---|
下载地址: | https://www.mcbbs.net |
---|
原帖地址: | https://www.mcbbs.net |
---|
插件Logo: | - |
---|
插件简介: | 一款支持绝大部分插件的指令插件 |
---|
本帖最后由 爱吃鱼的猫~ 于 2023-11-22 19:49 编辑
~插件介绍~
| | 功能介绍: - 模块判断执行指令 [无需复杂配置]
- 进阶模块判断执行指令 [组合判断满足你所有要求]
- 指令执行记录 [简洁明了的信息储存方便查询熊孩子]
- 多功能储存库 [一次编辑永久调用]
- 多功能随机数 [实现随机功能]
- 指令次数限制 [方便的次数限制实现限购等等不止于限购]
- 简单算法实现[+-*/]
- 更多详细介绍请下滑
能够实现: 1.点券 金币 变量 的判断并执行指令 2.单个物品或多个物品的 判断并扣除物品 执行对应指令 3.对指令的使用次数进行限制 以此来达到限购 4.判断玩家权限 是否符号并执行指令 5.音效 抽奖 延时 等等等等 总结只要需要执行指令的地方都可以使用本插件的功能(~不需要在等待插件作者更新拉~)
|
~ 指令 — 权限 ~
| | | | /Acp [玩家] [判断模块] 执行指令于模块判断 | | /Acp Info 权限:ANine.ComPlus.Info
| /Acp reload 权限:ANine.ComPlus.reload
| /Acp [玩家] [模块判断] 权限:ANine.ComPlus.All
| |
~ 指令使用 ~ | | 指令基础使用方法: 模块之间的分割使用"~"子模块之间的分割使用"-"
- 基础使用:
- ▸[执行指令]加判断[点券模块]
- ▸判断点券是否大于1000,通过则执行[COM]下指令<c>
- ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[PP]>=1000
- ▸[执行指令]加判断[点券模块]与[权限模块]
- ▸判断点券是否大于1000,且拥有权限essentials.fly,通过则执行[COM]下指令<c>
- ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[PP]>=1000~[PE]<pe=>essentials.fly
- ▸[执行指令]加判断[点券模块]与[权限模块]与[空槽模块]
- ▸判断点券是否大于1000,且拥有权限essentials.fly,且背包空槽>=5 格,通过则执行[COM]下指令<c>
- ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[PP]>=1000~[PE]<pe=>essentials.fly~[IA]<air>5
- ▸[执行指令]加判断[点券模块]与[权限模块]与[空槽模块]与[概率模块]
- ▸判断点券是否大于1000,且拥有权限essentials.fly,且背包空槽>=5 格,且判断50%概率是否触发,通过则执行[COM]下指令<c>
- ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[PP]>=1000~[PE]<pe=>essentials.fly~[IA]<air>5~[PR]<pr>50
复制代码 详细的[模块判断]内容请下滑查看高级进阶用法请下滑至最下方查看存储库与随机数 |
|
~ 共用子模块 ~ | | 通用子模块: 模块 通过 指令:<c>控制台 <p>玩家 <op>管理员 <b>广播 <ca>控制台给所有人执行
模块不通过指令:<c!>控制台 <p!>玩家 <op!>管理员 <b!>广播 <ca!>控制台给所有人执行
输出消息: <m=>模块通过输出 <m!>模块不通过输出
变量标识符: <id> 使用方法: <id>测试 %ANine_Cmd_Identifier% 将显示为 测试 <id>测试|1 %ANine_Cmd_Identifier% 将显示为 测试 %ANine_Cmd_variate1% 将显示为 1
<id>测试|1|啊 %ANine_Cmd_variate1% 将显示为 1 %ANine_Cmd_variate2% 将显示为 啊 此子模块用于ui覆盖实现抽奖动画,更多用途自行发掘 [暂时仅提供三个变量 后续考虑重写该子模块]
输出消息通用内部变量: <pre> 输出前缀 [config.yml配置文件中的Message.Prefix] 所有子模块通用内部变量: [player] 玩家变量 [会自动替换为玩家名字] |
|
~ 指令模块[COM] ~ | |
[COM]模块独有子模块: <pr> 执行[COM]的概率 使用方法:<pr>50 或 <pr>10|30 两种方法略有不同 <pr>50 表示 随机获取一个随机数在0-50内视为触发 大于50为不触发
<pr>10|30 表示 随机获取一个随机数在10-30内视为触发 大于30或小于10为不触发
<pr^> 执行[COM]的概率 使用方法:<pr^>50 触发概率后阻断其余[COM]里的所有指令 [用于抽奖]
<pe=> 执行[COM]需要权限 使用方法:<pe=>essentials.fly <pe!> 执行[COM]需要没有权限 使用方法:<pe!>essentials.fly
例子:
- 单独使用[COM]:
- ▸需要权限essentials.fly才会执行指令
- ▸acp [player] [COM]<c>money give [player]100-<pe=>essentials.fly-<m=>执行成功
- ▸50%触发执行指令
- ▸acp [player] [COM]<c>money give [player]100-<pr>50-<m=>执行成功
- 配合模块使用[COM]:
- ▸需要权限essentials.fly,且判断[金币模块],通过才会执行指令
- ▸acp [player] [COM]<c>money give [player]100-<pe=>essentials.fly-<m=>执行成功~[MN]<=100-<m!>你需要金币小于 101 才能执行
- ▸判读[空槽模块]通过,50%触发执行指令
- ▸acp [player] [COM]<c>money give [player]100-<pr>50-<m=>执行成功~[IA]<air>5-<m!>你没有足够的空间请检查
- <pr^>使用:
- ▸判断指令1,没触发继续判断指令2,指令2触发阻断指令3与指令4 [用于抽奖配合通用子模块<id>实现ui动画]
- ▸acp [player] [COM]<c>指令1-<pr^>10~[COM]<c>指令2-<pr^>30~[COM]<c>指令3-<pr^>50~[COM]<c>指令4-<pr^>100
复制代码 子模块的使用是灵活多变的 请灵活使用[COM]模块<m=><m!>提供独有内部变量:
使用了 <pr> <pr^> 可调用内部变量 当前概率[Prob] 需要概率[number] 如:<m!>没有触发概率 触发概率[number] 当前概率[Prob]
使用了 <pe=> 可调用内部变量 [pe=]权限 [module] 模块 如:<m!>你没有权限 [pe=] 无法执行指令 当前模块 [module]
使用了 <pe!> 可调用内部变量 [pe!]权限 [module] 模块 如:<m!>你拥有权限 [pe!] 无法执行指令 当前模块 [module]
[COM]模块下不建议使用<m!>来获取内部变量 操作不当将引发报错 如果你使用方法正确可放心使用,可在config.yml内配置<m!>的输出内容
|
|
~ 金币模块[MN] ~ | |
模块判断支持: >= <= > < 例子:(内容过长可复制至其他地方查看)
- 单独使用[MN]:
- ▸玩家金币>=100给予物品并扣除100金币
- ▸acp [player] [MN]>=100-<c>give [player] minecraft:apple 1-<c>money take [player] 100-<m=>执行成功扣除金币 [ramount] -<m!>需要金币 [ramount] 拥有金币 [lamount]
- 配合模块使用[MN]:
- ▸玩家金币>=100扣除100金币,且空槽>=1
- ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[MN]>=100-<c>money take [player] 100-<m=>执行成功扣除金币 [ramount] -<m!>需要金币 [ramount] 拥有金币 [lamount]~[IA]<air>1-<m!>背包空槽不足最少 1 格
复制代码 [MN]模块<m=><m!>提供独有内部变量:玩家金币[lamount] 需要金币[ramount] 如:<m!>需要金币 [ramount] 拥有金币 [lamount]
注意:使用此模块需要前置 [Vault] |
|
~ 点券模块[PP] ~ | |
模块判断支持: >= <= > < 例子:(内容过长可复制至其他地方查看)
- 单独使用[PP]:
- ▸玩家点券>=100给予物品并扣除100点券
- ▸acp [player] [PP]>=100-<c>give [player] minecraft:apple 1-<c>p take [player] 100-<m=>执行成功扣除点券 [ramount] -<m!>需要点券 [ramount] 拥有点券 [lamount]
- 配合模块使用[PP]:
- ▸玩家点券>=100扣除100点券,且空槽>=1
- ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[PP]>=100-<c>money take [player] 100-<m=>执行成功扣除点券 [ramount] -<m!>需要点券 [ramount] 拥有点券 [lamount]~[IA]<air>1-<m!>背包空槽不足最少 1 格
复制代码 [PP]模块<m=><m!>提供独有内部变量:玩家点券[lamount] 需要点券[ramount] 如:<m!>需要点券 [ramount] 拥有点券 [lamount]
注意:使用此模块需要前置 [PlayerPoints] |
|
~ 变量模块[API] ~ | | 模块判断支持: == != >= <= > < 例子:(内容过长可复制至其他地方查看)
单独使用[API]: ▸玩家金币>=100给予物品 ▸acp [player] [API]%xconomy_balance_value%>=100-<c>give [player] minecraft:apple 1-<c>money take [player] 100-<m=>执行成功扣除金币 [ramount] -<m!>需要金币 [ramount] 拥有金币 [lamount]
配合模块使用[API]: ▸玩家金币>=100扣除100金币,且空槽>=1 ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[API]%xconomy_balance_value%>=100-<c>money take [player] 100-<m=>执行成功扣除金币 [ramount] -<m!>需要金币 [ramount] 拥有金币 [lamount]~[IA]<air>1-<m!>背包空槽不足最少 1 格
▸玩家名字==ANine,且空槽>=1(可用于判断战令等其他自定义变量) ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[API]%player_name%==ANine-<m=>执行成功 -<m!>执行失败你不是ANine~[IA]<air>1-<m!>背包空槽不足最少 1 格
[API]模块<m=><m!>提供独有内部变量: 玩家变量[lamount] 需要变量[ramount] 如:<m!>需要变量 [ramount] 拥有变量 [lamount]
注意:使用此模块需要前置 [PlaceholderAPI] |
|
~ 权限模块[PE] ~ | |
[PE]模块独有子模块: <pe=> <pe!>
<pe=> 玩家需要拥有权限 <pe!> 玩家需要没有权限
单独使用[PE]: ▸玩家拥有权限ANine.xxx.xxx给予物品 ▸acp [player] [PE]<pe=>ANine.xxx.xxx-<c>give [player] minecraft:apple 1-<m=>执行成功给予物品 -<m!>需要权限 [pe]
配合使用查看上面内容不在一一展示
[PE]模块<m=><m!>提供独有内部变量: 权限[pe] 如:<m!>你拥有权限 [pe] 无法领取 |
|
~ 物品模块[ITEM] ~
| |
[ITEM]模块独有子模块: <name> <mate> <lore>
<name> 匹配背包物品的名字
<mate> 匹配背包物品的材质
<lore> 匹配背包物品的介绍(一行完整的介绍)
使用方法: [ITEM]<name>下界|3|true 下界 = 物品的名字 3 = 需要的数量 true = 是否扣除物品 (true 扣除 | false 不扣除)
单独使用[ITEM]: ▸玩家拥有物品名字为 下界 的物品 数量 3 个 并且扣除物品 给予物品 ▸acp [player] [ITEM]<name>下界|3|true-<c>give [player] minecraft:apple 1-<m=>执行成功给予物品 -<m!>需要下界数量[amount]拥有[pamount]
配合使用查看上面内容不在一一展示 [ITEM]模块<m=><m!>提供独有内部变量: 背包需要数量[amount] 拥有数量 [pamount] 如:<m!>你没有足够的 下界 需要 [amount] 拥有 [pamount] |
|
~ 空槽模块[IA] ~
| |
[IA]模块独有子模块: <air>
<air> 需要背包拥有足够的空间
上面很多例子都有暂时不在介绍
[IA]模块<m=><m!>提供独有内部变量: 背包需要空间[amount] 拥有空间 [pamount] 如:<m!>你没有足够空间 需要 [amount] 拥有 [pamount] |
|
~ 概率模块[PR] ~
| |
[PR]模块独有子模块: <pr>
<pr>10 只有10%的概率触发此战令执行 <pr>10-20 只有10%的概率触发此战令执行(上面[COM]模块有介绍两者的不同)
单独使用[PR]: ▸50%触发概率给予物品 ▸acp [player] [PR]<pr>50-<c>give [player] minecraft:apple 1-<m=>成功触发概率给予物品-<m!>没有触发概率
上面很多例子都有暂时不在介绍
[PR]模块<m=><m!>提供独有内部变量: 当前概率[Prob] 需要概率[number]
如:<m!>你没有触发概率 当前概率[Prob] 需要小于概率[number] (一般概率不会显示这些把都是触发或者没触发) |
|
~ 延时模块[DE] ~
| |
[DE]模块独有子模块: <com=> <com!> <mod>
<com=>5 延时五秒执行模块通过的指令 <com!>5 延时五秒执行模块不通过的指令
<mod>5 延时五秒在进行模块判断
单独使用[DE]: ▸延时5秒给予物品 ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[DE]<mod>5 ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[DE]<com=>5
上面很多例子都有暂时不在介绍
[DE]模块<m=><m!>提供独有内部变量: 延时时间<com=> 延时时间<com!> 延时时间<mod>
如:<m=>延时 <com=> 执行指令 (使用了什么子模块就使用对应的)
解释: <mod>表示延时5秒判断[模块],期间是不知道结果的,[共享子模块]中<id>内容为空
<com>表示执行判断在延时5秒执行指令,期间是知道结果的,[共享子模块]中<id>拥有内容 |
|
~ 指令次数限制模块[RE] ~
| |
配置:restrict.yml
- Refresh:
- #编号
- vip:
- #刷新方式 "DAY"天 "WEEK"周
- format: "DAY"
- #刷新时间中午12点
- time: "00:01"
- #刷新的标识符列表
- #填写ALL表示所有
- refreshList:
- - "默认"
- vipz:
- #刷新方式 "DAY"天 "WEEK"周
- format: "WEEK"
- # "星期天, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六"
- dayTime: "星期一"
- #刷新时间中午12点
- time: "00:01"
- #刷新的标识符列表
- #填写ALL表示所有
- refreshList:
- - "ALL"
- #标识符的名字不能取 ALL 不然刷新ALL标识符会把所有的都刷新
- #指令执行次数限制
- Restrict:
- # 默认未标识符 正确使用~[RE]<re>默认-<m=>商品限购 [num] 今天还可以购买 [amount] 次-<m!>商品限购 [num] 今天还可以购买 [amount] 次
- #标识符可自定义添加 格式为: 标识符: 次数
- 默认: 1
复制代码
[RE]模块独有子模块: <re>
<re>默认 扣除玩家默认标识符1 <re>默认|3 扣除玩家默认标识符3
单独使用[RE]: ▸限购 ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[RE]<pr>默认
上面很多例子都有暂时不在介绍
[RE]模块<m=><m!>提供独有内部变量: 限购次数[re] 拥有次数[surplus] 扣除次数[deduct]
如:<m=>执行成功限购次数 [re] 拥有次数[surplus] 扣除次数[deduct] 剩余次数 ([surplus]=[deduct]) (这里剩余次数使用了+-*/算法具体下滑查看) |
|
~ 音效模块[SO] ~
| |
[SO]模块独有子模块: <s=> <s!>
<s=>音效 所有模块通过执行音效 <s!>音效 模块不通过执行音效
单独使用[SO]: ▸音效使用 ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[SO]<s=>音效-<s!>音效
上面很多例子都有暂时不在介绍
[SO]模块没有提供任何专属变量 也无法使用 共用子模块 内容 |
|
~ 信息储存模块[IF] ~
| |
[IF]模块独有子模块: <if=> <if!>
<if=>信息 所有模块通过储存信息 <if!>信息 模块不通过储存信息
使用[IF]: ▸判断[PP]模块是否符合 并执行指令 记录本次操作 ▸acp [player] [COM]<c>give [player] minecraft:apple 1~[PP]>=1000-<c>p take [player] 1000~[IF]<if=>玩家花费点券1000购买物品苹果一个-<if!>玩家尝试购买苹果 点券不足购买失败
上面很多例子都有暂时不在介绍
[IF]模块没有提供任何专属变量 也无法使用 共用子模块 内容 |
|
~龙核抽奖动画~ | |
适用原理: 适用[com]中的<pr^>进行抽奖并阻断 配合[PE]中的<com=>延时进行延时执行 配合[共用子模块]中的<id>实现物品名字与数量展示 延时期间使用龙核进行抽奖动画 效果如下:(龙核动画自行配置即可) Anine-ComPlus配置如下
单个介绍
|
|
~OP执行安全检测~ | |
#此配置文件不需要改动只零时记录使用<op>的临时玩家 #如果此配置文件长久存在玩家名字请及时检查你的op列表 #如果无特殊情况建议不要使用以op执行指令 player: - "仅用作临时记录以op执行指令的玩家名字" - "下方长久存在玩家名字请检查你的op列表" - "如果无特殊情况不建议使用以op执行指令"
代码如下 
理论如果中途崩服没有删除玩家OP则玩家依旧会记录在配置列表中 开服时会检测列表并将其删除OP (可以大胆使用99%不会出现问题) |
|
~插件下载~ | | 非常感谢你能够使用 ANine-ComPlus 插件!
如果该插件有BUG或者什么更新建议,欢迎加入插件分享讨论群组:777509868 反馈给我们 如果您觉得该插件好用,请务必支持该插件进行评分,你的评分是我们更新的动力./(ㄒoㄒ)/~~ 作者:ANine 理论全版本可用 插件功能强大如果不懂得配置的可以来找我 |
|
~已知BUG~ | |
1.模块内部使用应该注意不要出现分割符"~" "-" 否则会导致无法判断 如:[API]%xxx-xxx%(出现"-"将导致判定为分割无法获取正确变量) |
|
~更新记录~ | |
1.重写模块[金币模块][点券模块][变量模块][物品模块][延时模块][背包空槽模块][权限模块][音效模块] 9.新增[共享子模块]<id><op>(op执行) 14.新增[空槽模块][IA](之前是物品模块中子模块现单独新增模块) 18.新增[部分模块]内部专属[子模块]中专属内部变量
19.修复[延时模块] BUG(玩家1延时执行,玩家2在延时内执行无延时指令依旧延时执行) 20.修复[共用子模块]中通过指令/不通过指令带"_"无法判断BUG
21.修复[物品模块](多个物品判断,第一个符合第二个不符合第一个物品依旧扣除BUG)
22修复[空槽模块]槽位判断BUG(老版本中装备栏也计算在内,装备空1格也算空格但是实际背包是满的) 23.修复老版本输出子模块<m=><m!>部分模块失效问题
25.修复[变量模块]变量为负数报错BUG(可能存在) |
|
~ 算法 ~ | |
因为 [减 -] 与分隔符冲突 因此 减 改为 = 可用算法 + = * / 使用方法 acp [player] [COM]<c>give [player] minecraft:apple (5=2)~[PP]>=(%xconomy_balance_value%+100)
下方意思:玩家拥有权限ANine.vip1则给予苹果 经验等级*1.2个,玩家拥有权限ANine.vip2则给予苹果 经验等级*1.5个, 以此类推可以无限叠加,需要注意的是如果同时拥有多个权限则会执行多次指令 acp [player] [COM]<c>give [player] minecraft:apple (%player_exp_to_level%*1.2)-<pe>ANine.vip1~ [COM]<c>give [player] minecraft:apple (%player_exp_to_level%*1.5)-<pe>ANine.vip2~ [COM]<c>give [player] minecraft:apple (%player_exp_to_level%*1.8)-<pe>ANine.vip3
|
|
~ 储存库 — 随机数 ~ | | 储存库: 调用变量{IC:标识符}
储存库的基础使用方法: {IC:标识符-1} 获取标识符中第一行内容 {IC:标识符-All} 获取标识符中所有内容
{IC:标识符-rd} 获取标识符中随机一行内容
{IC:标识符-1-[变量]:名字} 获取标识符中第一行内容且把
内容中的 [变量] 替换为 名字 例子: item.yml
- item:
- 测试1:
- - "全服广播测试"
- - "100"
- - "minecraft:apple"
- 测试2:
- - "10"
- - "100"
- - "1000"
- 测试3:
- - "<c>give [player] minecraft:apple {IC:测试2-rd}-"
- - "<c>give [player] minecraft:apple {IC:测试2-rd}"
- 测试4:
- - "<c>give [player] minecraft:apple [数量]"
- - "[MN]>=[数量]"
- - "[COM]<c>give [player] [物品] [数量]-<m=>成功获得 [物品] [数量]个~[MN]>=[金额]-<m!>你没有足够的金币,需要[金额]"
复制代码指令:
- ▸#[玩家] 执行[指令模块]<b> 进行全服广播 广播内容:全服广播测试
- ▸/acp [玩家] [COM]<b>{IC:测试1-1}
- ▸#[玩家] 判断[金币模块]金币>=100 模块通过执行[指令模块]<c>获得苹果1
- ▸/acp [玩家] [COM]<c>give [player] {IC:测试1-3} 1~[MN]>={IC:测试1-2}
- ▸#[玩家] 判断[金币模块]金币>=随机2的随机内容 模块通过执行[指令模块]<c>获得苹果随机2里的随机数量
- ▸/acp [玩家] [COM]<c>give [player] minecraft:apple {IC:测试2-rd}~[MN]>={IC:测试2-rd}
- ▸#[玩家] 判断[金币模块]金币>=随机2的随机内容 模块通过执行[指令模块]<c>获得两次苹果随机2里的随机数量
- ▸/acp [玩家] [COM]{IC:测试3-all}~[MN]>={IC:测试2-rd}
- #进阶使用
- ▸#[玩家] 判断[金币模块]金币>=1000 模块通过执行[指令模块]<c>获得苹果64
- ▸/acp [玩家] [COM]{IC:测试4-1-[数量]:64}~{IC:测试4-2-[数量]:1000}
- ▸#[玩家] 判断[金币模块]金币>=1000 模块通过执行[指令模块]<c>获得苹果10
- ▸#并且输出成功消息<m=>成功获得 minecraft:apple 10个
- ▸#模块不通过则输出<m!>你没有足够的金币,需要1000
- ▸/acp [玩家] {IC:测试4-3-[物品]:minecraft:apple-[数量]:10-[金额]:1000}
复制代码 |
随机数: 调用变量{RD:范围}{RI:范围}
{RD:100}表示从0.00-100.00随机获取一个随机数
{RD:10|100}表示从10.00-100.00随机获取一个随机数
{RI:100}表示从0-100随机获取一个随机数
{RI:10|100}表示从10-100随机获取一个随机数
- ▸#[玩家] 判断[概率模块]随机生成数0.00-50.00触发概率则执行[指令模块]
- ▸/acp [玩家] [COM]<c>give [player] minecraft:apple 1~[PR]<pr>{RD:50}
- ▸#[玩家] 判断[概率模块]随机生成数0.00-50.00触发概率则执行[指令模块]随机给予5-10个物品
- ▸/acp [玩家] [COM]<c>give [player] minecraft:apple {RI:5-10}~[PR]<pr>{RD:50}
复制代码 |
|
|
|
|
|
评分查看全部评分
|