问题 初学指令时遇到的一个输入检测的问题

laoliu654

【Lv:1】

注册
2025/11/12
消息
1
金粒
588.00金粒
问题是这样的:


我最初想用命令方块实现这样一个功能:

检测玩家跳跃 -> 执行某功能(此处为显示封禁玩家列表)

在minecraft wiki中,我发现通过谓词中的实体子谓词能够实现输入检测的功能:1775222963619.webp

所以我决定实用/execute if predicate的形式:
代码:
/execute as @a if predicate {condition:"entity_properties",entity:"this",predicate:{type_specific:{type:"player",input:{jump:1}}}} run banlist players
但是在实际运行中我发现无论玩家是否跳跃,封禁玩家列表均会显示:
1775222846316.webp

假(0b)的情况​


1775222871653.webp

真(1b)的情况
​
我后来也将这个检测做成一个数据包(见下面的zip(bukkit不用管)),但是有问题,报错是解析结构失败。
1775223168472.webp


命令新人,有些地方或有混淆或疏漏,还请各位大佬多多指教,谢谢啦!
 
内容版权许可
作者保留一切权利,禁止转载

附件

  • 1775222017860.webp
    1775222017860.webp
    19.9 KB · 查看: 5
  • 1775222152244.webp
    1775222152244.webp
    35.9 KB · 查看: 5
  • 1775222280934.webp
    1775222280934.webp
    40.5 KB · 查看: 2
  • 1775222320394.webp
    1775222320394.webp
    42.3 KB · 查看: 7
  • datapacks.zip
    datapacks.zip
    1.4 KB · 查看: 6
  • datapacks.zip
    datapacks.zip
    1.8 KB · 查看: 0
我试了一下,input你无论填什么好像都会通过(我甚至乱填了一个键值对进去都没报错),其他子谓词无这个情况发生,很奇怪
 
数据包报错是因为你的谓词文件写错了
json文件里1b是不合法的,这是snbt格式,应使用true
 

在线会员

  • 一个笨笨的腐竹
  • 953296574
  • 刘氏影视传媒
  • 5465435
  • 娜娜奇
  • PythonsFruit
  • shu0shu
  • Kongba1d
  • Tea_white_
  • lkjk
  • mc_xiaoQAQ_
  • Fungus
  • by2zzzcv12
  • 史蒂夫王
  • best777
  • Ptx
  • chokchaiza591
  • acg17
  • 15712870925
  • SuperiorTeam
...和 6 更多。
后退
顶部 底部