Azitate
本帖最后由 Azitate 于 2019-12-10 15:33 编辑

交互指令
|前言|

交互指令允许你创建交互后执行指令的方块或实体

|用法|

  • 在游戏中输入/cmi ic new [交互ID],如/cmi ic new healer,输入后聊天框会出现以下内容
  • 第一个 + 号表示鼠标所指的方块,第二个 + 号代表鼠标所指的实体
  • 现在,将鼠标对准你要设置的方块或实体后,摁下聊天栏对应的 + 号来添加
  • 随后点击第二个 + 号后的 !号来查看和编辑指令
  • 添加命令时,在聊天框中无需输入 / 号,只需输入指令内容即可
  • 可用变量[PlayerName]来表示与他交互的玩家,输入后摁下回车来确认添加指令
  • 添加完成后你可以尝试与方块/实体交互来测试自己预期中的效果
  • 你可以根据要求自由的创建多条指令.还可以使用特殊指令格式
  • 交互式命令可以设置为公共模式,只要玩家拥有 cmi.interactivesign 权限节点
  • 即可在牌子第一行写上[ic:[交互ID]]来自动将牌子添加到该交互ID下的方块列表中
  • 添加后即可在指定交互ID的编辑器中编辑这个牌子
  • 为了"本地化"指令运行 !asconsole,比如PVP倒计时时
  • 必须定义世界范围,以便让服务器"知道"指令运行的位置
  • 以下为示例:(作者的WIKI中的示例好像没了...我就采用了@z1224748848的示例文本)
  1. pvp:
  2.   Location:
  3.   - ==: org.bukkit.Location
  4.     world: world
  5.       x: -1204.0
  6.       y: 90.0
  7.       z: 1120.0
  8.       pitch: 0.0
  9.       yaw: 0.0
  10.     Commands:
  11.     - asConsole! cmi counter start c:world:-1204:90:1120 t:5 -f r:100 msg:PvP_Start!
  12.   SignLines:
  13.   - pvp
  14.   - ' '
  15.   - ' '
  16.   - ' '
  17.   Public: false
复制代码

Azitate
本帖最后由 Azitate 于 2019-12-10 15:40 编辑

BossBar血条消息
|示例|


  1. /cmi bossbarmsg all Server shutting down in [autoTimeLeft]! -cmd:"stop" -sec:-60 -c:red
复制代码

|用法介绍|


  • 给指定玩家或全体玩家发送一条BossBar消息,默认显示3秒
  1. /cmi bossbarmsg [玩家名/all] 你好啊!
复制代码

  • 发送一条指定了持续时间的BossBar消息(下方例子为持续5秒后消失)(参数为-t:[秒数])
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -t:5
复制代码

  • 发送一条指定颜色的BossBar消息(下方例子为红色)(参数为-c:[颜色])
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -c:red
复制代码

  • 发送一条指定分割数的BossBar消息(下方例子为6格)(参数为-s:[分割数])
  • 我这么描述有人可能不明白...我直接上图吧,输入6就是把一条BossBar分成6份
  • 分割数只能填: 1、6、10、12、20

  1. /cmi bossbarmsg [玩家名/all] 你好啊! -s:6
复制代码

  • 设定BossBar的名称
  • 举个例子,当你输入了以下指令并使BossBar的名称为myBar
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -n:myBar
复制代码
  1. /cmi bossbarmsg [玩家名/all] 怎么了? -n:myBar
复制代码
  • 按原本的情况来说,如果你不添加-n参数,那么你的屏幕上方会出现如下图片的情况
  • 如果你添加了-n参数,当你输入指令发送最上方"你好啊"的BossBar消息之后
  • 然后再输入上方了"怎么了"的BossBar消息之,原本的"你好啊"会被"怎么了"代替而不是创建新的一行
  • (说的好麻烦....再不懂的话可以查看站内原WIKI)
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -n:BossBar名称
复制代码

  • 发送一条指定进度量的BossBar消息(下方例子为填充23%)(参数为-p:[进度比])
  • 注:下方的进度比可以使用变量代替,比如-p:%server_max_players%/%server_online%
  • 这种方法,大的数值一定要在前面,小的数值要在后面
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -p:100/23
复制代码
  • 当输入以下内容,进度条将逐步提高进度量,若为设置初始进度量,则从0开始
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -p:+1
复制代码
  • 当输入以下内容时,进度条将从100%开始逐步减少进度量
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -p:-1
复制代码
  • 当进度条从0增加到100或从100降至0,BossBar将会在-t参数决定的时间结束后消失

  • 发送一条进度条BossBar消息且当进度条降至0时执行指定(参数为-cmd:[指令,用;分割多个指令])
  • 指令支持特殊指令格式
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -cmd:"msg [玩家名] 嘿;;cmi heal [玩家名]"
复制代码

  • 设置BossBar的自动更新间隔时间(参数为-a:[tick值,20tick为1秒])
  1. /cmi bossbarmsg [玩家名/all] 你好啊! -a:20
复制代码

  • 除了消息文本本身外,所有变量都是可选选项,可以组合使用任何变量来获得最佳的期望效果
  1. /cmi bossbarmsg [玩家名/all] -cancel:testbar
复制代码

  • 实用例子:
  • /cmi bossbarmsg all -a:1 无人机将在 [autoTimeLeft]秒后抵达! -t:2 -p:1 -cmd:"msg [playerName] &2你已被治疗!;;cmi heal [玩家名] -s" -n:test -c:red
  • 上方的例子的意思为,BossBar进度条每tick自动+1%,每秒就是增加20%,直到到达100%
  • 且BossBar显示的内容为:"医疗援助将在[自动更新]秒后抵达"
  • 等进度条到达100%时会给所有在线玩家执行治疗指令并发送"你已被治疗"这条消息
  • BossBar将会在2秒后消失
  • 若您需要准确的进度量则需要在后面加上 -sec:[进度值] 这个参数
  • 进度值为正数时,则代表进度量从0到达这个数值后才会执行指令
  • 进度值为负值,则代表从这个数值到0后才会执行指令,负值通常用于关服BossBar提醒


Azitate
本帖最后由 Azitate 于 2019-12-10 16:37 编辑

传送点
|指令|

  • /cmi setwarp [传送点名称] (true/false) (hand) (slot)
  • 指令使用权限 - cmi.command.setwarp

  • /cmi warp 查看服务器所有传送点
  • 指令使用权限 - cmi.command.warp

|用法|

  • 站在你要设置传送点的位置输入/cmi setwarp test 即可创建名为test的传送点
  • 输入/cmi editwarp test即可打开test的传送点编辑界面(下图)

  • 创建传送点后,必须要有对应的cmi.command.warp.[传送点]权限才能使用它
  • 在本示例中,使用传送点所需要的权限节点为cmi.command.warp.test
  1. /cmi setwarp test true
复制代码
  • 设置手上的物品作为/warp界面中该传送点的显示图标
  1. /cmi setwarp test hand
复制代码
  • 设置传送点显示在/warp界面中的哪个格子位置上(1-54),下方例子为第13格
  1. /cmi setwarp test 13
复制代码
  • 同时创建传送点并设置传送点的图标和显示在哪个格子上(一个指令完成上面的所有操作)
  1. /cmi setwarp test true hand 13
复制代码


|附加|

  • 若想把其他玩家传送到某传送点,你需要cmi.command.warp.others权限
  • 可在配置文件中设置黑名单物品功能
  • 你可以将一个传送点设置为主城
  • 你可以将一个传送点设置为预热选项的条件
  • 可以使用/cmi removewarp (传送点)删除传送点,你需要cmi.command.removewarp权限
  • 你可以在warps文件中更改/设置传送点的配置

|编辑器功能|
  • 设置传送点在/warp界面中的按钮材质且可传送至该传送点
  • - 所需权限 - cmi.command.warp.[传送点]
  • 设置传送点在/warp界面中的按钮材质但不可传送至该传送点
  • - 所需权限 - cmi.command.warp.[传送点]
  • 设置是否需要拥有cmi.command.warp.[传送点]权限节点才能使用这个传送点
  • 设置玩家没有cmi.command.warp.[传送点]权限节点时,是否在/warp界面中显示这个传送点
  • 设置在/warp界面中,传送点按钮是否显示这个传送点的位置描述(世界名、XYZ坐标)
  • 设置这个传送点按钮在/warp界面中的哪个位置上显示
  • 设置传送点按钮在/warp第几页中显示,有利于传送点分组
  • 设置传送点位置为你当前所在的位置上



Azitate
本帖最后由 Azitate 于 2019-12-10 17:23 编辑

重生设置
|指令|

  • /cmi setspawn (玩家名) (true/false) (-g:[权限组]) (-rng:[范围]) (-w:世界名) - 设置出生点
  • 指令使用权限 - cmi.command.setspawn

  • /cmi spawn - 传送至主城
  • 指令使用权限 - cmi.command.spawn

|参数介绍|

  • (true/false)
  • 介绍: 当设置为true时,该点将作为玩家死亡时的重生点
  1. /cmi setspawn true
复制代码

  • (-g:[权限组])
  • 介绍: 当设置为true时,添加此参数来设置指定权限组玩家的重生点
  • 并需要给予相关的权限节点:
  • cmi.spawngroup.[组名]
  • cmi.respawngroup.[组名](决定了玩家死亡后重生的组,若未设置该权限,则重生至主重生点)
  1. /cmi setspawn true -g:Moderator
复制代码

  • (-rng:[范围])
  • 介绍: 当玩家传送到重生点时的随机范围,避免大量的玩家重叠在一个位置上
  1. /cmi setspawn true -g:Moderator -rng:5
复制代码

  • (-w:世界名)
  • 介绍: 设置指定世界的重生点位置,玩家在对应的世界中死亡时会传送到该重生点
  1. /cmi setspawn true -rng:5 -w:world,world_nether
复制代码

|附加|

  • 现在拥有cmi.autorespawn权限的玩家死亡后会立即自动复活不会看到死亡屏幕
  • 拥有cmi.command.spawn.others权限的玩家可让其他玩家返回重生点
  • 在Config中配置重生的物品黑名单,玩家背包有黑名单中的物品时阻止他传送
  • 拥有cmi.teleport.bypassblacklist权限可无视黑名单的限制传送
  • 你可以自定义每个世界的重生优先级在Config中的ReSpawn-Specific选项中
  • 可用优先级选项:spawn(重生点)/bedLocation(床位置)/homeLocation(家位置)/worldSpawn(当前世界重生点)
  • 可以使用/cmi setfirstspawn (玩家名) 来设置玩家首次进服的重生点



Azitate
本帖最后由 Azitate 于 2020-5-9 21:12 编辑

玩家数据计数器
|用法|

  • /cmi usermeta [玩家名] [add/remove/clear/list/increment] (关键词) (数值) (-s)
  • 使用此指令编辑玩家的特殊数据,并可在变量%cmi_user_meta_[关键词]%上显示具体数据
  • 可更改的范围涉及玩家的统计数据到死亡计数器等等

