Source code: https://github.com/kyleedwardsny/GalacticraftClock
So, as many of you know, in recent versions of Galacticraft, the time sync behavior was changed due to issue #2643. In previous versions, you could reliably tell what time it was on the moon simply by looking at the phase of the moon from the overworld, and the time on Mars was the same on the overworld. But not anymore.
I found this out the hard way. After spending several real-world days prepping for my trip to the moon in survival, and making sure the phase of the moon was within the daytime range so that it would be safe to land, I lifted off... and arrived on the moon in the middle of the night. I was quite distraught and panicked. Had I just spent several real-world days painstakingly mining and building only to get pwned by an Evolved Creeper on arrival and effectively end the game?
Luckily, I was able to think and react quickly. I dug myself a 1x1x2 hole in the ground and waited out the night. Once the night was over, I completed my mission objectives and returned safely to the overworld. But this near-miss exposed what I consider to be a severe gameplay bug introduced by the time sync change: there is no longer a reliable way to know what time it is at your destination before arriving.
So what did I do next? I sat down and coded a solution. I have written a small mod for Galacticraft that allows you to tell the time on another celestial body without having to travel there first, just as the previous behavior allowed you to do. This addon adds new behavior to the Display Screen and the previously unused Satellite Dish. It creates a new channel on the Display Screen which cycles through the various celestial bodies and shows you the time on each one for a few seconds, but only if there is a Satellite Dish within 700 blocks. The reasoning is that the dish is acting as a telescope, but it's not actually acting as a radio receiver, hence no need to travel to the destination first.
To use the new behavior, simply place a Satellite Dish within 700 blocks of a Display Screen, and turn the Display Screen to the newly introduced Clock channel.
Unfortunately, I don't yet have any release builds, but if you are a developer, feel free to compile the code yourself, test it, and give me some feedback.
Things to improve:
- Use something other than the Satellite Dish? A new block maybe? Using the Dish is mildly hokey, but I didn't want to make a new block.
- Possible improvements to the graphics. I'm not much of a graphical/UI person myself, but at least it works pretty well and gets the point across.
Last edited by a moderator: