终于等来了1.13正式版,这些问题都是我之前就想问的问题,特意等正式版出了再问的,注意是1.13的版本,别拿1.12-的答案
一.functions具体用法,包括单独触发和高频持续触发以及停下单个高频
二.如何阻止僵尸和尸壳溺水转化
三.如何检测玩家手上或副手上拿特定物品和穿戴特定装备
四.如何使雪球或幸运箭扔出去或射出来后变成火球而不是在飞行路径生成大量悬空不动的火球

五.如何做到类似于龙卷风的围绕某个实体旋转的cloud粒子效果
六.同时检测自身周围两个方块才触发指令(例如当玩家脚底是石砖且头顶是圆石就会被kill)
七.爆炸音效的id是啥
八.某些粒子效果的id需要双精度浮点数(比如dust)是什么意思
九.如何用bossbar显示某个实体的血量
十.检测玩家数量,达到两个就触发指令
暂时就这些,以后可能还有
一.functions具体用法,包括单独触发和高频持续触发以及停下单个高频
二.如何阻止僵尸和尸壳溺水转化
三.如何检测玩家手上或副手上拿特定物品和穿戴特定装备
四.如何使雪球或幸运箭扔出去或射出来后变成火球而不是在飞行路径生成大量悬空不动的火球

五.如何做到类似于龙卷风的围绕某个实体旋转的cloud粒子效果
六.同时检测自身周围两个方块才触发指令(例如当玩家脚底是石砖且头顶是圆石就会被kill)
七.爆炸音效的id是啥
八.某些粒子效果的id需要双精度浮点数(比如dust)是什么意思
九.如何用bossbar显示某个实体的血量
十.检测玩家数量,达到两个就触发指令
暂时就这些,以后可能还有
好高级的问题。。。
首先建议参考下以下页面
https://minecraft-zh.gamepedia.com/1.13
https://minecraft-zh.gamepedia.com/区块格式
https://minecraft-zh.gamepedia.com/Player.dat
https://minecraft-zh.gamepedia.com/命令
问题略宽泛,我要有答得不好的追问吧…
一.functions具体用法,包括单独触发和高频持续触发以及停下单个高频
这篇教程写得不错
要使用 function,必须创建一个 datapack(数据包)
需要在 .minecraft/saves/<存档>/datapack/<数据包名> 下放置标准的 pack.mcmeta 文件,然后在 .minecraft/saves/<存档>/datapack/<数据包名>/data/<命名空间>/functions 下放置函数。
高频触发使用的亦不是指令,需要在 .minecraft/saves/<存档>/datapack/<数据包名>/data/minecraft/tags/functions/tick.json 中加入你的函数名。
数据包是一个巨大的体系,所以还是建议阅读那篇教程…
二.如何阻止僵尸和尸壳溺水转化
高频设置 InWaterTime: -1
三.如何检测玩家手上或副手上拿特定物品和穿戴特定装备
用 nbt= 选择器,举个例子,kill @a[nbt={SelectedItem:{id:"minecraft:stone"}}] 会杀死拿着普通石头的玩家。其他副手、背包啥的 NBT 可以看上面给的 Player.dat 页面查阅。
四.如何使雪球或幸运箭扔出去或射出来后变成火球而不是在飞行路径生成大量悬空不动的火球
全部高频
execute as @e[type=snowball] at @s run summon minecraft:fireball ~ ~ ~ {power:[0.0d,-0.05d,0.0d],direction:[0.0d,0.0d,0.0d]}
execute as @e[type=snowball] at @s store result entity @e[distance=..1,limit=1,type=fireball] direction[0] double 0.001 run data get entity @s Motion[0] 1000
execute as @e[type=snowball] at @s store result entity @e[distance=..1,limit=1,type=fireball] direction[1] double 0.001 run data get entity @s Motion[1] 1000
execute as @e[type=snowball] at @s store result entity @e[distance=..1,limit=1,type=fireball] direction[2] double 0.001 run data get entity @s Motion[2] 1000
execute as @e[type=snowball] at @s run kill @s
五.如何做到类似于龙卷风的围绕某个实体旋转的cloud粒子效果
在实体上生成个 marker,用
/execute as @e at @s run teleport @s ~ ~ ~ ~10 ~
使 marker 一直转圈并以 ^ ^ ^1 为坐标生成 cloud 粒子
用
/execute as @e[type=husk] at @s run data merge entity @e[sort=nearest,limit=1,type=area_effect_cloud] {Age:0}
一直给 marker **
六.同时检测自身周围两个方块才触发指令(例如当玩家脚底是石砖且头顶是圆石就会被kill)
execute as @a at @s if block ~ ~-1 ~ 石砖 if block ~ ~2 ~ 原石 run kill @s
七.爆炸音效的id是啥
爆炸有很多,你说哪个。姑且给你爬行者、TNT 的爆炸音效minecraft:entity.generic.explode
1.13 不是有命令补全了嘛,不是这个你就用stopsound 慢慢试啦。
八.某些粒子效果的id需要双精度浮点数(比如dust)是什么意思
dust 后需要接四个小数表示颜色。四个小数分别代表红、绿、蓝、大小。(前三个个小数取值范围0.0~1.0)例如
/particle dust 1.0 0.5 0.5 1.0
感谢 7# 指出错误。
九.如何用bossbar显示某个实体的血量
/bossbar add health "实体血量"
/bossbar set minecraft:health players @a
/bossbar set minecraft:health max 20
高频命令:
/execute store result bossbar minecraft:health value run data get entity @e[type=zombie,limit=1] Health
十.检测玩家数量,达到两个就触发指令
新建个记分板count,以下高频
execute as @a run scoreboard players add #counter count 1
execute if score #counter count matches 2.. run 命令
scoreboard players set #counter count 0
妈哟我答的是真的乱…
https://minecraft-zh.gamepedia.com/1.13
https://minecraft-zh.gamepedia.com/区块格式
https://minecraft-zh.gamepedia.com/Player.dat
https://minecraft-zh.gamepedia.com/命令
问题略宽泛,我要有答得不好的追问吧…
一.functions具体用法,包括单独触发和高频持续触发以及停下单个高频
这篇教程写得不错
要使用 function,必须创建一个 datapack(数据包)
需要在 .minecraft/saves/<存档>/datapack/<数据包名> 下放置标准的 pack.mcmeta 文件,然后在 .minecraft/saves/<存档>/datapack/<数据包名>/data/<命名空间>/functions 下放置函数。
高频触发使用的亦不是指令,需要在 .minecraft/saves/<存档>/datapack/<数据包名>/data/minecraft/tags/functions/tick.json 中加入你的函数名。
数据包是一个巨大的体系,所以还是建议阅读那篇教程…
二.如何阻止僵尸和尸壳溺水转化
高频设置 InWaterTime: -1
三.如何检测玩家手上或副手上拿特定物品和穿戴特定装备
用 nbt= 选择器,举个例子,kill @a[nbt={SelectedItem:{id:"minecraft:stone"}}] 会杀死拿着普通石头的玩家。其他副手、背包啥的 NBT 可以看上面给的 Player.dat 页面查阅。
四.如何使雪球或幸运箭扔出去或射出来后变成火球而不是在飞行路径生成大量悬空不动的火球
全部高频
execute as @e[type=snowball] at @s run summon minecraft:fireball ~ ~ ~ {power:[0.0d,-0.05d,0.0d],direction:[0.0d,0.0d,0.0d]}
execute as @e[type=snowball] at @s store result entity @e[distance=..1,limit=1,type=fireball] direction[0] double 0.001 run data get entity @s Motion[0] 1000
execute as @e[type=snowball] at @s store result entity @e[distance=..1,limit=1,type=fireball] direction[1] double 0.001 run data get entity @s Motion[1] 1000
execute as @e[type=snowball] at @s store result entity @e[distance=..1,limit=1,type=fireball] direction[2] double 0.001 run data get entity @s Motion[2] 1000
execute as @e[type=snowball] at @s run kill @s
五.如何做到类似于龙卷风的围绕某个实体旋转的cloud粒子效果
在实体上生成个 marker,用
/execute as @e at @s run teleport @s ~ ~ ~ ~10 ~
使 marker 一直转圈并以 ^ ^ ^1 为坐标生成 cloud 粒子
用
/execute as @e[type=husk] at @s run data merge entity @e[sort=nearest,limit=1,type=area_effect_cloud] {Age:0}
一直给 marker **
六.同时检测自身周围两个方块才触发指令(例如当玩家脚底是石砖且头顶是圆石就会被kill)
execute as @a at @s if block ~ ~-1 ~ 石砖 if block ~ ~2 ~ 原石 run kill @s
七.爆炸音效的id是啥
爆炸有很多,你说哪个。姑且给你爬行者、TNT 的爆炸音效minecraft:entity.generic.explode
1.13 不是有命令补全了嘛,不是这个你就用stopsound 慢慢试啦。
八.某些粒子效果的id需要双精度浮点数(比如dust)是什么意思
dust 后需要接四个小数表示颜色。四个小数分别代表红、绿、蓝、大小。(前三个个小数取值范围0.0~1.0)例如
/particle dust 1.0 0.5 0.5 1.0
感谢 7# 指出错误。
九.如何用bossbar显示某个实体的血量
/bossbar add health "实体血量"
/bossbar set minecraft:health players @a
/bossbar set minecraft:health max 20
高频命令:
/execute store result bossbar minecraft:health value run data get entity @e[type=zombie,limit=1] Health
十.检测玩家数量,达到两个就触发指令
新建个记分板count,以下高频
execute as @a run scoreboard players add #counter count 1
execute if score #counter count matches 2.. run 命令
scoreboard players set #counter count 0
妈哟我答的是真的乱…
SPGoding 发表于 2018-7-19 13:23
首先建议参考下以下页面
https://minecraft-zh.gamepedia.com/1.13
https://minecraft-zh.gamepedia.com/区 ...
1.那个帖子东西太多,找不到我想要的,你就说functions放在哪个文件夹,以及高频持续触发的指令,1.12的functions我是会用的
2.没用,但我已经找到别的办法了,把InWaterTime高频设为0
4.但那样还是悬空不动的,我要火球沿着对应方向发射出去
5.这样没用的,相对位置跟实体的朝向没关系,以及如何旋转实体
6.这是检测命令方块自身的而不是玩家
8.

9.具体指令是啥,哪些是一次性指令,哪些需要高频
本帖最后由 sjx 于 2018-7-20 16:53 编辑
这里的答案已经足够详细了。我再来补充一下第八个问题:
particle 命令中几种粒子效果比较特殊。
这里的答案已经足够详细了。我再来补充一下第八个问题:
particle 命令中几种粒子效果比较特殊。
- dust 后面要加 4 个正浮点数,前 3 个要在 0 和 1 之间,表示颜色,最后一个要在 0.01 和 4 之间,表示大小,如 particle minecraft:dust 1 1 0 2 ~ ~1 ~ 0.5 0.5 0.5 0 10
- block 和 falling_dust 后面要加上一个方块,如 particle minecraft:block minecraft:grass_block[snowy=true] ~ ~1 ~ 0.5 0.5 0.5 0 10
- item 后面要加上一个物品,如 particle minecraft:item minecraft:apple ~ ~1 ~ 0.5 0.5 0.5 0 10
本帖最后由 sjx 于 2018-7-20 16:54 编辑
实验以及源码证明 Wiki 上的 RGBA 是错的,应该是 RGB + Scale
SPGoding 发表于 2018-7-19 15:40
1. 要使用 function,必须创建一个 datapack(数据包)
需要在 .minecraft/saves//datapack/ 下放置标准 ...
实验以及源码证明 Wiki 上的 RGBA 是错的,应该是 RGB + Scale
楼上答案有误
一.functions具体用法,包括单独触发和高频持续触发以及停下单个高频
首先存档内有datapacks文件夹(没有就创建,然后创建一个文件夹例如Atest,里面放入pack.meta文件和data文件夹)
然后在data文件夹中创建命名空间文件夹,例如test(不可用大写字母)
然后创建子文件夹functions,里面放入例如tick.mcfunction和load.mcfunction
load.mcfunction
复制代码
tick.mcfunction
复制代码tick20.mcfunction
复制代码
example.mcfunction
复制代码
然后在data下面同理创建minecraft文件夹,里面创建tags文件夹,然后里面functions文件夹
放入 tick.json
{ "values": ["test:tick"]}
和load.json
{ "values": ["test:load"]}
进入游戏即可高频执行test:tick函数,输入/function test:example即可执行test:example
二.如何阻止僵尸和尸壳溺水转化
高频执行
execute as @e[type=zombie] run data merge entity @s {InWaterTime:100}
execute as @e[type=husk] run data merge entity @s {InWaterTime:100}
三.如何检测玩家手上或副手上拿特定物品和穿戴特定装备
主手
复制代码副手
复制代码其它槽位和副手类似,只是Slot变成100b到103b(从脚到头)
五.如何做到类似于龙卷风的围绕某个实体旋转的cloud粒子效果
可以用spg方法,但是也可以不用marker,直接计算好玩家的每个角度的局部坐标,然后用记分板计时循环,每个时间在不同的位置放置粒子效果
其他的可以参考他的回答
四我再想想
另外,如果你觉得那个帖子哪里说得不好或者不清楚的,可以告诉我……
因为有些人连文件类型都不清楚所以才说得繁琐一点,其实基础的文件夹结构什么的建议你还是看一看比较好
一.functions具体用法,包括单独触发和高频持续触发以及停下单个高频
首先存档内有datapacks文件夹(没有就创建,然后创建一个文件夹例如Atest,里面放入pack.meta文件和data文件夹)
然后在data文件夹中创建命名空间文件夹,例如test(不可用大写字母)
然后创建子文件夹functions,里面放入例如tick.mcfunction和load.mcfunction
load.mcfunction
- scoreboard objectives add Value dummy
tick.mcfunction
- <div>#这里放入高频内容</div><div>
- </div><div>scoreboard players add #maintick Value 1
- execute if score #maintick Value matches 20.. run function test:tick20
- <div>
- </div></div>
- #这里放入每秒执行的指令
example.mcfunction
- #任意指令
然后在data下面同理创建minecraft文件夹,里面创建tags文件夹,然后里面functions文件夹
放入 tick.json
{ "values": ["test:tick"]}
和load.json
{ "values": ["test:load"]}
进入游戏即可高频执行test:tick函数,输入/function test:example即可执行test:example
二.如何阻止僵尸和尸壳溺水转化
高频执行
execute as @e[type=zombie] run data merge entity @s {InWaterTime:100}
execute as @e[type=husk] run data merge entity @s {InWaterTime:100}
三.如何检测玩家手上或副手上拿特定物品和穿戴特定装备
主手
- execute as <span id="kM0.001303991525832715">@a[nbt={SelectedItem:{id:"minecraft:diamond"}}] run say mainhand</span>
- execute as @a[nbt={Inventory:[{Slot:-106b,id:"minecraft:hopper"}]}] run say offhand
五.如何做到类似于龙卷风的围绕某个实体旋转的cloud粒子效果
可以用spg方法,但是也可以不用marker,直接计算好玩家的每个角度的局部坐标,然后用记分板计时循环,每个时间在不同的位置放置粒子效果
其他的可以参考他的回答
四我再想想
另外,如果你觉得那个帖子哪里说得不好或者不清楚的,可以告诉我……
因为有些人连文件类型都不清楚所以才说得繁琐一点,其实基础的文件夹结构什么的建议你还是看一看比较好
第四个问题,你扔出雪球后召唤火球,把雪球的Motion存储到火球上,杀死火球,最后把火球设置成 power:[0.0d,-1.0d,0.0d] 看看
ruhuasiyu 发表于 2018-7-19 16:40
楼上答案有误
一.functions具体用法,包括单独触发和高频持续触发以及停下单个高频
3.你的方法我试了,没有作用,主手的问题倒是已经解决了
5.别的已经解决了,但是如何在下面的实体死亡后清除盔甲架
安达市vfg 发表于 2018-7-19 17:00
3.你的方法我试了,没有作用,主手的问题倒是已经解决了
5.别的已经解决了,但是如何在下面的实体死亡后 ...
所以说不要用盔甲架……
SPGoding 发表于 2018-7-19 17:44
3 没有用处,很可能是你没有在 id 里写完成的物品 id
4 以下命令全部高频
好吧负号忘记去掉了
SPGoding 发表于 2018-7-19 17:39
可以尝试用 area_effect_cloud,然后让下面的 husk 一直 data merge entity @e[sort=nearest,limit=1,type ...
那这个粒子云的summon指令是啥,没法直接召唤粒子云
本帖最后由 安达市vfg 于 2018-7-19 18:16 编辑
但是并不能给粒子云延长时间啊,我用的就是你的那条指令
SPGoding 发表于 2018-7-19 17:58
/summon minecraft:area_effect_cloud ~ ~ ~ {Duration:2}
但是并不能给粒子云延长时间啊,我用的就是你的那条指令