|例子|

  • 该示例给玩家创建一个死亡计数器
  • 输入/cmi usermeta [玩家名] add deaths 0 -s
  • add表示我们要给玩家添加一个数据计数器
  • deaths代表计数器的关键词,它可以是任何名称
  • 0代表初始值
  • -s代表玩家不会收到指令执行成功的提示消息
  • 现在,我们可以使用变量%cmi_user_meta_deaths%来查看到数据显示为0
  • 毕竟我们希望玩家死亡时这个数值会发生改变,所以我们需要办法来改变这个数值
  • 现在我们打开eventCommands.yml并找到playerDeath选项
  • 在playerDeath选项下面添加指令/cmi usermeta [playerName] increment deaths +1 -s
  • 这样,当玩家死亡时,他的死亡计数器的数值就会+1,加上-s的作用是不会发送添加数值后的提示消息给玩家
  • 你也可以设置为-1或其他任何数字,之后你再查看%cmi_user_meta_deaths%变量
  • 变量就会变成1而不是先前的0,再死一次就是2,以此类推



Azitate
本帖最后由 Azitate 于 2019-12-10 19:24 编辑

指令简写
|前言|

CMI提供了一种全新的方法,让你输入任意一条指令来执行一条或多条指令的功能
指令简写支持特殊指令格式


|示例|

  • /cmi aliaseditor new [简写]-[指令]
  • 如上方动态图所示,我们将/cmi heal简写为/h需要输入以下的指令
  • /cmi aliaseditor new h-cmi heal [playerName] $1,其中[PlayerName]是被执行玩家的名称
  • $1表示简写指令后的任何额外变量都写在这里
  • 如/h Azitate 10指令将对应 /cmi heal Azitate 10
  • 也可输入/cmi aliaseditor使用游戏内的编辑器来添加/删除/更改指令简写


  • 使用一个指令运行两个指令的写法如下
  1. - fromConsole! moneycost:20#?! cmi heal [playerName] -s
  2. - fromConsole! msg [playerName] !&2你刚刚被神治疗了!
复制代码
  • 运行后收取玩家20金币治疗玩家并发送一条提示消息
  • 若玩家金币不足则不会发送第二条消息,具体写法可参考特殊指令格式

  • 在指令简写中加入指令延迟写法如下
  1. – fromConsole! cmi launch [playerName]
  2. – delay! 3
  3. – fromConsole! cmi launch [playerName]
复制代码
  • 玩家执行后会从他看的方向发射出去,间隔三秒后再次被发射出去一次



Azitate
本帖最后由 Azitate 于 2019-12-10 19:57 编辑

绑定命令
|前言|

任何物品都可以绑定一个或多个指令,并通过与物品交互来执行绑定的指令

|参数|

  • 可使用/cmi attachcommand指令自定义物品被删除前可使用的最大次数
  • 下方例子表示物品使用5次后被删除(参数为!limiteduse:[次数]!)
  1. /cmi attachcommand !limiteduse:5!
复制代码

  • 可使用/cmi attachcommand !cc![指令] [玩家名]来让玩家执行控制台指令
  • 下方例子表示在后台执行/cmi fly给玩家,可使用[PlayerName]作为玩家名变量(参数为!cc!)

  1. <b><font size="3" color="#000000">/cmi attachcommand !cc!cmi fly [playerName]</font></b>
复制代码

|示例+其他参数|

  • /cmi attachcommand !limiteduse:3!;;!cc!cmi fly [playerName] true
  • 表示:开启玩家的飞行模式,交互三次后物品消失


  • /cmi attachcommand !limiteduse:3!;;!cc!cmi tfly [playerName] 60
  • 表示:开启玩家的临时飞行模式,交互三次后物品消失


  • /cmi attachcommand !limiteduse:3!;;!cc!cmi heal [playerName]
  • 表示:治疗玩家三次后物品消失


  • 如果你将物品堆叠起来后给他们加入了指令,那么使用三次后会先消失一个而不是全部消失
  • 比如创建了64个治疗药丸,每个药丸可用两次,使用两次后药丸会消失一个剩下63个


  • /cmi attachcommand !left!cmi heal;;!right!cmi feed
  • 表示:左键使用治疗玩家,右键使用恢复玩家饥饿值


  • /cmi attachcommand cmi launch [interactedPlayer] a:45
  • 表示:玩家交互时将玩家发射出去


  • 如果你想执行指令时不收到任何提示信息,则需要添加特定参数(参数为:!silent!)
  • /cmi attachcommand !left!!silent!cmi heal;;!right!!silent!cmi feed
  • 表示:治疗玩家/恢复玩家饥饿值不会发送任何提示信息


  • /cmi attachcommand !cooldown:60!;;!cc!cmi heal [playerName]
  • 允许玩家每隔60秒可以使用该物品来治疗自己(冷却参数为:!cooldown:[秒]!)


  • /cmi attachcommand !consume!;;!cc!cmi me [playerName] 大伙儿好!
  • 表示:玩家吃掉食物来执行命令(消耗品类参数为:!consume!)该参数仅适用于可食用物品
  • 使用此参数时不能有!limiteduse:[次数]!参数的存才



Azitate
本帖最后由 Azitate 于 2020-3-17 09:02 编辑

指令预热
|前言|

所有指令都可使用指令预热功能来制定执行指令前需等待的时间
这对防止PVP时,处于劣势的玩家使用tp指令逃跑非常有用




|用法|

  • 在Config文件的WarmUps参数中编辑指令的预热时间
  1. WarmUps:
  2.   Enabled: true
  3.   InformOnNoMove: true
  4.   List:
  5.   - cmi tp :5:false
  6.   - cmi back:3:true
  7.   - cmi warp :3:false
  8.   - cmi home :3:false
复制代码
  • 举个例子
  1. cmi warp :3:false
复制代码
  • cmi warp是指需要预热的指令,其中包括它的子指令
  • 3是指执行指令所需要的预热等待时间(单位:秒)
  • false表示玩家在预热期间是否可以移动,它们可以转动视角但不能移动
  • 当玩家拥有cmi.command.[指令名].warmupbypass权限时可无视指令预热的等待时间
  • 可附加预热时的粒子特效,如:  例子特效需在Config的Particles选项中设置
  1. cmi warp :7:false:GlyphHead
复制代码
  • 作者给出的其他例子
  1. WarmUps:
  2.   Enabled: true
  3.   InformOnNoMove: true
  4.   List:
  5.   - tp:7:false
  6.   - back:7:true
  7.   - cmi spawn:7:false
  8.   - cmi home :7:false
  9.   - spawn:7:false
  10.   - cmi home :7:false
  11.   - cmi warp :7:false:GlyphHead
  12.   - cmi warp spawn:7:false:GlyphHead
  13.   - rtp:7:false:GlyphHead
复制代码


Azitate
本帖最后由 Azitate 于 2020-3-17 09:04 编辑

自定配方
|用法|

  • 输入/cmi customrecipe打开配方界面
  • 所需权限:cmi.command.customrecipe

  • 点击下方三个按钮的第一个绿色羊毛开始创建配方
  • 创建途中若关闭GUI则导致物品丢失
  • 你需要在下方的九个格子中放置好你要设置的物品
  • 可自定义摆放的位置

  • 如下图例子所示

  • 创建完成后,点击左下角的绿色羊毛保存配方

  • 完成此操作后你的自定义配方应该已生效并显示在配方GUI中
  • 若创建无序配方则不需要按照你规定的顺序摆放物品
  • 并尝试在工作台中测试效果
  • 对于自定义熔炉配方
  • 如上请输入/cmi customrecipe打开配方界面
  • 然后点击下方的熔炉按钮

  • 然后进入以下界面
  • 左右两个空格子分别代表(1:熔炼什么东西)(2:熔炼后得到什么物品)

  • 创建完成后如下

  • 确认创建完成后点击左下方的羊毛按钮保存


Azitate
本帖最后由 Azitate 于 2019-12-11 10:39 编辑

定时任务
|前言|

  • schedule.yml文件用于在特定时间段或特定间断时间后执行你设置的指令
  • 该功能可用于在特定时间发送一条公告或执行一些预设任务
  • 例如自动重启服务器或满足特定条件时执行指令等等
  • 支持与CMI的功能配合,和对PlaceHolderAPI的变量支持

|参数|

  • Enabled: (true/false)
  • 是否启用该定时任务,只有启用后你设置的其他参数才可正常工作
  • 输入/cmi schedule [定时任务ID] 可强制执行一个定时任务,即使它被禁用也可正常执行

  • 执行时间可分为两种
  • ①:特定时间间隔后执行(秒为单位)
  • ②:特定时间
  • Delay: (数字) - 表示执行一次后下一次执行该定时任务要等待的时间(单位:秒)
  • PerformOn: - 表示在特定时间执行,可用时间格式
  • Month(月)Day(日)Hour(时)Minute(分)Second(秒)
  • 所有格式均使用数字且为24小时格式,例子如下
  1. #时间设置
  2.    PerformOn:
  3.    #指定ID(这个ID随便写)
  4.      FirstTimeFrame:
  5.        #执行的时间,早上4点
  6.        Hour: 4
  7.    #指定ID(这个ID随便写)  
  8.      SecondTimeFrame:
  9.        #执行的时间,晚上10点半
  10.        Hour: 22
  11.        Minute: 30
复制代码

  • Repeat: (true/false) 若设置为false则表示该定时任务只执行一次
  • 若设置为true则表示按你设置的时间段内每天重复执行

  • MinPlayers: (数量) 执行该定时任务所需要的最小玩家数
  • 如果在线玩家数小于这个数量则该定时任务不会执行

  • MaxPlayers: (数量) 执行该定时任务的最大玩家限制
  • 如果在线玩家超过这个数量则定时任务不会执行

  • FeedBack: (true/false) 若设置为false
  • 如果没有指定的玩家数来执行定时任务时不会向后台发送提示消息

  • Commands: (指令) 定时任务所运行的指令
  • 该参数支持特殊指令格式

  • delay! (数字) 执行下一行执行的等待时间(单位:秒)

|可用玩家变量|

  • [randomPlayer] - 随机一位在线玩家的名称
  • 拥有 cmi.scheduler.exclude 权限的玩家不会被算入定时任务的随机玩家列表中
  • 也就是拥有权限的玩家,不会被随机到
  • 例子:cmi give [randomPlayer] diamond %rand/1-5% 给随机的一位玩家1-5个钻石

  • [allPlayers] - 所有在线玩家
  • 例子:cmi heal [allPlayers] 治疗所有在线玩家


Azitate
本帖最后由 Azitate 于 2019-12-11 11:27 编辑

动态牌子
|前言|

  • 该功能可根据你的设置来让告示牌动态刷新
  • 它可以为看到它的人显示特定的内容(根据每个人不同的变量数值如下图)
  • 或向所有人展示默认内容(常规牌子内容)


