【问题标题】:Why does my minecraft location_check predicate not run?为什么我的 minecraft location_check 谓词不运行?
【发布时间】:2021-02-09 21:34:31
【问题描述】:

我已经遵循了几个教程,并让“player is_sprinting:true”谓词起作用。所以我知道我的新数据包正在工作。

在任何地方都没有位置谓词的示例。视频、wiki,什么都没有。

我转到生成器并生成整个谓词,导出整个文件,将其放在正确的文件夹中,当我在我的 tick.mc 函数中键入路径时,Visual Studio Code 正确链接到它(最后不得不创建一个新项目并重新启动我的计算机,以使新项目不会自动填充旧项目的路径...由于某种原因)。

它不会检测玩家何时在 0 0 0 的 100 以内。它什么也不做。这是我尝试过的:

{   
    "condition": "minecraft:entity_properties",   
    "entity": "this",   
    "predicate": {     
        "type": "minecraft:player",     
        "location": {       
            "position": {         
                "x": 0,         
                "y": 0,         
                "z": 0       
            }     
        },     
        "distance": {       
            "absolute": {         
                "min": 0,         
                "max": 100       
            }     
        }   
    } 
} 

还有……

{
    "condition": "minecraft:entity_properties",   
    "entity": "this",   
    "predicate": {     
        "type": "minecraft:player",     
        "distance": {       
            "absolute": {         
                "min": 0,         
                "max": 100       
            }     
        }   
    } 
} 

还有……

{
    "condition": "minecraft:location_check",   
    "predicate": {     
        "position": {       
            "x": {         
                "min": -100,         
                "max": 100       
            },       
            "y": {
                "min": -100,
                "max": 100
            },       
            "z": {         
                "min": -100,         
                "max": 100       
            }     
        }   
    } 
} 

全部结合:

execute as @a if predicate test:homezone run say hi 

或者:

execute as @a[predicate=test:homezone] run say hi 

我的玩家正站在一张新地图中,位于 0,0,0 处,没有其他功能在运行。我有什么问题?

【问题讨论】:

    标签: json minecraft predicate minecraft-forge


    【解决方案1】:

    当使用谓词作为目标选择器参数时,您需要具有命名空间 ID。除此之外,我不太确定。如果这没有帮助,请尝试在官方的Minecraft命令discord服务器上询问,他们对这些东西很好。 https://discord.gg/QAFXFtZ

    例如:

    @e[predicate=foo:bar]
    

    不只是

    @e[predicate=bar]
    

    【讨论】:

    • 该死!在我纠正之前你发表了评论。我知道。在我开始在这里复制一些之前,我已经尝试了 15 次迭代。我想我只是从头开始写的,因为我实际上并没有我写的第一行,但将它作为目标选择器是我的第一选择,我肯定将它链接到正确的文件,因为我的 Visual Studio Code 应用程序建议我的旧文件中的一个文件夹,直到我重新启动并刷新,所以我知道我第一次去的路径是正确的。我现在将编辑我的帖子。不过,谢谢你的收获,好眼力。对不起,如果我浪费了你的时间!
    • 没问题,伙计,但是就像我说的那样,如果这不能解决您的问题,请在该不和谐服务器上询问。这是一个非常好的社区,有很多知识渊博的人
    • 不和谐是什么?我已经是 MinecraftCommands Reddit 的一员了...... Discord... 如果它处于不和谐状态,它仍然是一个 reddit 吗?你指的是那个还是另一个? MinecraftCommands 主要有快速的答案,但也有人误读了问题,当你试图澄清别人提出的问题时,聊天就会继续。我对每个人都转向不和谐感到奇怪......没有永久链接,所以当有人发现每个人都可以使用的东西时,它就会丢失。无论如何,当我搜索“discord stack exchange minecraft”时,我只会获得人们编码将不和谐邀请集成到我的世界中的方法的链接。
    • 这是 minecraf 命令 subreddit 的 Discord 服务器。关于丢失的问题,这是一个很好的观点,但是在 ti 上提问也有很多好处。邀请:discord.gg/QAFXFtZ
    【解决方案2】:

    位置很奇怪,我在超平坦空间中测试

    你在第三个谓词中的 location_check 几乎就是我的。

    {
        "condition": "minecraft:location_check",
        "offsetX": -20,
        "offsetY": 0,
        "offsetZ": -20,
        "predicate": {
            "position": {
                "x": {
                    "min": 0,
                    "max": 2
                },
                "y": 4,
                "z": {
                    "min": 0,
                    "max": 2
                }
            }
        }
    }
    

    这是我在命令块中运行的内容

    execute as @p[predicate=test:area] unless predicate test:sneaking run function test:null
    

    这会检测到 20 4 20 到 21 4 21 的玩家,除非潜行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多