Minecraft指令包教学

您所在的位置:网站首页 我的世界指令制作技能 Minecraft指令包教学

Minecraft指令包教学

2023-07-02 18:29| 来源: 网络整理| 查看: 265

很多地图都会有一些特定的交互物品方式,最常见的有丢弃物品侦测和右键侦测

特此说明:这里我使用的物品名称为繁体中字译名

这篇专栏教学的是最常见的右键侦测

右键侦测,其目的就是记录你使用物品的次数统计,大多数地图制作者用用到的右键侦测的物品有:胡萝卜钓竿,地图,雪球,鸡蛋,终界珍珠,烟花火箭,飞溅  水瓶等

这里用到的是1.16新加入的扭曲蕈菇钓竿

无论是侦测丢弃的物品还是右键·,都需要用到一个scoreboard.

那如何做到右键侦测呢?

这里我们不再用到普通的准则(如:"dummy","health","deathcount"等),这里我们需要用到复合准则

指令如下

scoreboard objectives add rc_tut minecraft.used:minecraft.warped_fungus_on_a_stick

这样右键侦测的准备工作就完成了,但单独靠上面的还不够,我们需要做到的是让玩家右键物品,它会触发一个事件,这里我们让他触发后向大家say hi,,这时,我们就需要用到指令包了(当然指令方块也可,但很麻烦,我不喜欢.w.)

创建指令包这里不会说明

来到资料夹内部,可以看到已经有创建好的mcfunction档,这些是我常用到的格式

loaded-用于重载世界后自动加载

main-用于指令包重复执行,1秒会执行20次

scoreboard-用于重载世界后自动加载(主要用于建立scoreboard)

empty-这是一个空白的mcfunction档,主要用来快速创建一个新的mcfunction档

打码部分为坡梗部=w="

这里我们需要做到指令包不断侦测我们的右键次数,故需要用到main档(使用编辑软体:visual studio code)

我们要做到的是:当有玩家右键了一个物品,就会执行say.mcfuction

指令如下

execute as @a[scores={rc_tut=1..}] at @s run function rc:say

这里不用if score @s rc_tut matches 1.. 的原因是这样做执行者是伺服器而不是玩家自己,而as的作用改变命令的执行者,at的作用是改变命令的执行位置.

接下来我们创建一个叫做say的mcfunction档,这里我们让say.mcfunction执行后会say hi,@a 同时清除掉自己rc_tut的使用次数(不清除会导致say hi,@a 一直洗板)

指令如下

say hi,@a

scoreboard players reset @s rc

这两条指令不可以调换执行顺序,否则会出现分数正常清除了但还未执行say hi,@a的bug

当然还未结束,你一定不希望别人随便拿一根扭曲蕈菇钓竿就执行一个事件吧,这时就可以给自己一根带有自订NBT标签的扭曲蕈钓竿,这里我们用{rc:1},然后侦测玩家手上是否有带有这个NBT标签就可以了

give @s warped_fungus_on_a_stick{rc:1}

我们可以在原有的基础上进行修改

execute if entity @s[nbt={SelectedItem:{tag:{rc:1}}}] run say hi,@a

最后一次修bugs

如果需要给它一个不同的材质,可以用{CustomModelData:}解决,这里不做赘述

那右键侦测的教学就到这里,评论区会附上指令包下载的载点,如果不会可以在评论区留言,我会尽量解决=w="也别忘了素质三连

本文禁止转载!!!!!

Ps:写指令包一定要记得多保存,否则哪天出来什么问题不关我的事=w="同时,如果你使用的软体可以开启自动保存也可以开启来,这样就省去了不停按Ctrl+S的步骤XD



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3