|用法|

  • 在下面的例子中,我们将教你如何创建牌子,使玩家手持物品的价值体现在牌子上
  • 要创建一个动态牌子,首先你要做的是在地面上放置一个牌子,内容不重要,空白的也可以

  • 接下来,对准牌子,输入编辑指令,如/cmi dsign new didly(didly是ID)
  • 输入后你会发现牌子周围出现粒子效果
  • 这表示着粒子范围内的玩家可以看到动态牌子的内容
  • 这样,离牌子较远的玩家不会看到内容,以节省服务器资源

  • 输入完毕后,你会发现聊天栏出现如下所示的内容

  • 然后我们点击 [+] 输入变量%cmi_iteminhand_realname%
  • 然后继续点击 [+] 输入变量%cmi_iteminhand_amount%
  • 最后点击 [+] 输入内容&7价值: %cmi_iteminhand_worth%
  • 以上变量为CMI的变量,分别用于显示玩家手中物品名称、数量、价值
  • 输入完毕后聊天栏和牌子上应显示如下内容

  • 默认情况下,牌子内容每5秒刷新一次,但这对于我们想要达到的效果,时间有点过长
  • 此时,点击上方的<Open gui>即可打开GUI界面设置
  • 找到修改刷新间隔的按钮来变更为1秒后关闭GUI

  • 至此,该牌子已创建完毕,它将自动更新显示为每个人手中物品名称、数量、价值

|其他|

  • 你可以将牌子更改为非私人模式
  • 这意味着不会只为一名玩家显示内容(指多个玩家同时在范围内时只有鼠标对准它的玩家能看见)
  • 而是每个人都可以看到自己对应的信息
  • 如果你想为玩家显示常规内容(如服务器的在线人数),禁用私人模式则是一个很好的选择

  • 你可以设置自动更新牌子的范围,使范围更大或更小
  • 以避免额外消耗服务器性能,但如果你的性能足够好,也可保持现状,但多一种选择总比没有好



Azitate
本帖最后由 Azitate 于 2019-12-11 11:45 编辑

KILL ALL
|前言|

  • /cmi killall 指令给服务器管理者提供了一种以自定义条件清除服务器中已加载实体的方法
  • 通常情况下,拥有自定义名称的实体不会被清除
  • 船或矿车里的实体不会被清除
  • 可指定清除范围或仅清除附近范围内的实体

|参数|


  • -monsters 清除所有怪物类实体,如僵尸、骷髅凋灵等
  • -pets 清除所有可驯服的实体,如马、狼等
  • -npc 清除包含元数据(metadata)的实体,通常情况下是由插件Citizens产生的NPC实体
  • -animals 清除所有动物类实体,如牛、羊、猪等
  • -ambient 如蝙蝠等实体
  • -named 拥有自定义名称的实体
  • [mobType] 清除指定类型的实体
  • -f 清除以上所有类型实体monsters, pets, npc, golems, animals, ambient, vehicles
  • -lightning 在被清除的实体位置上召唤闪电
  • -list 列出周围所有实体类型包括他们的名称及数量

|示例|

  • /cmi killall 清除所有怪物
  • /cmi killall 60 清除周围60格的怪物
  • /cmi killall zombie 清除所有僵尸实体
  • /cmi killall zombie skeleton 清除所有僵尸和骷髅实体
  • /cmi killall -list 列出周围所有实体
  • /cmi killall -monsters -lightning 清除所有怪物并在他们的位置上降下闪电



Azitate
本帖最后由 Azitate 于 2019-12-11 12:08 编辑

TAB 列表
|介绍|

  • 支持多行内容
  • 异步刷新内容,减少服务器性能开支
  • 支持PlaceHolderAPI变量
  • 支持CMI的通用变量
  • 自定义tab的页眉和页脚
  • 自定义刷新间隔(支持特定间隔自动刷新内容)或针对特定事件刷新内容(玩家加入服务器刷新)
  • 自定义玩家名称格式
  • 隐身的玩家不会计入在tablist中
  • 根据权限组显示自定义tablist内容
  • 禁用tablist的分组功能节省资源
  • 可创建无数个分组
  • 通过给予玩家cmi.tablist.[组ID]权限来让玩家看到不同格式的tablist
  • 如cmi.tablist.1,玩家若拥有多个tablist组权限,则数字越大显示优先级越高
  • 设置tablist刷新间隔尽量往高设置,最好不要小于5或者设置为-1和仅通过特定事件刷新

  • 若想创建动态的页眉和页脚,请按如下格式设置
  1. Header:
  2. ‘1’:
  3. – ‘&f————————————‘
  4. – ‘&7Online &f%server_online%&7/&f%server_max_players%’
  5. – ‘&f————————————‘
  6. ‘2’:
  7. – ‘&7————————————‘
  8. – ‘&7Online &f%server_online%&7/&f%server_max_players%’
  9. – ‘&7————————————‘
  10. ‘3’:
  11. – ‘&8————————————‘
  12. – ‘&7Online &f%server_online%&7/&f%server_max_players%’
  13. – ‘&8————————————‘
复制代码

Azitate
本帖最后由 Azitate 于 2019-12-11 12:22 编辑

不死图腾
|介绍|

  • 在Minecraft1.11时加入了不死图腾功能,让玩家手持不死图腾来避免一次死亡
  • 但这功能太鸡肋了,你根本不知道自己什么时候会死
  • 而使用CMI的高级图腾之后,不死图腾成为了一个真正有用的功能而不是一个花哨的噱头

|功能|

  • 以下功能都在Config中自行设置
  • 无论你是否手持不死图腾,在你死亡时都会自动使用它
  • 不死图腾冷却,为防止使用大量不死图腾来无限复活,管理者可设置使用不死图腾的冷却时间
  • 你可以将图腾设置为一种消耗品,玩家可以手持不死图腾右键来使用
  • 使用后在10秒内(可设置时间)死亡将自动复活在原地
  • 不死图腾使用后会立即被消耗,即使玩家在规定时间内没有死亡也不会返还不死图腾


Azitate
本帖最后由 Azitate 于 2019-12-15 09:40 编辑

飞行能量
|前言|

飞行能量是另一种飞行模式,是的,虽然我们已有了tfly飞行模式,但那只是限制了飞行时间
而飞行能量为您提供了一种更加有趣、强大的飞行模式

通常情况下,该功能是禁用的,因为插件必须额外检查玩家的移动状态
如果你对这个功能不感兴趣,请保持禁用,以避免一些不必要的检查

玩家可以使用金币、经验来购买飞行能量(未来将添加更多)
通常情况下玩家可以购买1000点飞行能量,这意味着玩家可以飞行1000个方块
若玩家飞行中一直停在一个位置上,则每秒消耗1点飞行能量,以避免一些特殊情况

为防止玩家飞行时在高处掉落不会受到任何伤害,就像飞行模式从高处落下时不会受伤
为避免这种情况,插件提供了一些方法来,玩家可能会受到下方两种或其中一种方式的处罚

  • 第一种情况:扣除玩家摔落高度x2的飞行能量
  • 如从7格摔下会扣除(7-3)x2=8点,因为只有在三格高摔下才会受到伤害,你可以自行配置
  • 第二种情况:玩家将受到他实际应受到的伤害,就像没有飞行模式一样
  • 通常情况下,这仅适用于玩家从超高处跳下时触发,并不会在突然关闭飞行模式之后落下触发
  • 默认情况下,即使你从200格高的地方跳下,你并不会死掉而是保留1颗心的生命,可自行配置
有一个内置的GUI可供玩家补充飞行能量,只需输入/recharge即可补充飞行能量准备出发!
默认情况下.1点经验值可兑换1点飞行能量,当然金币也一样,你可以在配置文件中自行配置
飞行时会有一个漂亮的BossBar来显示玩家的飞行能量
显示的信息包括剩余飞行能量、上次检查中损失的能量/获得的能量以及最大飞行能量
BossBar会随着剩余能量百分比来变色
  • >50% - 绿色
  • >30% - 黄色
  • <30% - 红色
如有需要,你可以输入
  • /cmi flightcharge (add/take/set/show/expcharge/moneycharge/recharge) (玩家名) (数量)
来更改玩家的飞行能量,如果只是简单的补充飞行能量只需输入/recharge
要检查剩余的飞行能量,需输入简写指令/fcharge
拥有cmi.command.flightcharge.admin权限的玩家可以自由使用上述指令来更改飞行能量
如果玩家在飞行途中用尽了飞行能量,他将被传送至当前位置的地面以避免意外发生




Azitate
本帖最后由 Azitate 于 2019-12-15 12:30 编辑

容器扫描
|前言|

容器扫描功能允许服务器管理员搜索整个地图上特定的物品,且同时能扫描到容器内的物品
如果你正在寻找OP武器或者被盗的物品,则可以使用该功能来查找


|可检查容器列表|

  • 箱子
  • 陷阱箱
  • 潜影盒
  • 漏斗
  • 盔甲架
  • 展示框
  • 熔炉
  • 掉落物
  • 酿造台
  • 驴箱
  • 漏斗矿车
  • 运输矿车

|用法|

  • 若搜索发现了你要搜索的东西则自动删除它
  • 扫描完成后,你可以点击聊天栏中搜索到的位置进行传送或点击(编辑)按钮来编辑(需在config启用)
  • 为了减轻扫描时对服务器的负担,扫描速度将根据服务器TPS(在Config中设置阀值)自动调整
  • 扫描15000X15000的范围大约需要45分钟,启动内存大约需要6GB
  • 该功能仅适用于紧急情况,若没有必要,尽量不要使用它
  • 你可以随时使用/scan pause来暂停,输入/scan continue继续,或/scan stop来停止

|参数|

  • id [id:data] - 识别特定物品以及它的子值
  • q [最小数量] - 特定物品的最小数量值,如搜索最少63个钻石块而玩家只有10个则不会被搜索到
  • r [区块范围] - 扫描的区块范围,若使用 g 则扫描全图
  • n [物品名] - 扫描特定名称的物品,空格应使用_(下划线)来代替,如multi_word_name
  • l [物品描述] - 扫描特定描述的物品, 空格应使用_(下划线)来代替,如multi_word_lore
  • h - 扫描你手上的物品
  • e [附魔] - 搜索特定附魔的物品
  • elvl [附魔等级] - 需要高于或等于指定附魔等级的物品
  • oversize - 过高堆叠数量的物品如64个雪球
  • purge - 删除搜索到的物品,出于安全考虑,请在config中启用该功能才能使用该参数

|例子|

  • /scan id 52 r 30 - 搜索你附近30个区块内的刷怪笼
  • /scan id diamond_block r g q 32 - 搜索全地图的钻石块,搜索到的每个堆叠数至少32块
  • /scan id 276 r 30 n power_sword e sharpness elvl 10 - 搜索周围30区块内锋利10且名为power_sword的钻石剑

Azitate
本帖最后由 Azitate 于 2020-2-28 12:02 编辑

全服搜索
|用法|

  • /search
  • 该功能与容器扫描不同,只搜索玩家背包的数据和其他模式的状态情况

|可搜索的参数|


  • 物品ID
  • 物品名称
  • 物品Lore描述
  • 物品附魔等级
  • 药水的效果等级
  • 玩家的游戏模式
  • 玩家的飞行模式
  • 玩家的上帝模式
  • 可选择是否删除搜索到的物品


Azitate
本帖最后由 Azitate 于 2020-2-28 12:03 编辑

方块电梯
|用法|

你可以很容易地使用牌子来创建CMI的电梯
只需在方块上放置牌子并输入你自己设定的内容
默认情况下,你需要在牌子上输入以下内容


接下来,在电梯的上方或下方放置一个方块并放置一个牌子输入和另外一个相同的内容即可完成创建
创建后你就可以在在两个或多个方块之间自由地上下左右移动
右键牌子可使你传送到上方的电梯位置,Shift+右键牌子传送到下方的电梯方块
玩家需拥有cmi.elevator.create权限才能创建电梯且需要拥有cmi.elevator.use来使用它
除此之外,你可以在牌子的第二行输入
(默认值,可在Config中更改)来设置牌子为静态
这意味着玩家将传送至电梯牌子前而不是保持玩家的X、Z坐标位置

Azitate
本帖最后由 Azitate 于 2019-12-15 15:29 编辑

盔甲架编辑
|示例|




|可编辑选项|

  • 简单的GUI界面编辑
  • 更改副手持有物品
  • 旋转盔甲架底座
  • 更改头部朝向
  • 在一定范围内移动盔甲架,使盔甲架放置更为紧凑
  • 更改双腿和双手的朝向
  • 开启/关闭底座
  • 更改盔甲架大小
  • 开启/关闭盔甲架显隐
  • 开启/关闭盔甲架重力
  • 显示/隐藏盔甲架的手
  • 显示/隐藏名称
  • 启用/禁用盔甲架发光
  • 开启/关闭无敌模式
  • 开启/关闭是否可交互
以上皆可在盔甲佳编辑器中编辑


|编辑器节点权限|

  • 共有17个权限节点,对应了17个操作
  • cmi.command.armorstand.updateitems
  • cmi.command.armorstand.plate
  • cmi.command.armorstand.size
  • cmi.command.armorstand.visible
  • cmi.command.armorstand.arms
  • cmi.command.armorstand.gravity
  • cmi.command.armorstand.glow
  • cmi.command.armorstand.invulnerable
  • cmi.command.armorstand.name
  • cmi.command.armorstand.interactable
  • cmi.command.armorstand.head
  • cmi.command.armorstand.body
  • cmi.command.armorstand.leftArm
  • cmi.command.armorstand.rightArm
  • cmi.command.armorstand.leftLeg
  • cmi.command.armorstand.rightLeg
  • cmi.command.armorstand.pos
  • 基本权限节点一如既往的是cmi.command.armorstand

|用法|

你有两种方式打开盔甲架编辑器
  • 鼠标对准盔甲架输入/cmi armorstand
  • 鼠标对准盔甲架Shift+右键打开
如果你想在编辑盔甲架的同时查看它
请将视角移动到一边并输入/cmi armorstand last来编辑你上一个编辑的盔甲架
出于安全考虑,你不能把盔甲架移动到没有建造权限的地方
你不能编辑其他人正在编辑中的盔甲架

Azitate
本帖最后由 Azitate 于 2019-12-22 14:32 编辑

粒子特效
|用法|

  • /cmi panimation {variableExpresion}
  • 一些CMI功能使用的粒子效果(如:/heal的治疗粒子效果)可在Config中更改
  • 每种粒子特效设置需用一行且没有空格
  • 如需要更加复杂的效果可在其中加入多个变量参数

|参数|

  • effect:[粒子名] - 粒子名称 - 可简写effect为ef
  • center:[玩家名]/[World],[x],[y],[z] - 粒子中心位置 - center可简写为ct - 玩家名和坐标必须填,玩家名可用变量表示
  • radius:[距离] - 粒子半径 - radius可简写为r
  • fixed - 固定粒子位置而不需要跟随玩家移动
  • radiuschange:[距离] - 半径变化 - radiuschange可简写为rc
  • duration:[时间] - 粒子的持续时间 - duration可简写为dur - 单位:秒
  • maxradius:[距离] - 粒子圆的最大半径,超出此范围则不显示 - maxradius可简写为mr
  • offset:[x],[y],[z] - 粒子自粒子中心的偏移值 - offset可简写为off
  • move:[x],[y],[z]/[玩家名(,[速度])] - 粒子自粒子中心的移动速度
  • maxmovedistance:[距离] - 粒子自粒子中心传播的最大距离 - maxmovedistance可简写为maxd和mmdist
  • rotating - 粒子自粒子中心旋转 - rotating可简写为twist
  • particles:[数量] - 粒子数量 - particles可简写为part
  • pitch:[角度/玩家名] - 粒子的角度
  • yaw:[偏移值/玩家名] - 粒子的偏移值
  • pitchchange:[度] - 根据粒子数量更改粒子的角度 - pitchchang可简写为pitchc
  • yawchange:[度] - 根据粒子数量更改粒子的偏移值 - yawchange可简写为yawc
  • followdirection - 粒子的偏移值和角度将根据玩家的视角而移动 - followdirection可简写为fdir
  • color - 设置红石粒子的RGB颜色值 - color可简写为c
  • target:[玩家名] - 粒子将跟随玩家- target可简写为tr

|示例|

  • 图片过多只展示一个作为例子
  • circle;effect:reddust;dur:5;pitchc:5;part:10;offset:0,1,0;radius:1;yawc:5;color:rs;target:[playerName]



Azitate
本帖最后由 Azitate 于 2020-3-17 09:06 编辑

定制头颅
|前言|

  • CMI提供了该系统当玩家击杀怪物时掉落怪物的头颅
  • 自定义头颅请在customHeads.yml文件中编辑
  • 如下方示例中,羊有5%的概率掉落头颅,而苦力怕只有1%的概率掉落
  1.   creeper:
  2.     DropChance: 1.0
  3.   sheep:
  4.     DropChance: 5.0
复制代码
  • 除此之外,你还可以设置当玩家获得一个头颅后,降低下一次掉落的概率
  • 如下方,击杀羊获得头颅的概率为5%,概率降低50%
  • 当玩家获得一个后,概率变为2.5,获得第二个变为1.25以此类推
  1.   sheep:
  2.     DropChance: 5.0
  3.     LowerWithEachDrop: 50.0
复制代码
  • 你可以根据需求创建无限个头颅,但最好保持一定的数量,要添加新的头颅,只需要在Heads:下添加材质路径
  • 头颅材质可在找到https://minecraft-heads.com/里找到
  1. - 100:Default:Nzk1M2I2YzY4NDQ4ZTdlNmI2YmY4ZmIyNzNkNzIwM2FjZDhlMWJlMTllODE0ODFlYWQ1MWY0NWRlNTlhOCJ9fX0=
复制代码
  • 添加新的头颅需要在材质路径前填写上掉落概率
  • 你还可以添加参数来设定掉落头颅的名称
  1.   - 100:&2自定义头颅:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZ
复制代码
  • 除此之外,你可以添加额外的参数来设置掉落头颅的条件
  1. creeper:
  2.     DropChance: 2.0
  3.     LowerWithEachDrop: 50.0
  4.     Heads:
  5.     - 100:c-unpowered:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp
  6.     - 100:c-powered:eyJ0ZXh0dXJlcyI6eyJTS0lO
复制代码
  • 上方例子表示了苦力怕和闪电苦力怕掉落不同的头颅


|掉落参数|

  • Tamed - 只有被驯服的狼才会掉落头颅
  • Untamed - 只有没被驯服的狼才会掉落头颅
  • Baby - 只有婴儿阶段的实体才会掉落头颅(不适用于史莱姆类型)
  • Adult - 只有成年阶段的实体才会掉落头颅(不适用于爬行者)
  • Angry - 只有愤怒中的狼才会掉落头颅
  • Pasive - 只有被动模式的狼才会掉落头颅
  • Red_cat - 只有红色的豹猫才会掉落头颅
  • Siamese_cat - 只有暹罗猫才会掉落头颅
  • Wild_ocelot - 只有野生豹猫才会掉落头颅
  • Black_cat - 只有红色的豹猫才会掉落头颅
  • White - 只有白色的羊/潜影贝等实体才会掉落头颅
  • Orange - 只有橙色的羊/潜影贝等实体才会掉落头颅
  • Magenta - 只有品红色的羊/潜影贝实体才会掉落头颅
  • Light_Blue - 只有浅蓝色的羊/潜影贝等实体才会掉落头颅
  • Yellow - 只有黄色的羊/潜影贝等实体才会掉落头颅
  • Lime - 只有黄绿色的羊/潜影贝等实体才会掉落头颅
  • Pink - 只有粉色的羊/潜影贝等实体才会掉落头颅
  • Gray -只有灰色的羊/潜影贝等实体才会掉落头颅
  • Light_Gray - 只有浅灰色的羊/潜影贝等实体才会掉落头颅
  • Cyan - 只有青色的羊/潜影贝等实体才会掉落头颅
  • Blue - 只有蓝色的羊/潜影贝等实体才会掉落头颅
  • Brown - 只有棕色的羊/潜影贝等实体才会掉落头颅
  • Green - 只有绿色的羊/潜影贝等实体才会掉落头颅
  • Red - 只有红色的羊/潜影贝等实体才会掉落头颅
  • Black - 只有黑色的羊/潜影贝等实体才会掉落头颅
  • Rainbow - 仅适用于名称为 jeb_的羊才会掉落头颅
  • Chestnut - 只有栗色的马才会掉落头颅
  • Creamy - 只有白色的马才会掉落头颅
  • Dark_brown - 只有棕黑色的马才会掉落头颅
  • Size1 - Size10 - 只有特定大小的史莱姆才会掉落头颅
  • Powered - 只有苦力怕处于闪电苦力怕状态时才会掉落头颅
  • Unpowered - 只有未变成闪电苦力怕的苦力怕才可掉落头颅
  • Normal - 只有默认类型的村民才可掉落头颅
  • Farmer - 只有农民才可掉落头颅
  • Librarian - 只有图书管理员才可掉落头颅
  • Priest - 只有牧师才可掉落头颅
  • Blacksmith - 只有铁匠才可掉落头颅
  • Butcher - 只有屠夫才可掉落头颅
  • Nitwit - 只有傻子才可掉落头颅

|抢夺加成|

  • 当武器具有抢夺附魔时,你有更高的概率击杀怪物后掉落头颅
  • 默认情况下,只设置了三个等级(原版附魔最多3级),你可以根据需求自行添加加成
  1. LootMobBonus:
  2.   Enabled: true
  3.   Lvl1: 5.0
  4.   Lvl2: 15.0
  5.   Lvl3: 30.0
复制代码
  • 增加的掉落率是根据当前头颅掉落率而计算的
  • 如,一级的抢夺是5.0,苦力怕头掉落率为1%,那么抢夺1的剑击杀苦力怕有1.05%的概率掉落头颅




