When testing with the "value_check" predicate for the condition of score 0, it also includes every entity having no score. This doesn't happen if the predicate "entity_scores" or the command "execute if score ... matches 0" is used.
How to reproduce:
/scoreboard objectives add testsb dummyUsing the following predicate (value_check.json):
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": "this",
"score": "testsb"
},
"range": 0
}This works as expected: => Test failed
/execute if score @s reddi.vm matches 0This is faulty: => Test passed
/execute if predicate testns:value_checkThis is also faulty for non entity scores (noscorepred.json):
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": {
"type": "minecraft:fixed",
"name": "noscore"
},
"score": "testsb"
},
"range": 0
}This is faulty: => Test passed
/execute if predicate testns:noscorepredAnd in comparison (entity_scores.json):
{
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"testsb": 0
}
}This works again as expected: => Test failed
/execute if predicate testns:entity_scoresLinked issues
Comments 4
Related, but different; that's about tab list reset score displaying as 0, whereas this is about reset score being treated as 0 in predicates.
Please check if MC-133451 describes your issue.