mojira.dev
MC-196659

datapack predicates don't check if their name is "valid"

all file and folder names in datapacks are limited to a-zA-z0-9 hovewer predicates don't check if their name follows this naming convention and instead of returning error invalid file name in the logs, they are listed when tab completing the /execute if predicate command and inaccessible couse they contain a space in their name

 

reproduction steps:

1 make a valid datapack predicate json file

2 copy that valid predicate file and rename it to contain spaces like "predicate - Copy"

3 reload the datapacks and see what predicate files are listed "usable" by /execute if predicate

Attachments

Comments 2

Can't reproduce

[23:09:29] [Worker-Main-25/ERROR]: Non [a-z0-9/._-] character in path of location: testing:predicates/test - Copy.json

sorry its not Vanilla fault, to be exact i was running 1.16.1 Optifine HD G2_pre10 Ultra, which was the cause however interestingly enough even though there are no errors in logs about invalid characters, functions with invalid characters are not accessible but predicates are.

I thought that Optifine was only affecting client side rendering, but it seems i was wrong

NoteBug

(Unassigned)

Unconfirmed

(Unassigned)

1.16.1

Retrieved