Azitate
本帖最后由 Azitate 于 2020-3-17 09:10 编辑

物品分解
|前言|


  • 使用该功能你可以将装备分解至原材料并以附魔书的形式获得物品上的附魔,尽管世界上没有免费的午餐。
  • 默认情况下,物品有8%的几率损坏,每个附魔都会额外附加2%的损坏几率.这意味着对于一个拥有5个附魔的物品损坏率会添加10%到18%.当然也可以在配置中设置一个损坏率上限,即使一个物品拥有50个附魔也可以让你得到保底奖励.物品的耐久度损耗也会使损坏率提高,一般情况下如果物品没有耐久度会添加额外且最高达到的50%损坏率
  • 分解得到的原材料同样取决于耐久度。所以如果你的物品耐久度减少了,你会得到更少的原材料.这个判定与得到原料的几率判定是独立的,比如说一个物品最高100耐久由4个原料制成,现在已经使用了50%的耐久,那么按照默认设置分解时2个原材料流失,玩家只可能会获得最多2个原材料,而这剩下的两个原材料将有25%的几率返还给玩家
  • 附魔提取远比这个复杂,所以这可能让你选择分解物品.每个附魔都会有10%的基础损坏几率,而每个附魔的最高等级将会增加10%的损坏几率,这意味着一个最高等级是5的锋利3的损坏几率是16%(10%+6%)
  • 如果第一次判定为失败,将进行获得低一等级的附魔的判定,若成功则得到低一等级的附魔书,当然如果等级为1时将结束提取.这次判定的基础损坏几率为50%且最高等级附魔附加损坏几率为5%
  • 分解操作本身需要金钱,这是为了防止玩家利用此功能来拆解一些刷怪笼获得的垃圾装备以此来刷物品的现象.基础的价格为100,并可通过setworth命令设置**用(默认5%)和setenchantworth命令设置附魔分解费用.这意味着拥有大量附魔的钻石工具分解费用更加昂贵
  • 可以通过设置黑名单来防止某些物品被分解或是设置白名单来设定可以被分解的物品的列表,这使你能更好地控制玩家能分解的物品


Azitate
本帖最后由 Azitate 于 2019-12-22 15:22 编辑

一通废话
CMI好难啊...不在游戏里面测试根本看不懂
要是该WIKI对您有帮助,好兄弟萌就稍微给点金粒人气恰吧,实在是没有办法了
顶、收藏、评分三连一哈好不好秋梨膏
在这里提供一下汉化的参考文件,里面小部分词条参考了原译者@秋风残叶
本来是想做为搬运贴发布的.....但是做到语言文本汉化的时候时间太少了做不完
此处只放出出语言文本之外的汉化注释
汉化质量一般,仅做参考使用

Azitate
本帖最后由 Azitate 于 2019-12-22 08:03 编辑

自定文本
|前言|

  • 自定义文本功能允许你向玩家展示任何你想展示的文字,文字可是简单的彩色文字,或是复杂的全息可点击文字
  • 支持PlaceHolderAPI变量的自动替换,这意味着每个玩家所看到的内容都是不一样的
  • 如果你已经在使用通过命令来设置一些自定义文本的例如Essentials的costomText功能
  • 那么这个功能可以为你提供自由度更高功能更强大的自定义文本
  • 每个命令都被分为不同的文件以使你更容易地控制你想使用的功能
  • 你可以通过简单地在聊天栏上点击来选择新一段的开始位置而不需再另数7行
  • 因此你可以随心控制一段只显示1行或是100行。
  • 自定文本可自动排版,如果你的自定文本拥有多页时文本会自动分页并提供“下一页”按钮以供翻页
  • 如果出于某种原因你不需要自动排版,你可以对每个文本单独自行禁用
  • 插件会自动以文本相同的名称定义一个新的命令以直接阅读
  • 比如说,一个“rules”文件将拥有一个“/rules”指令
  • 通过使用该指令可直接显示“rules”文件,完整命令为/cmi ctext [文件名] (页) 。
  • 你可以创建超链接。什么是超链接?那些你可以通过将指针悬停在上方来查看注释
  • 通过点击来执行指令或是得到新一段文字
  • 一个简单的例子如下
  1. <T>Text</T><H>Hover text</H><CC>cmi heal</CC><SC>Suggested text</SC>
复制代码
  • 所有这一切均可以在游戏中通过/cmi editctext指令来完成
  • 你可以创建新的文本并编辑它的内容,启用/禁用自动排版等
  • 也可以仅通过点击聊天框中一些指定的箭头来更改文字方向
  • 换句话说,你可以完全在游戏里来编辑你的文本而不需要编辑后台文件
  • 所以你服务器的管理员或是员工不需要你的后台即可创建自定文本
  • 你可以输入/cmi getbook [文件名] (玩家)来将文本转换成一本书并保留一切包括注释和超链接在内的格式
  • 如你想要创建一个显示“你好啊”的文本
  • 并在鼠标悬停在上面时显示注释“你好”被点击时恢复玩家的血量的话你需要做的是

  1. <T>你好啊</T><H>你好</H><CC>cmi heal [playerName]</CC>
复制代码
|参数|

  • <T>Text</T> - 设置显示的文本
  • <H>Hover text</H> - 设置显示的悬浮文字
  • <C>cmi heal</C> - 设置玩家点击文本后以玩家身份执行的指令(玩家权限不足将无法执行)
  • <CC>cmi heal [playerName]</CC> - 设置玩家点击文本后控制台执行的指令
  • <CCI>cmi heal [playerName]</CCI> - 与上一条相同,但可以被多次执行
  • <SC>Suggested text</SC> - 点击文本后复制一段文字到聊天栏
  • <URL>www.google.com</URL> - 点击后打开一个网页链接
  • 当你在一行中有多个RAW文本时使用<Next>来分开他们,RAW信息应永远以<T>开头

Azitate
本帖最后由 Azitate 于 2020-3-17 09:11 编辑

礼包系统
|前言|



具体GUI描述可查看站内原WIKI图片或使用本帖的汉化参考

  • 启用/禁用礼包
  • 将物品添加至礼包
  • 给礼包添加护甲装备领取后自动穿戴
  • 添加副手物品
  • 将背包中的物品克隆到礼包中
  • 带有{USERNAME} {DISPLAYNAME} {KITNAME} {WORLDNAME} {RANDOMPLAYER}等变量的物品发送至玩家手上时会在物品名或Lore中自动替换为正确的内容.
|用法|

  • /cmi kiteditor new - 使用此指令请直接跳到第五步
  • /cmi kiteditor - 使用此指令将在聊天栏中编辑礼包
  • 单击绿色的[+]来创建一个新礼包
  • 根据提示设置礼包名称
  • 设定完名称后即可编辑礼包内容
  • 在聊天框中点击你要编辑的礼包
  • 点击后弹出礼包内容GUI,不用管,点击右边的工作台按钮打开设置GUI
  • 可在设置GUI中编辑:
  • 领取的冷却间隔
  • 礼包的显示名称和描述
  • 礼包的权重及组(玩家可以使用一个礼包组中最高权重的礼包,注:CMI会自动地从用户权限中分配权重,你所需要做的是按需对用户分配权限。CMI将会自动决定哪些礼包是用户可以使用的并在权限节点中决定权重)
  • 当礼包不可用时在GUI中显示的图标
  • 使用礼包花费的经验/金币价格
  • 使用/kit指令时在GUI中显示的格子位置
  • 领取礼包时执行的指令
  • 领取该礼包的条件等
|常见问题|

  • 问:为什么我在/kit的GUI中看不到我创建的新礼包?
  • 答:请确保给予玩家领取礼包对应的权限,若已给予请确保礼包已启用

  • 问:如何打开礼包编辑器?
  • 答:/cmi kiteditor并点击你想编辑的礼包

  • 问:如何设置权重/组
  • 答:打开礼包的设置GUI
  • 点击左边的礼包组,并根据提示输入你要设置的礼包组
  • 完成此操作后,礼包将位于你设置的礼包组中
  • 要向该组添加礼包请重复上述操作
  • 而后在编辑中设置礼包的权重

|权限|


  • cmi.kit.[kitName] – 允许使用某个特定礼包
  • cmi.kit.bypass.exp – 领取礼包不需经验

  • cmi.kit.bypass.money – 领取礼包不需金币
  • cmi.kit.bypass.time – 无视礼包冷却时间



Azitate
本帖最后由 Azitate 于 2019-12-22 12:22 编辑

位阶系统
|前言|

  • 使用前请确保服务端中的spigot.yml文件中的disable-saving为true
  • 玩家的默认位阶将根据权限cmi.rank.[位阶名]来设定
  • 未启用的位阶将会忽略

|参数|

  • DisplayName - 位阶的显示名称,与上方说的权限节点中的位阶名无关
  • DefaultRank - 当未使用权限来设置玩家位阶时,将自动使用该位阶为玩家默认位阶
  • AutoRankup - 当玩家满足生阶条件时是否自动升阶
  • RankupConfirmation - 升阶时是否需要确认以防止失误操作
  • NextRanks - 下一位阶的位阶名
  • MoneyCost - 升阶的金币花费
  • ExpCost - 升阶的经验花费
  • Commands - 升阶时执行的指令
  • CommandsOnRankDown - 降阶时执行的指令
  • StatsRequirements - 升阶所需要的条件一般格式为[类型](:子类型):数量如:MonsterKills:Zombie:100

