mojira.dev
MC-229018

In predicate condition "value_check" having no score counts as having score 0

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 dummy

Using 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 0

This is faulty: => Test passed

/execute if predicate testns:value_check

This 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:noscorepred

And 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_scores

Linked issues

Comments 4

Please check if MC-133451 describes your issue.

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.

Did this issue still occur in 1.19.3?

Can confirm in 1.19.3

reddi

(Unassigned)

Community Consensus

(Unassigned)

predicate, scoreboard

1.17, 1.19.3

Retrieved