The game doesn’t always detect a specific value (or a range of values) that a predicate uses to detect daytime in a datapack. When checking if the daytime is, let’s say, between 100 and 12100, and it’s a day, the predicate doesn’t work. But, if the time is set manually through a command (/time set 100) than everything works fine.
Comments 3
I use a simple predicate in a datapack. It checks if the time is between 12100 and 23300 (which is around night time).
{
"condition": "minecraft:time_check",
"value": {
"min": 12100,
"max": 23300
}
}
When I run a command to test for the predicate and the daytime value is between 12100 and 23300 (ex. 16969), the game doesn't register that./execute if predicate light:night run say 1
But once I manually run a command /time set 16969
, the game instantly registers the daytime and outputs the result.
How exactly are you checking the time? Without /time set, a world will only ever experience a single period where the tick time would be at what you are describing - it doesn't reset to 0 after one full day, the number keeps running.