|类型|

  • 单位: 格
  • Travel - 移动距离
  • Walk - 步行距离
  • Sneak - 潜行距离
  • Sprint - 冲刺距离
  • Swim - 游泳距离
  • Fall - 掉落距离
  • Climb - 攀爬距离
  • Fly - 飞行距离
  • Dive - 在水下行走的距离
  • MinecartTravel - 使用矿车移动的距离
  • BoatTravel - 使用船移动的距离
  • PigTravel - 骑猪移动的距离
  • HorseTravel - 骑马移动的距离
  • ElytraTravel - 使用鞘翅飞行的距离

  • 单位: 秒
  • PlayTime - 玩家的总游戏时间
  • AccountAge - 从玩家第一次入服到现在的时间
  • FromLastDeath - 上一次死亡到现在的时间
  • SneakTime - 潜行的时间


  • 单位: 数量
  • GameQuit - 退出游戏的次数
  • Jump - 跳跃的次数
  • DamageDealt - 造成的总伤害
  • DamageTaken - 受到的总伤害
  • Deaths - 死亡次数
  • MobKills - 杀死怪物的数量
  • PlayerKills - 杀死玩家的数量(间接击杀不算)
  • ItemEnchanted - 附魔物品的次数
  • AnimalsBred - 繁殖动物的次数
  • FishCaught - 捕到鱼的次数
  • TalkedToVillager - 与村民对话的次数
  • TradedWithWillager - 与村民交易的次数
  • CakeSlicesEaten - 吃蛋糕的次数
  • CauldronFilled - 填充炼药锅的次数
  • CouldronUsed - 使用炼药锅的次数
  • ArmorCleaned - 清洗染色皮革装备的次数
  • BannerCleaned - 清洗旗帜的次数
  • BrewingstandInteractions - 与酿造台交互的次数
  • BeaconInteractions - 与新标交互的次数
  • CraftingTableInteractions - 与合成台交互的次数
  • FurnaceInteractions - 与熔炉交互的次数
  • DispenserInspected - 与发射器交互的次数
  • DropperInspected - 与投掷器交互的次数
  • HopperInspected - 与漏斗交互的次数
  • ChestOpen - 打开箱子的次数
  • TrappedChestTriggered - 触发陷阱箱的次数
  • EnderchestOpened - 打开末影箱的次数
  • NoteblockPlayed - 激活音符盒的次数
  • NoteblockTuned - 音符盒调音的次数
  • FlowerPotted - 把花插在花瓶上的次数
  • RecordPlayed - 播放唱片的次数
  • SleeptInBed - 在床上睡觉的次数
  • ShulkerBoxOpened - 打开潜影盒的次数
  • ItemDropped - 丢弃物品的数量,若未指定丢弃某种物品则统计所有丢弃物品
  • ItemPickups - 拾取物品的数量,若未指定拾取某种物品则统计所有拾取物品
  • BlocksMined - 破坏方块的数量,若未指定破坏某种方块则统计所有破坏的方块
  • ItemBreaks - 消耗完物品耐久的次数,若未指定某种物品则统计所有被消耗完耐久的物品
  • ItemCrafts - 合成物品的次数,若未指定合成某种物品则统计所有合成的物品
  • ItemsUsed - 使用物品的次数,如使用稿子挖掘矿石等,若未指定则统计所有物品的使用
  • MonsterKills - 杀死怪物的次数,若未指定某种怪物则统计所有击杀的怪物次数
  • KilledBy - 被怪物杀死的次数,若未指定某种怪物则统计所有被怪物击杀的次数

|默认示例|

  1. Newbie:
  2.   Enabled: true
  3.   DisplayName: "&2Newbie"
  4.   DefaultRank: true
  5.   AutoRankup: true
  6.   NextRanks:
  7.   - Branch1
  8.   - Branch2
  9. Branch1:
  10.   Enabled: true
  11.   DisplayName: "&2Branch1"
  12.   AutoRankup: true
  13.   RankupConfirmation: true
  14.   Votes: 5
  15.   PermissionRequirement:
  16.   - "cmi.command.fly:Fly"
  17.   McMMORequirement:
  18.   - "woodcutting:10"
  19.   - "power:20"
  20.   JobsRequirement:
  21.   - "miner:10"
  22.   - "totallevel:20"
  23.   ItemRequirement:
  24.   - "stone:10"
  25.   - "stone:1:20"
  26.   - "book:20"
  27.   NextRanks:
  28.   - Branch1Rank1
  29.   MoneyCost: 100
  30.   Commands:
  31.   - "broadcast! &6[playerDisplayName] &eleveled up to Branch1 rank!"
  32.   StatsRequirements:
  33.   - "PlayTime:3600"
  34.   - "travel:1000"
  35.   - "MonsterKills:zombie:10"
  36.   - "MonsterKills:slime:5"
  37.   - "MonsterKills:wolf:5"
  38.   - "AccountAge:1209600"
  39. Branch1Rank1:
  40.   Enabled: true
  41.   DisplayName: "&2Branch1Rank1"
  42.   DefaultRank: false
  43.   AutoRankup: true
  44.   RankupConfirmation: false
  45.   PermissionRequirement:
  46.   - "cmi.command.heal:Heal"
  47.   NextRanks:
  48.   - Last
  49.   MoneyCost: 300
  50.   ExpCost: 350
  51.   Commands:
  52.   - "broadcast! &6[playerDisplayName] &eleveled up to Branch1Rank1 rank!"
  53.   StatsRequirements:
  54.   - "travel:10000"
  55.   - "blocksmined:3000"
  56.   - "blocksmined:diamond_ore:30"
  57.   - "MonsterKills:1000"
  58.   - "AccountAge:1209600"
  59.   McMMORequirement:
  60.   - "taming:10"
  61.   - "unarmed:30"
  62. Branch2:
  63.   Enabled: true
  64.   DisplayName: "&2Branch2"
  65.   AutoRankup: true
  66.   RankupConfirmation: true
  67.   MoneyCost: 150
  68.   NextRanks:
  69.   - Branch2Rank1
  70.   Commands:
  71.   - "broadcast! &6[playerDisplayName] &eleveled up to Branch2 rank!"
  72.   PermissionRequirement:
  73.   - "cmi.command.tp:Teleport"
  74.   StatsRequirements:
  75.   - "PlayTime:3600"
  76.   - "travel:2000"
  77.   - "MonsterKills:zombie:15"
  78.   - "MonsterKills:slime:10"
  79. Branch2Rank1:
  80.   Enabled: true
  81.   DisplayName: "&2Branch2Rank1"
  82.   AutoRankup: true
  83.   RankupConfirmation: false
  84.   MoneyCost: 100
  85.   ExpCost: 150
  86.   NextRanks:
  87.   - Branch2Rank2
  88.   Commands:
  89.   - "broadcast! &6[playerDisplayName] &eleveled up to Branch1Rank1 rank!"
  90.   StatsRequirements:
  91.   - "PlayTime:4600"
  92.   - "Swim:1000"
  93.   - "SneakTime:180"
  94.   - "MonsterKills:100"
  95. Branch2Rank2:
  96.   Enabled: true
  97.   DisplayName: "&2Branch2Rank2"
  98.   AutoRankup: true
  99.   RankupConfirmation: false
  100.   MoneyCost: 100
  101.   ExpCost: 150
  102.   NextRanks:
  103.   - Last
  104.   Commands:
  105.   - "broadcast! &6[playerDisplayName] &eleveled up to Branch2Rank2 rank!"
  106.   StatsRequirements:
  107.   - "walk:15000"
  108.   - "HorseTravel:1000"
  109.   - "ItemsUsed:10000"
  110.   - "PlayerKills:10"
  111. Last:
  112.   Enabled: true
  113.   DisplayName: "&2Last"
  114.   AutoRankup: true
  115.   StatsRequirements:
  116.   - "PlayTime:21600"
  117.   - "walk:30000"
  118.   - "MonsterKills:1000"
  119.   - "blocksmined:30000"
  120.   Commands:
  121.   - "broadcast! &6[playerDisplayName] &eleveled up to Last rank!"
  122.   - "cmi heal [playerName]"
  123.   - "money give [playerName] 100"
复制代码

Azitate
本帖最后由 Azitate 于 2019-12-22 08:48 编辑

通用变量
|前言|

在CMI语言文本中可包含任何PlaceholderAPI变量以便在CMI消息中显示一些其他的东西
只有%cmi_ 开头的变量才可被PlaceholderAPI使用,但在大多情况下CMI的消息中也可以使用

你也可以在一个变量中插入另一个变量数值,例子如下:
  1. %cmi_equationint_{cmi_user_maxperm_cmi.command.sethome_1}+1%
  2. 首先,插件会先计算{}中的数值
  3. 如果你给玩家sethome权限数量为10,那么{}的值为10
  4. 则变量将显示的内容为10+1=11
  5. 该功能可用于一些计算变量
复制代码
|示例|

  • 自定义/非静态变量例子如下
  • %cmi_user_kitcd_[礼包名]% - 显示下次领取礼包的时间,可领取时将显示 (-)
  • %cmi_votetop_[1-10]% - 显示投票前十名玩家
  • %cmi_worth_buy_[itemIdName:data]% - 特定物品在worth文件中的购买价格
  • %cmi_worth_sell_[itemIdName:data]% - 特定物品在worth文件中的出售价格
  • %cmi_user_meta_[key]% - 自定义变量值,具体用法如下
  1. /cmi usermeta [playerName] [add/remove/clear/list/increment] (键) (值) (-s)
  2. 输入/cmi usermeta Zrips add testkey Coffee后,%cmi_user_meta_testkey%变量将显示Coffee
  3. 你可以为玩家创建无数个自定义元数据变量,但请适度
  4. Increment可用于改变数值大小,如
  5. /cmi usermeta Zrips increment counting +0.5将显示0.5
  6. 再次输入后将显示1,也可以使用负数来减少数值
  7. %cmi_user_metaint_[key]%显示的数值将根据元数值来调整为整数
复制代码
  • %cmi_jail_reason_[jailName]_[cellid]% - 当玩家被关进牢狱时填写了理由,将显示被监禁的理由,若特定牢狱/房间中有多个玩家则显示最近被关进去的玩家的监禁原因
  • %cmi_jail_time_[jailName]_[cellid]% - 显示监禁的剩余时间,若特定牢狱/房间中有多个玩家将显示最近被关进去的玩家的剩余监禁时间
  • %cmi_jail_username_[jailName]_[cellid]% - 显示指定牢狱/房间中的玩家名,若有多个玩家则显示最近被关进去的
  • (出于方便考虑,建议一人一房)
  • %cmi_user_maxperm_[corePerm]_[defaultValue]% - 显示特定权限的最大数值,具体如下:
  1. 当玩家同时拥有下方的三个权限时
  2. cmi.command.sethome.1
  3. cmi.command.sethome.3
  4. cmi.command.sethome.4
  5. %cmi_user_maxperm_cmi.command.sethome_0%将显示4
  6. 如果玩家没有上方sethome节点则显示0
  7. 如果变量的默认值高于玩家的默认值,则使用变量的默认值,如
  8. 变量为%cmi_user_maxperm_cmi.command.sethome_6%则显示6而不是4
复制代码
  • %cmi_random_[from]_[to]% - 显示from到to之间的随机值,如%cmi_random_[1]_[5]%则显示1-5之间的数值
  • 跨服BC变量如下:
  1. %cmi_bungee_total_[serverName]% - 显示该服务器最大玩家数
  2. %cmi_bungee_current_ [serverName]% - 显示当前在线玩家
  3. %cmi_bungee_motd_[serverName]% - 显示服务器的MOTD
  4. %cmi_bungee_onlinestatus_[serverName]% - 显示服务器的开启状态
