准备
- 第一步:找到server.properties下的enable-command-block=并设置为true来允许服内使用命令
- 第二步:一般来说Bukkit/Spigot会一定程度上修改我们所使用的命令,要保证我们的命令不被干涉,打开commands.yml并把command-block-overrides:下改为如下
‘*’意思为所有
command-block-overrides:
- '*'
管理员做到的事情/命令都能使用命令技能达成。能做到MM自身配置或技能所不能做到的事情。比如,能使一个生物临时无敌或启用/禁用其AI
还可以如用于修改下时间或天气之类的任何不指定玩家、实体或地点的技能
Skills:
- command{c="time set 0"}
- command{c="weather clear"}
- command{c="gamerule doMobSpawning false"}
由于Bukkit/Spigot端的服务器有自己版本的如/time或/weather的命令,若我们使用上面例子的/time命令就会是使用Bukkit下的/time命令。因此可能会给你造成想使用原版的命令却使用了不一样的命令的麻烦
除了准备工作下的方法外,若想使用原版命令比较建议设置成如下
Skills:
- command{c="minecraft:time set 0"}
- command{c="mincraft:weather clear"}
- command{c="minecraft:tp player1 player2"}
- 等...
从X执行命令
某些命令必须依靠实体的位置来执行。例如,我们希望一个生物在生成的时候把自己捆在一个羊毛制成的空间里。但是使用以下命令是不会管用的
Skills:
- command{c="minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"}
原因是这个命令将会发送到控制台下执行,导致相对坐标不能被确定
但如果我们套上execute命令
Skills:
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"}
应该就能实现了。<mob.uuid>为"施放此技能的生物的UUID"的变量,通过这种办法,命令就不会在控制台下执行,取而代之会在此生物下执行
又或者如下这个方法,<target.uuid>为技能目标对象的UUID,例子下的目标为@self,也就是以自己为技能目标使用fill命令
Skills:
- command{c="minecraft:execute **<target.uuid>** ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"} **@self**
Skills:
- command{c="minecraft:execute **<target.uuid>** ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"} **@MobsInRadius{r=10;t=BAT}**
上面的技能为放置羊毛方块于命令激活者半径10格范围下的所有蝙蝠
更多的示例供参考,虽然下面的技能都比较随意,不过也不妨能给予你们些很好的点子吧~
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard objectives add mrjlmmw1b dummy mrjlmmw1b"}
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9] mrjlmmw1b 0"}
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9] mrjlmmw1b 1 <&lc>Inventory:[<&lc>id:minecraft:paper,tag:<&lc>display:<&lc>Lore:[0:,1:&7Can be used once for any,2:&7monorail on Jaygrounds.,3:&8Absolutely no refunds.,4:],Name:&fMonorail Ticket&r<&rc><&rc>,Damage:0s<&rc>]<&rc>"}
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9,score_donators_min=1] mrjlmmw1b 2"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:tp @a[team=!pve_ruins_1,r=50] 366.5 71 487.5 0 0"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams join pve_ruins_1 @a[r=50]"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard objectives remove pve_ruins_cur"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams remove pve_ruins_2"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams remove pve_ruins_3"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:fill 368 71 494 364 72 494 minecraft:acacia_fence 0 replace minecraft:air"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ mm m s pve_ruins_sign_arena_ready 1 world,366.5,71,493.5"}
|