[INACTIVE][FIX/MECH] properTime v1.8.9 - Control the speed of time (+multiworld) [1000]

Discussion in 'Inactive/Unsupported Plugins' started by xupwup, Jan 29, 2011.

  1. Offline

    xupwup

    properTime - Control the speed of time, for example to fix too long days/nights due to lag.
    Version: 1.8.9

    THIS PLUGIN HAS BEEN DISCONTINUED. See here for the continuation of this plugin.

    On many servers, lag causes the time to pass extremely slow, so I created a fix.

    properTime runs in a dedicated thread, so it wont really be affected by lag.
    By default this plugin makes sure that the day/night cycle lasts exactly 20 minutes.

    If desired you can change this, so that it always runs at half speed, or -10 times as fast, causing the time to go backwards really fast :). Please note that this will cause the sun/moon to jerk, this can only be fixed with a client mod.
    This plugin is also compatible with other time changing plugins, however, I advise against using it in combination with time stopping plugins. It also works fine with beds.

    Sample config file:
    Code:
    # Use 2 for double speed, 3 for triple, etc.
    # At 1x speed, the complete day-night cycle takes 20 minutes.
    
    world: "nether"
    timespeedDay: 1.0 #these settings will be ignored because perma > 0
    timespeedNight: 1.0
    timespeedDusk: 1.0
    timespeedDawn: 1.0
    perma: 15000 # the time will always be 15000, which is at night. Use a value between 0 (sunrise) and 24000.
    
    world: "world"
    timespeedDay: 5.0
    timespeedNight: 5.0
    timespeedDusk: 1.0
    timespeedDawn: 1.0
    perma: -1 # less than 0, so will be ignored
    Normally day lasts 10 minutes, dawn + dusk 1.5, and night 7.
    If you want your day to last 12 minutes, you should set timespeedDay to 10/12 = 0.833

    Also, when freezing time, if you set the time to somewhere during dusk or dawn, the light will flicker for the client. I advise against this.

    Features:
    • Configurable time speeds
    • Dedicated thread (so lag proof)
    • Separate configuration for day, night, dawn, dusk
    • Multiworld support (the plugin that creates the secondary worlds needs to load before properTime)
    • Permanent day/night
    • Ability to freeze time.

    To make sure that properTime loads after your multiworld plugin: (thanks to @tehbeard)
    Open properTime.jar with a program like winrar, and edit the plugin.yml file inside. Add the following code to it:
    Code:
    softdepend: [MultiVerse]
    In this example properTime will load after MultiVerse. Do this for any multiworld plugin you use. (note: you need the name of the multi world plugin as stated in it's own plugin.yml)

    World "foo" not found
    Make sure your plugins load in the correct order. You can also try to remove or rename your config file, so that it is regenerated with the correct worldnames and syntax.

    Troubleshooting
    First of all, carefully read all errors, as well as the last few comments on this thread. If that does not fix your problem, try adding "debug" to the top of your config file. That way the plugin will give you a lot of information, some of which may be useful for finding out what is wrong.


    Download: http://www.xupwup.nl/data/games/minecraft/properTime.jar
    Source: Inside the jar.
    Please also vote on the poll here so I have a better idea about the popularity of my plugin.

    Changelog:
    Show Spoiler

    Version 1.8.9
    • Sources are now inside the jar file. No other changes.
    Version 1.8.8
    • Open sourced!
    • Different synchronisation with the main thread, this should fix concurrentModificationException errors.
    Version 1.8.7
    • Use the bukkit scheduler to set the time from a thread. (should fix concurrentModificationException errors)
    Version 1.8.6
    • Added debugging functionality that can be enabled by putting the word "debug" somewhere in your config file, preferably at the top.
    Version 1.8.5
    • The parser now supports world names with spaces.
    • (A bit) nicer error messages.
    Version 1.8.4
    • Fixed stupid mistake where it said 2400 instead of 24000, causing a lot of weirdness when using the perma option.
    Version 1.8.3
    • Fixed a bug in the parser that caused nullpointer exceptions for some files.
    • Added the "perma" option for configuring permanent day/night.
    Version 1.8.2
    • Fixed bug that caused values below 1 to get rounded to 0, causing the time to stop for those that use a timespeed less than 1.
    Version 1.8.1
    • Fixed nullpointerexception when stopping the server when an invalid config file has been used.
    Version 1.8
    • Added multiworld support
    Version 1.7
    • Fixed compatibility with newer bukkit versions
    • The config file is now located at: plugins/properTime/properTime.conf
    Version 1.6
    • If the client would jump to for example dusk, the server will use the timespeed for dusk, so if you set your day speed to 0.25, and the dusk speed to 1, this will fix the flicker during the few seconds when the client wants to go to dusk, and the server still says day. This should not change anything if you use timespeeds >= 1.
    Version 1.5.1
    • Fixed namespace, see this.
    Version 1.5
    • Fixed compatibility with newer bukkit versions
    • You can now configure what world this plugin should work on. (only one is supported and this is not in the default config file)
    Version 1.4
    • Added the ability to configure timespeeds for dusk/dawn.
    Version 1.3
    • Fix compatibility with newer bukkit versions.
    Version 1.2
    • Added the ability to configure timespeeds for day/night independently.
    Version 1.1
    • Renamed properties file + location
    Version 1.0
    • Initial release



    I got bored with minecraft a while ago, and now I also got bored with maintaining my plugins. That means that there will be no more feature updates by me. If you want to take over this plugin, please send me a pm on this forum and I will answer your questions, put a link here to your version etc.
     
  2. Offline

    xupwup

    I thought it was about the title, which did not comply to their template. It does now though.
     
  3. Offline

    Firestar

  4. Offline

    QQCucumber

    Apparently not. [​IMG]
     
  5. Offline

    xupwup

  6. Offline

    QQCucumber

    xupwup, I'm not sure I understand why the sky has to be jerky for this to work properly. Isn't the default day/night time 10 minutes in the first place, and the plugin makes it 20? And it doesn't seem to jerk with 1.0 speed, at all. So why am I not able to make day 20 minutes or 30 minutes and have night stay at the default 10 without any jerkiness?
     
  7. Offline

    Ovocean

    QQCucumber, the default cycle is 20 minutes (10 for day, 7 for night, 1.5 for dusk, 1.5 for dawn). So 1.0 speed is the default. Whenever you change from that default, there is jerkiness.
     
  8. Offline

    Simanova

    Broken in #282 for me. Plugin is loading correct, but has no effect
     
  9. Offline

    xupwup

    No errors in the console?

    Please note that this plugin (with its default settings) should not have any effect on a server that is not lagging. Its purpose is to force the timespeed to what it is supposed to be, or to change the timespeeds to your liking. If you use the default config file, and have a lag free server, this wont have any effect.
     
  10. Offline

    DerET

  11. Offline

    xupwup

  12. Offline

    DerET

    Thank you, I love this plugin. It's much better than extendday ;)
     
  13. Offline

    Arcwolf

    nice!

    Remember I asked about the dawn dusk setting a page ago. I asked because of the flickering I was seeing. While I dont recall ever seeing the flicker at dawn, it was and seems to still be happening at dusk. I've been watching it and trying to find a setting that would lessen it but I think its not something thats resolvable with changing the currently available settings. (at least within the bounds of how I want my day time to be)

    timespeedDay: .25
    timespeedNight: 2.0
    timespeedDusk: 1.0
    timespeedDawn: 1.0

    Are the settings I'm using, From what I understand about the way this is working is that the server is telling the client that the correct time of day is going too fast and should be reset back to what the server has. So if the server says its 1900 the client might be saying its 2000. The client resets to 1900. If dawn is at 2000 and is not at 1900 then the screen flashes from dark to light. I'm thinking that a solution to this would be to move the time that dawn and dusk on the server takes over. If dawn for the server is at 2000 then when the server switches over to the default 1.0x speed dawn setting would actually be at 1900 instead. So the client and the server are now in more sync and removing the flicker issue. I'm not sure if you would even want to bother implementing something like that. But I'm thinking some sort of setting in the config that one could change to cut off the timing for day and allow day to be 1.0x. An override of sorts.

    Like for my settings might be:

    overrideDawn = 7
    overrideDusk=19

    Not sure though. May even be easier to do some kind of ratio. If user specifies a day speed faster or slower than 1x the time at which the server stops controlling the day cycle expands automatically to match the timespeedDay setting. So that a speed of 1x would left as normal but a speed of .5 would turn set the timespeedDay setting to 1.0x at around 1930 something like that. I'm just guessing here. It would have to be a trial and error.

    I guess the other solution is me to stop making my day last so long lol :)

    Anyway, thanks for listening.
     
  14. Offline

    Ovocean

    Sounds like a good idea to me.
    But wouldn't it be easier to just set a fixed offset of 10s (or a bit more) for dusk and dawn, since it's the interval where there's a risk that the server sends the day or night time while the client is already into dusk or dawn ?
    Or is my logic flawed ?

    PS: You should use commas, some of your long sentences are difficult to understand. ;)
     
  15. Offline

    Maluzis

    In the game, I have two worlds. Nether, and the primary world. I understand that theWorld ID is simply 0, and the Nether is 1?
     
  16. Offline

    xupwup

    Probably, that depends on how you set it up. Just try something, and see what it does.

    This happens if your timespeed is less than one. So if you were to set your timespeed for night to .25 you will get the same problem. I'll see what I can do.
     
  17. Offline

    Arcwolf

    thanks, I'd appreciate it!
     
  18. Offline

    xupwup

    Should be fixed in v1.6
     
  19. Offline

    Arcwolf

    [​IMG] Tested and meets, no... exceeds expectations! I just had a wonderful sunset... Many thanks!
     
  20. Offline

    Simanova

    Using CraftBukkit , recommended Version 53
    http://ci.bukkit.org/job/dev-CraftBukkit/53/
     
  21. Offline

    xupwup

    This does not break anything, it is only ugly. I will fix this when I update the plugin for another feature/bugfix/compatibility update. So, this can take a while before I fix it, but the only negative effects are a few lines in the console, so fixing this has a very low priority.
     
  22. Offline

    Azraeil

    Lol, same problem here with the 'go nag the author'.

    My real issue is with the location of the propertime.conf. Could you move it to the plugins directory in a ProperTime subfolder?
     
  23. Offline

    mrgreaper

    we use extendday but the author has not been about for a while and saw this listed in its thread as one to try

    can we set this up so
    day lasts 50 minutes from dawn to dusk
    night lasts 10 minutes from sunset to sunrise?
    and if so how?
    the config file looks a little counter intuitive lol
     
  24. Offline

    Silvo

    I can't even FIND the config file
     
  25. Offline

    Blackstorm72

    Well if you think about it - 1 day = 13 Minutes (with sunset/sunrise = 1.5 minutes each) (www.minecraftwiki.net)
    1 night = 7 Minutes.

    On the config - 1.0 = 10 Minutes so if you wanted 50 Minutes(of full daytime) just do 50 divide by 10 (50/10) = 5 to get the daytime.
    Nighttime is the same - 1.0 = 7 Minutes so 10 Minutes of daytime is 10 divide by 7 (10/7) = 1.42 (plus more numbers).

    TL;DR - Just use division divided by how long sunrise, sunset, day, and night last.
    Day = 7 Minutes
    Night = 7 Minutes
    Dawn/Dusk = 1.5 Minutes

    Hope I helped somewhat :)
     
  26. Offline

    mrgreaper

    O.O think ill stick to extended day
    --
     
  27. Offline

    Blackstorm72

    I actually just found it (noob moment inc.) that doing that actually speeds up day and night.
    Definitely confusing - yes if division isn't your forte, stick with extend day.

    My server just had daytime going by every 2 minutes O.O
    The configuration is opposite what I said.
    4x Longer day = 0.25, not 4.00

    My bad!
     
  28. Offline

    mrgreaper

    at 0448 speach is bearly my forte let alone maths that can only be done on toes if i have a hacksaw
     
  29. Offline

    Ovocean

    You've got to know the default durations of the four parts of day:
    Day: 10 minutes
    Night: 7
    Dusk and dawn: 1.5

    If you want to change one of them to a specific duration, take the default and divide it by your new duration.
    E.g. I want 20 minutes of night : 7 / 20 = 0.35

    So in your case you'd have :

    timespeedDay: 0.2
    timespeedNight: 0.7
    timespeedDusk: 1.0
    timespeedDawn:1.0

    Dusk and dawn can't really be changed, it causes flickering of light. I've personnaly set them to 0.9 and it's ok, but below 0.8 the flickering is too noticeable.
     
  30. Offline

    Arcwolf

    Dinnerbone says "(Basically: If you receive a nag in your console, it means update it or it'll break this time tomorrow.)" IE thats today.

    http://forums.bukkit.org/threads/discussion-oops-i-broke-your-plugins.961/page-2#post-76625

    Think maybe you could bump up the priority maybe? I'd be ever so thankful!
     
  31. Offline

    mrgreaper

Share This Page