复制代码
|内置变量|

  • %cmi_user_charges_left%
  • %cmi_user_charges_max%
  • %cmi_user_charges_time%
  • %cmi_user_charges_cooldown%
  • %cmi_user_display_name%
  • %cmi_user_nickname%
  • %cmi_user_name%
  • %cmi_user_cuffed%
  • %cmi_user_muted%
  • %cmi_user_inpvp%
  • %cmi_user_god%
  • %cmi_user_afk%
  • %cmi_user_afk_symbol%
  • %cmi_user_afk_msg%
  • %cmi_user_afk_for%
  • %cmi_user_afk_in%
  • %cmi_user_joinedcounter%
  • %cmi_user_banned%
  • %cmi_user_maxhomes%
  • %cmi_user_ping%
  • %cmi_user_gamemode%
  • %cmi_user_op%
  • %cmi_user_canfly%
  • %cmi_user_flying%
  • %cmi_user_homeamount%
  • %cmi_user_vanished_symbol%
  • %cmi_user_balance_formated%
  • %cmi_user_balance_formatted%
  • %cmi_user_balance%
  • %cmi_user_prefix%
  • %cmi_user_suffix%
  • %cmi_user_nameplate_prefix%
  • %cmi_user_nameplate_suffix%
  • %cmi_user_group%
  • %cmi_user_tfly%
  • %cmi_user_tfly_formated%
  • %cmi_user_tfly_formatted%
  • %cmi_user_tgod%
  • %cmi_user_tgod_formated%
  • %cmi_user_tgod_formatted%
  • %cmi_user_votecount%
  • %cmi_user_rank%
  • %cmi_user_nextranks%
  • %cmi_user_nextrankpercent%
  • %cmi_user_nextvalidranks%
  • %cmi_user_canrankup%
  • %cmi_user_country%
  • %cmi_user_country_code%
  • %cmi_user_city%
  • %cmi_user_name_colorcode%
  • %cmi_user_glow_code%
  • %cmi_user_glow_name%
  • %cmi_user_jailname%
  • %cmi_user_jailcell%
  • %cmi_user_jailtime%
  • %cmi_user_jailreason%
  • %cmi_user_bungeeserver%
  • %cmi_user_playtime_days%
  • %cmi_user_playtime_dayst%
  • %cmi_user_playtime_hours%
  • %cmi_user_playtime_hoursf%
  • %cmi_user_playtime_hourst%
  • %cmi_user_playtime_minutes%
  • %cmi_user_playtime_minutest%
  • %cmi_user_itemcount_[itemIdName(:data)]%
  • %cmi_user_maxperm_[corePerm]_[defaultValue]%
  • %cmi_equation_[equation]%
  • %cmi_equationint_[equation]%
  • %cmi_iteminhand_displayname%
  • %cmi_iteminhand_realname%
  • %cmi_iteminhand_type%
  • %cmi_iteminhand_itemdata%
  • %cmi_iteminhand_amount%
  • %cmi_iteminhand_worth%
  • %cmi_iteminhand_worth_one%
  • %cmi_schedule_nextin_[schedName]%
  • %cmi_baltop_name_[1-10]%
  • %cmi_baltop_money_[1-10]%
  • %cmi_votetop_[1-10]%
  • %cmi_worth_buy_[itemIdName(:data)]%
  • %cmi_worth_sell_[itemIdName(:data)]%
  • %cmi_bungee_total_[serverName]%
  • %cmi_bungee_current_[serverName]%
  • %cmi_bungee_motd_[serverName]%
  • %cmi_bungee_onlinestatus_[serverName]%
  • %player_world%
  • %player_x%
  • %player_y%
  • %player_z%
  • %player_biome%
  • %vault_eco_balance_formatted%
  • %server_online%
  • %server_max_players%
  • %server_unique_joins%
  • %onlineplayers_names%
  • %onlineplayers_displaynames%
  • %cmi_tps_1%
  • %cmi_tps_60%
  • %cmi_tps_300%
  • %cmi_random_player_name%
  • %cmi_random_[from]_[to]%
  • %cmi_user_rank_percent_[rankName]%
  • %cmi_user_meta_[key]%
  • %cmi_user_metaint_[key]%
  • %cmi_user_kitcd_[kitName]%
  • %cmi_jail_time_[jailName]_[cellId]%
  • %cmi_jail_username_[jailName]_[cellId]%
  • %cmi_jail_reason_[jailName]_[cellId]%
  • %server_time_[timeFormat]%

Azitate
本帖最后由 Azitate 于 2019-12-22 10:12 编辑

传送门
|前言|


该功能允许你创建自定传送门且允许玩家进入传送门执行指令该功能并支持特殊指令格式

|用法|

  • 要创建传送门,你首先需要cmi.command.portals和cmi.select权限
  • 手持木锨(默认工具)选取两点来创建传送门(如WorldEdit一样)将使用粒子特效来显示传送门两点之间的范围

  • 两点设置后输入/cmi portals new [传送门ID],如输入/cmi portals new Test1
  • 输入后你还需要设置传送门传送的目的地

  • 输入/cmi portals edit Test1来打开编辑Test1传送门的GUI界面
  • GUI的功能如下
  1. 启用/禁用传送门
  2. 重选传送门两点区域
  3. 启用/禁用粒子特效
  4. 粒子类型(36种)
  5. 粒子数量
  6. 两边减少的粒子的百分比
  7. 显示粒子特效的范围
  8. 传送到传送门的位置
  9. 传送到传送门目的地的位置
  10. 设置是否在没有有效传送位置的情况下执行指令
  11. 设置自定义传送门指令
  12. 设置传送目的地的位置
  13. 是否需要预置的权限节点
  14. 没有权限时是否显示提示
  15. 删除传送门
复制代码


  • 现在,我们尝试添加一个指令

  • 点击 + 号来添加指令,然后在聊天框中输入触发的指令,不需要在前方输入/可直接输入命令内容
  • 可使用[playerName]来作为触发指令的玩家名,输入后按下回车确认

  • 如上图所示,玩家进入传送门会处于短暂的失明状态并治疗玩家
  • 你也可以删除第一行的指令来禁用失明
  • 创建完成的传送门数据将保存在Portals.yml文件中,比起游戏编辑,我更喜欢文件编辑的方式
  1.   Test1:
  2.     Loc: 358.0:64.0:77.0:358.0:67.0:81.0
  3.     enabled: true
  4.     effect: reddust
  5.     showParticles: true
  6.     Tp:
  7.       ==: org.bukkit.Location
  8.       world: world
  9.       x: 370.6645173225757
  10.       y: 64.0
  11.       z: 79.38387030052189
  12.       pitch: 2.5499883
  13.       yaw: -268.79987
  14.     particleAmount: 20
  15.     particleHide: 0
  16.     activationRange: 16
  17.     commandsWithoutTp: false
  18.     commands:
  19.     - cmi effect [playerName] blindness 2 1 -s
  20.     - cmi heal [playerName]
复制代码
  • 注:默认情况下,创建传送门后会自动添加使玩家失明的指令
  • 你可以在config中的传送门模块设置指令格式为为Commands: []来关闭它
  1. Portals:
  2.   # Defines in milliseconds how often to check if player entered portal or not
  3.   # Bigger numbers can help slightly lower server load but small portals
  4.   CheckInterval: 300
  5.   # Defines in milliseconds how often to check if player entered portal range for particles to apear
  6.   CheckParticleInterval: 500
  7.   # Perform commands on teleport or not
  8.   PerformCommands: true
  9.   # Commands to be performed on teleport event
  10.   Commands:
  11.   - cmi effect [playerName] blindness 2 1 -s
复制代码
|附加|

  • CMI的传送门系统可供Bungeecord跨服网络工作,你可以使用传送门来跨服传送玩家
  • 那么如何使用呢?非常简单:
  • 创建传送门,打开传送门编辑GUI
  • 点击传送目的地编辑按钮,在聊天栏中会提示你设置目的地
  • 然后前往子服或同一BC跨服服务器(两个服务器必须都安装CMI)的目的地点击CMI发送的提示消息即可创建
  • 你无须设置任何东西,就这样,即可完成跨服传送门的创建
  • 同时,跨服传送也支持执行指令,如果你不想向上面说的那样创建,可直接设置传送门指令来跨服传送
  • 如果你想当玩家跨服传送时发送自定义声效,请在portal.yml文件中特定传送门的指令中填写如下内容
  1. commands:
  2. – cmi effect [playerName] blindness 2 1 -s
  3. – execute [playerName] ~ ~ ~ /playsound
复制代码
  • 声效名称会根据Minecraft版本而异
  • 你可以输入/cmi portals来查看附近所有的传送门
  • 你可以根据需求添加任意数量的指令且可使用特殊指令格式

Azitate
本帖最后由 Azitate 于 2019-12-22 09:53 编辑

在线奖励
|前言|

  • 在线奖励是CMI提供的一个系统,当玩家达到特定时间后执行指令
  • 你可以设置每X秒后执行指令或总计X秒后执行
  • 你可以设置每小时领取一次或达到6小时、24小时后可领取一次
  • 通常情况下,你可以使用/prewards来显示在线奖励列表并显示下次领取的时间
|示例|

  1. hourly1:
  2.   DisplayName: "&7Hourly reward"
  3.   AutoClaim: true
  4.   Description:
  5.   - "&2Get reward for every hour you are online"
  6.   - "&2Free heal and 20 bucks into your pocket"
  7.   PayEvery: 3600
  8.   Commands:
  9.   - asConsole! cmi heal [playerName] -s
  10.   - asConsole! cmi money give [playerName] 20
  11. daily1:
  12.   DisplayName: "&7Daily reward"
  13.   AutoClaim: true
  14.   Description:
  15.   - "&2Get reward for every 24 hours of playtime"
  16.   - "&22000 bucks into your pocket!"
  17.   PayEvery: 86400
  18.   Commands:
  19.   - asConsole! cmi money give [playerName] 2000
  20. 1hour:
  21.   DisplayName: "&fOne hour reward"
  22.   AutoClaim: false
  23.   Description:
  24.   - "&2Get reward for 1 hour you have been online"
  25.   - "&2500 bucks into your pocket!"
  26.   PayFor: 3600
  27.   Commands:
  28.   - asConsole! cmi money give [playerName] 500
  29. 6hour:
  30.   DisplayName: "&f6 hour reward"
  31.   AutoClaim: false
  32.   Description:
  33.   - "&2Get reward for 6 hour's you have been online"
  34.   - "&22 000 bucks into your pocket!"
  35.   PayFor: 21600
  36.   Commands:
  37.   - asConsole! cmi money give [playerName] 2000
  38. 12hour:
  39.   DisplayName: "&f12 hour reward"
  40.   AutoClaim: false
  41.   Description:
  42.   - "&2Get reward for 12 hour's you have been online"
  43.   - "&25 000 bucks into your pocket!"
  44.   PayFor: 43200
  45.   Commands:
  46.   - asConsole! cmi money give [playerName] 5000
  47. 24hour:
  48.   DisplayName: "&f24 hour reward"
  49.   AutoClaim: false
  50.   Description:
  51.   - "&2Get reward for 24 hour's you have been online"
  52.   - "&215 000 bucks into your pocket!"
  53.   PayFor: 86400
  54.   Commands:
  55.   - asConsole! cmi money give [playerName] 15000
  56. 7days:
  57.   DisplayName: "&f7 day reward"
  58.   AutoClaim: false
  59.   Description:
  60.   - "&2Get reward for 7 days you have been online"
  61.   - "&250 000 bucks into your pocket!"
  62.   PayFor: 604800
  63.   Commands:
  64.   - asConsole! cmi money give [playerName] 50000
  65. 30days:
  66.   DisplayName: "&f30 day reward"
  67.   AutoClaim: false
  68.   Description:
  69.   - "&2Get reward for 30 days you have been online"
  70.   - "&2500 000 bucks into your pocket!"
  71.   PayFor: 2592000
  72.   Commands:
  73.   - asConsole! cmi money give [playerName] 500000
