In Control!

In Control!

74M Downloads

/time set Breaks light level rules.

yutang13 opened this issue ยท 3 comments

commented

I'm playing Exoria and wanted to tweak the spawning rules for drones as they're super annoying by default. Kept having issues with them not spawning and instantly disappearing when a spawn egg is used.

For potentialspawn.json I have:

{
        "mob": "drones:drone",
        "weight": 3,
        "groupcountmin": 1,
        "groupcountmax": 2,
        "maxlight": 7
}

and spawn.json is:

{
    "mob": "drones:drone",
    "mincount": "6",
    "result": "deny"
  },
  {
    "mob": "drones:drone",
    "seesky": false,
    "result": "deny"
  },

Pretty specific but I've found that if you use /time set then the DayTime and Time tags in level.dat/Data get desynced.
This causes the spawn rules to get upset resulting in the drones never spawning. Manually copying the value of Time onto DayTime with an NBT editor fixes the issue.
I know this happens in MistyWorld but haven't tried beyond that. All I know is what and why it happens and that it's annyoing. ๐Ÿ˜›
It may be specifically an issue with the misty world dimension or generally a problem in detecting block light values with regards to sky light values.

commented

It's vanilla behaviour.

Time: The number of ticks since the start of the level.

DayTime: The time of day. 0 is sunrise, 6000 is mid day, 12000 is sunset, 18000 is mid night, 24000 is the next day's 0. This value keeps counting past 24000 and does not reset to 0.

https://minecraft.gamepedia.com/Level_format#level.dat_format

Looks like you need to change addMinTimeCheck and addMaxTimeCheck to use modulo 24000. Not sure why this breaks the light level checking yet...

commented

Did you also try this without In Control? I have no idea how In Control could cause /time set to get desynced as I don't do anything with that

commented

Never mind. Turns out the issue is specifically with the drones themselves. If you use /time set they instantly despawn even if you use a spawn egg.