[SPIGOT-6496] /time functions affect entire server, not just the origin world Created: 07/Jun/21  Updated: 02/Jan/22  Resolved: 02/Jan/22

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Tim Schwab Assignee: Unassigned
Resolution: Fixed Votes: 1
Labels: Multiverse, time
Environment:

This is not applicable.


Version: This server is running CraftBukkit version 2991-Spigot-018b9a0-f3f3094 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
Plugin: None
Guidelines Read: Yes

 Description   

This is a very old bug. As far as I can tell, it was originally reported on Multiverse's Github here, then later brought up again here.

This bug is not obvious in a vanilla Spigot server, because it has only one Overworld, and time does not matter in the Nether or the End. However, it is still demonstrably present. Setting the time in the Overworld also affects the time in the Nether and End. These steps show this:

  1. Set the time in the Overworld to 1000 using "/time set 1000"
  2. Go into the Nether
  3. Observe that the time is close to 1000 using "/time query daytime"
  4. Set the time to 0
  5. Go back to the Overworld, and observe that it is now near 0

This is an annoyance on my server that uses Multiverse, and has multiple overworlds. There, night and day are meaningfully different, and we would like to be able to lock one world on day (a creative world), while keeping another in the normal cycle (a survival world). Currently, if one player sleeps in the survival world, this often changes the time in the creative world to night.

This is not a huge problem, but seeing that it has been a bug for almost a decade now, I am hoping we can get this resolved.



 Comments   
Comment by Marvin Rieple [ 25/Dec/21 ]

Made a PR for this: craftbukkit#985

Comment by Tim Schwab [ 04/Sep/21 ]

So, I feel very silly for not checking this, but it is what it is. I recently updated the server and switched from using VanillaTweaks' Multiplayer Sleep datapack to using the now available playersSleepingPercentage gamerule. This changed the behavior of sleeping, and pretty much solved all the issues I was seeing. Through testing, we found out the following:

  1. The day/night cycle is not dependent on server time, except for in the main world.
  2. The day/night cycle is independent per world.
  3. All the behavior related to time corresponds to the day/night cycle, not the server time. Examples include villager behavior, whether or not you can sleep, clocks, etc.

So, #2 and #3 are actually precisely what I wanted, and #1 does not matter to me. Therefore, in my eyes this issue can be closed.

Comment by Tim Schwab [ 19/Jul/21 ]

@md_5, any update on this issue?

Comment by Tim Schwab [ 23/Jun/21 ]

That is interesting indeed. In Vanilla, the only effect of time that I know of in the Nether or the End is villager working times and sleeping patterns, and this might also be a bug. Clocks spin in the Nether and the End, signifying that time is not supposed to apply there. Strange that the command does not hardcode to only apply to the Overworld - that is what I would have expected.

Comment by md_5 [ 07/Jun/21 ]

I think this is probably worth changing in Spigot, but it is interesting that it appears to be very intentional in Vanilla and not a bug as you suggest — the command code explicitly goes through and changes all worlds.

Generated at Sun Mar 30 02:32:22 UTC 2025 using Jira 10.3.3#10030003-sha1:d220e3fefc8dfc6d47f522d3b9a20c1455e12b7b.