复制代码
  • 在上方的示例中hourly1为在线奖励的标示,统称PTR(标记ID),每个PTR值不可相同
  • DisplayName - 设置在奖励列表中显示的名称,支持颜色代码
  • AutoClaim - 当时间达到时是否自动领取,如果为false,当可领取时每隔X分钟将发送消息提醒玩家,只给拥有cmi.prewards.notification权限的玩家发送提示消息
  • Description - 在奖励列表中鼠标指向特定奖励时的悬浮消息,支持颜色代码
  • PayFor - 当玩家达到指定在线时长即可领取,只能领取一次,单位(秒)
  • PayEvery - 当玩家达到指定在线时长即可领取,可重复领取,单位(秒)
  • StackRewards - 是否可累计奖励,如在线一小时的奖励,玩家在线六小时,则可累计可领取六次(默认情况下需要领取才可进入下一次奖励的冷却时间)
  • Commands - 领取后执行的指令,支持特殊指令格式

Azitate
本帖最后由 Azitate 于 2019-12-22 13:35 编辑

全息文本
|前言|


  • CMI全息图提供了以全息方式显示自定义文本内容的功能
  • 你可以创建可点击的全息图并以玩家身份或后台执行指令
  • 全息图的数据包和显示的悬浮物品皆在客户端显示,以防被其他第三方清理插件清理
  • 你可以在游戏中编辑它,添加行、删除行、文本显示的距离、重定位全息图的位置
  • 支持PlaceholderAPI变量
  • 支持多页全息图切换
  • 自定义时间间隔刷新全息图
  • 若你距全息图太远则隐藏全息图以减少对客户端的负担,并在玩家靠近时重新显示
  • 支持悬浮图标和静态图标



  • 使用指令/cmi hologram new [名称]来创建新的全息图
  • 使用指令/cmi hologram 查看附近的所有全息图,顺序将根据与你的距离排列,点击可编辑
  • 可以使用ICON:[itemName/id]:[data]来编辑悬浮图标,如ICON:Stone将显示悬浮的石头,ICON:Stone:3为闪长岩,若想设置为发光图标请添加%enchanted%,若想使用手中物品为图标则输入ICON:%iteminhand%,该功能只用于CMI7.6.0.1,Minecraft1.10+以上的版本
  • 你也可以使用该方法添加静态图标,不同的是ICON需更改为SICON
  • 你可以在全息图中添加变量来为每个玩家显示不同的内容,具体内容取决于玩家的变量数据

|创建可点击的全息图|

  • 通常情况下,你无法点击全息图,你需要在编辑GUI中启用交互
  • 然后点击GUI中的弓图标来添加点击后执行的指令
  • 你可以启用/禁用点击的粒子效果,默认启用
  • 你可以在编辑GUI中设定是否启用大按钮,大按钮使点击全息图更加简单但会使玩家无法贴近全息图

|创建多页全息图|

  • 通常情况下,所有全息图都在一页显示
  • 要添加新一页需要输入行!nextpage!
  • 输入后,玩家将只会看到输入!nextpage!之前输入的行
  • 当输入/cmi hologrampages [全息图名] (玩家名) (next/prev/[页数])则会跳转到指定页数
  • 切换只适用于特定玩家,并不会改变所有玩家看到的内容
  • 下方为示例,展示如何给名为Rule的全息图创建多个页:
  1. Line 1
  2. Line 2
  3. Line 3
  4. !nextpage!
  5. Line 4
  6. Line 5
复制代码
  • 设置完毕后,我们需要创建"下一页"的按钮,这要求你创建一个新的全息图
  • 如创建名为"rulesNextButton"的全息图,然后添加一行如"下一页"的文本
  • 然后点击该全息图的编辑GUI,启用全息图交互,然后点击弓图标来添加指令
  • 如:cmi hologrampages Rules [playerName] next
  • 到此为止,即完成了翻页全息图的设置,然后将切换页的全息图移动到主全息图对应的位置上(比较麻烦)
  • 这块翻译的不太好,大体意思是,你要创建一个多页全息图需要创建两个全息图,一个是主全息图(显示文本内容),二是翻页的全息图(如最上面图片的Next),然后通过与翻页全息图交互过后执行切换页指令来给玩家切换主全息图的页数


|点击类型|

  • !leftclick! - 左键全息图
  • !shiftleftclick! - Shift+左键全息图
  • !rightclick! - 右键全息图
  • !shiftrightclick! - Shift+右键全息图
  • 下方为示例
  1. !leftclick!cmi heal [playerName]
  2. !rightclick!cmi feed [playerName]
复制代码


Azitate
本帖最后由 Azitate 于 2019-12-22 10:31 编辑

监狱系统
|前言|

  • 插件提供了四条指令来管理监狱
  • /cmi jail [playerName] (时间) (牢狱名) (房间) (-s) (r:理由) - 监禁玩家
  1. 监禁时间未填写则使用配置中的默认值
  2. 牢狱名未填写则使用最近的牢狱
  3. 房间未填写则使用空闲房间
  4. 可选是否填写监禁理由,并显示在变量中
复制代码
  • /cmi jailedit - 管理当前所有牢狱
  • /cmi jaillist - 列出所有牢狱并显示每个牢狱的玩家数量,可点击牢狱查看详细信息
  • /cmi unjail [玩家名] - 释放被监禁的玩家

|用法|

  • 创建牢狱之前,请先尝试设置Config中的牢狱设置
  1. Jail:
  2.   # Defines in milliseconds how often to check if player leaves jail area
  3.   # Bigger numbers can help slightly lower server load
  4.   CheckInterval: 500
  5.   # Defines default jail time when time is not povided with command
  6.   DefaultTime: 300
  7.   # Chat range in blocks while player is in jail
  8.   # Set to 0 to allow talking
  9.   # set to -1 to prevent talking in general while jailed
  10.   ChatRange: 20
  11.   # When set to true jail time will decreese while player is offline
  12.   # When set to false jail time will only be counted while player is online
  13.   CountWhileOffline: false
  14.   # When set to true jail time will not decreese if player gets into afk mode while being jailed
  15.   # When set to false, time will pass normally
  16.   NoAfk: false
  17.   WhiteListedCmds:
  18.   - cmi msg
  19.   - cmi reply
复制代码
  • 根据你的喜好来设置监禁的默认时常,默认为5分钟
  • 如果你想禁止被监禁玩家发送聊天信息,聊天范围是个很有用的功能,你可以限制他的聊天信息只在几格内的玩家可看见
  • 通常情况下,如果玩家下线,他的监禁时间将不会减少,这样防止了玩家下线去做别的直到监禁结束
  • 你可以设置玩家进入AFK状态时,监禁时间是否会减少
  • 如果你希望被监禁的玩家可以使用一些其他的指令,可在最下方的白名单指令列表中添加

|创建|

  • 首先,你需要搭建一个监狱,就像这样...(举个例子而已,不用太花哨的监狱)

  • 接下来让我们使用CMI选取工具(默认为木锨)来选择监狱范围,嗯,和传送门一样有粒子特效

  • 选完后输入/cmi jailedit addjail [jailName]来创建,如/cmi jailedit addjail myJail
  • 在这之后,你将在牢狱列表中查看到已创建好的牢狱

  • 好了,让我们开始简单的部分,创建这个牢狱的房间
  • 点击聊天框中的牢狱名即可打开房间列表,然后点击下面的[+]号来设置你所在位置为房间位置

  • 如此重复上方的步骤,你想在一个牢狱中创建多少个房间都无所谓
  • 但通常情况下,房间就应该分开不是吗,毕竟你不希望被监禁的玩家撮合起来逃跑
  • 到这,你已完成了监狱的基本创建,但有一点你要注意,当玩家监禁完毕后,如果你未设置出狱点,他们仍然会被关在牢狱中
  • 所以,你需要设置一个出狱点坐标,这一步也很简单,只需要站在要设置的地方然后点击灰色的[TP]即可设置


|应用|

  • 被监禁的玩家会显示一条花哨的BossBar消息来显示他们被监禁的剩余时间

  • 如果你想让其他玩家看到被监禁玩家的信息,只有两种方法:
  • 动态牌子:(不花里胡哨的办法)首先,让我们创建动态牌子/cmi dsign new,具体方法请查看本帖相关模块
  • 然后会出现下方图片的样子

  • 然后添加相关变量
  1. %cmi_jail_time_myJail_1%
  2. %cmi_jail_username_myJail_1%
  3. %cmi_jail_reason_myJail_1%
复制代码
  • 添加完成后的牌子应该这样显示的,你可以根据喜好自行编辑刷新频率,不过对于监禁系统来说,默认刷新时间足以



  • 全息图:(花里胡哨的办法)创建一个全息图/cmi hologram new myJailCell1
  • 然后聊天框会出现如下内容:

  • 然后添加相关变量
  1. %cmi_jail_time_myJail_1%
  2. %cmi_jail_username_myJail_1%
  3. %cmi_jail_reason_myJail_1%
复制代码
  • 添加完成后的全系文本应该是这样的,注意,默认的全息图刷新时间看起来不太平滑,请将刷新间隔设置为1秒


Misaka。
wdm  daolao  nb  awsl

没有未来
大佬!!!  比那个帖子好多了细节做得很到位

mongmojun
CMI高版本是不是不能用give 给带子ID的模组物品

Azitate
mongmojun 发表于 2019-12-22 23:09
CMI高版本是不是不能用give 给带子ID的模组物品

cmi的give不支持模组物品

superher
插件确实不错

qazsedc15987
大佬666,期待楼主的下次更新

Zhusanmei2002
作者太厉害了,表示大力支持啊

lian123456
这个可以作为最新的中文版wiki了,很多功能看了这个才会用。论坛很多插件wiki都是过时了,折腾不会

梦曦苒
和不对不对不对的宝贝

8589985
腐竹福利,然而我这个单机玩家看看就好

爪爪阿梓_
超强服务器管理系统    这个翻译我咋觉得有点古怪为啥

Azitate
plotworld 发表于 2019-12-30 13:58
超强服务器管理系统    这个翻译我咋觉得有点古怪为啥

                  

爱建路婆婆
哪里下mc呀

SG玩家2
做的挺好!

中村一浪
djzjzjznznzmzmzm

青空杳然
棒啊LZ666666666666

[email protected]
666
6666666666666666

Cojie_
计分板教程搁哪呢?

Azitate
Cojie_ 发表于 2020-1-12 20:56
计分板教程搁哪呢?

忘记了....cmi没带计分板,刚开始写WIKI的时候没注意后面发现没有,忘记改了

第一页 上一页下一页 最后一页