TheAwesomeGem Posted December 30, 2017 Posted December 30, 2017 Basically I have a function that needs to be executed every 5 or 6 Minecraft days. What can I use to keep track of long time? Quote New Channel: https://www.youtube.com/theawesomegemily'>https://www.youtube.com/theawesomegemily My Group: https://www.youtube.com/officialpixelgem Old Channel: https://www.youtube.com/theawesomegem
Differentiation Posted December 30, 2017 Posted December 30, 2017 (edited) 1. Make a private int in the class. 2. 1 Minecraft day = 20 minutes (day and night - 10 minutes day, 10 minutes night). 3. 6 Minecraft days = 20 * 6 = 120 minutes = 2 hours. 5. 120 minutes = 3600 seconds. 4. 7200 * 40 = 288000 Java update ticks. 5. Code: public class Test { private int time; public void onTime() { ++time; if (time == 288000 /* 2 hours (6 Minecraft days) */) { time = 0; // do things } } } However, if you log out, I believe the time resets to 0. I hope I helped. Edited December 30, 2017 by Differentiation Quote
TheAwesomeGem Posted December 30, 2017 Author Posted December 30, 2017 24 minutes ago, Differentiation said: 1. Make a private int in the class. 2. 1 Minecraft day = 20 minutes (day and night - 10 minutes day, 10 minutes night). 3. 6 Minecraft days = 20 * 6 = 120 minutes = 2 hours. 5. 120 minutes = 3600 seconds. 4. 7200 * 40 = 288000 Java update ticks. 5. Code: public class Test { private int time; public void onTime() { ++time; if (time == 288000 /* 2 hours (6 Minecraft days) */) { time = 0; // do things } } } However, if you log out, I believe the time resets to 0. I hope I helped. That's not too persistent though. Then I would have to have a ticker for each objects that keeps track of time. Is there any variable that gives me this info? int worldTime = world.getTime(); // This variable needs to give me the absolute time since the world has been created. then I could use that time and check for time elapsed. However I am not finding such variable that keeps an absolute time since the world was created. Quote New Channel: https://www.youtube.com/theawesomegemily'>https://www.youtube.com/theawesomegemily My Group: https://www.youtube.com/officialpixelgem Old Channel: https://www.youtube.com/theawesomegem
Draco18s Posted December 30, 2017 Posted December 30, 2017 Capabilities. Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
TheAwesomeGem Posted December 30, 2017 Author Posted December 30, 2017 12 minutes ago, Draco18s said: Capabilities. I don't want a ticker that ticks all the loaded chunks. That doesn't sound all that performance friendly. I already have capabilities attached to each of my chunk but I don't want to tick each chunk just to keep track of time. Quote New Channel: https://www.youtube.com/theawesomegemily'>https://www.youtube.com/theawesomegemily My Group: https://www.youtube.com/officialpixelgem Old Channel: https://www.youtube.com/theawesomegem
TheAwesomeGem Posted December 30, 2017 Author Posted December 30, 2017 4 minutes ago, diesieben07 said: World::getWorldTotalTime. Is it the time since the world was created? So if it's day 0 and I just create the world, it should be 0. However as time passes, that number gets added and doesn't reset after an extended period of time right? Quote New Channel: https://www.youtube.com/theawesomegemily'>https://www.youtube.com/theawesomegemily My Group: https://www.youtube.com/officialpixelgem Old Channel: https://www.youtube.com/theawesomegem
Draco18s Posted December 30, 2017 Posted December 30, 2017 2 hours ago, diesieben07 said: It starts at 0 and increments by 1 every tick as long as the server is running. It does not reset unless you manually edit the level.dat. Or use the /time command. Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Draco18s Posted December 30, 2017 Posted December 30, 2017 (edited) 6 minutes ago, diesieben07 said: Nope. Right, I forget that it is separate from getWorldTime() which uses a different counter (which should also never reset unless you edit the save / use the command). The Javadoc on...one of them...says that the value is modulo 24000, but it actually isn't. Edit: That said...is getWorldTotalTime effected by sleeping? That may influence what TheAwesomeGem is looking to achieve. Edited December 30, 2017 by Draco18s Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.