Tick.mcfunction 文件自发被禁用。怎么解决?

问题描述 投票:0回答:1

我正在编写我的第一个 Minecraft 数据包,一开始一切都运行良好。经过一段时间的编码后,刻度文件似乎完全停止工作。我检查了tick.json 文件,它看起来与load.json 完全相同,只是第三行使用“test:tick”而不是“test:load”,这应该是正确的。不知何故,load.mcfunction仍然有效,因为我可以看到我所做的tellraw命令在每次重新加载时仍然弹出。另外,如果我稍微更改一下 load.mcfunctcion 文件,我可以看到结果在我的世界方面运行良好。

这是我的代码:

tick.json 文件:

{
    "values": [
        "test:tick"
    ]
}

加载.json文件:

{
    "values": [
        "test:load"
    ]
}

加载.mc函数文件:

tellraw @a {"text": "Hello there","italic": true,"color":"#5544FF"}

scoreboard players reset tick
scoreboard objectives add tick dummy {"text":"CurrentTick", "bold": true}
scoreboard objectives setdisplay sidebar tick
scoreboard players set tick tick 0

tick.mc函数文件:

execute at @a run summon sheep
#Trident Lightning
execute at @e[type=trident, nbt={OnGround:0b}] run summon lightning_bolt
#Arrow TNT
execute at @e[type=arrow,nbt={pickup:1b,inGround:0b}] run summon tnt ~ ~ ~ {Fuse:100}
kill @e[type=arrow,nbt={inGround:1b}]
#Egg Leaf Bridge, also can destroy stuff, dropping loot
execute at @e[type=egg] run setblock ~ ~-2 ~ oak_leaves destroy 
#Snowballs damage players in an AOE
execute at @e[type=snowball] run damage @e[distance=..3] 2



#Ticks
scoreboard players add tick tick 1

VSCode 中的文件布局截图:

我根本没有模组,也没有其他数据包。这是 1.20.1 的单人世界。

minecraft minecraft-commands
1个回答
0
投票

好吧,所以在数据包中,当函数中有错误时,它们就会从地球表面消失,并且您无法运行它们。您的错误是

execute at @e[type=snowball] run damage @e[distance=..3] 2
末尾的
@e[distance=..3]
伤害命令仅允许一个目标,而在该行中您允许多个目标。解决此问题的一种方法是执行
@e[distance=..3, limit=1]

© www.soinside.com 2019 - 2024. All rights reserved.