[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

    Razer19

    How can i make it, that we have all the time day?
    And why does no changin work???
    Is this mod up to date?

    Code:
    # Use 2 for double speed, 3 for triple, etc.
    # At 1x speed, the complete day-night cycle takes 20 minutes.
    
    world: FlatWorld
    timespeedDay: 0
    timespeedNight: 1.0
    timespeedDusk: 1.0
    timespeedDawn: 1.0
     
  3. Offline

    snayler0

    Hey, awesome plugin.

    I'm getting an error though =(

    properTime.conf
    Code:
    # Use 2 for double speed, 3 for triple, etc.
    
    # At 1x speed, the complete day-night cycle takes 20 minutes.
      
    world: Server
    
        timespeedDay: 1.0
    
        timespeedNight: 1.0
    
        timespeedDusk: 1.0
    
        timespeedDawn: 1.0
    
    [​IMG]

    What am i doing wrong?
     
  4. Offline

    xupwup

    Nothing, that was a bug in the parser. Should be fixed in version 1.8.3.
     
  5. Offline

    Razer19

    does not work :(
    Code:
    # Use 2 for double speed, 3 for triple, etc.
    # At 1x speed, the complete day-night cycle takes 20 minutes.
    
    world: FlatWorld
    timespeedDay: 1.0
    timespeedNight: 1.0
    timespeedDusk: 1.0
    timespeedDawn: 1.0
    perma: 7500
     
  6. Offline

    xupwup

    Fixed in v1.8.4.
    EDIT: Fixed in 8 minutes, fuck yeah!
     
  7. Offline

    Jonathan Bloom

    What would the right settings be to have day and night last 1 hour? I did 0.3 for both of them and 0.5 for dusk/dawn. This doesn't make them last 1 hour.
     
  8. Offline

    L24D

    Bit of a minor problem with it, It doesn't support world names with spaces, and thus refuses to load for me.
    "unable to load the world: The"
    then it just says it's not going to load the propertime.conf

    that's about it... :p
     
  9. Offline

    xupwup

    Day: normal = 10 minutes, so you need 1/6 = 0.166 to make it (approx) 60 minutes.
    Night: normal = 7 minutes, so you need 1/(60/7) = 0.116 to make it 60 minutes.
    I would set dusk/dawn to 1 to avoid flickering.

    Mmh... I suspect this plugin is not the only one with this problem, am I right?
     
  10. Offline

    Jonathan Bloom

    Thank you so much! This has appeased all of my members! :D
     
  11. Offline

    L24D

    Ah, actually it's the only one that i've found that does it, out of the approx. 30 plugins i use.
    Anyways. :p
    And yeah, I know, that's a bit excessive.
     
  12. Offline

    xupwup

  13. Offline

    cloudstrife0257

    Is there a way you can make sunrises and sunsets operate differently when slowed down? Cause it just twitches back and forth from lighter to darker to slow it down, which just makes it annoying. It would be appreciated if you replied to me at least calling me an idiot... better than be just talking to myself.
     
  14. Offline

    xupwup

    No, this cannot be done without a client mod. I suggest you set the dawn and dusk timespeeds to 1, to fix the flickering.
     
  15. Offline

    runyet1

    I love the idea for this but I cant find the place where you change how long its day and night for. I download it and all i get is the propertime jar file. so could u help me out some
     
  16. Offline

    Arcwolf

    For some reason this plugin doesnt want to recognize the world created by Nether plugin. Neither the 1.1 version, nor the 1.21 unofficial versions world is recognized as existing. I add it to the config file and [INFO] World netherworld not found. Is what I see in the log. I've tried changing the nether plugins name so it loads higher and lower in the load order. But it doesnt seem to matter. Any thoughts as to why this might be. I'd like to use this to prevent day from happening in the nether. So I dont have to see blue day sky in the distance any more.
     
  17. Offline

    xupwup

    Mmh... the world name is probably case-sensitive, so check that. Also, your nether plugin MUST load before this one (you already tried that, but just to be sure). You could try to delete your propertime.conf, so that it is generated again.
     
  18. Offline

    Arcwolf

    Tried those suggestions already but I went ahead and tried it again. Same results. The case is identical, its all in lower case and all one word. I've even copy and pasted the file name from the windows folder and put it into the config. Still a no go. :-/ hmmm I duno why its not seeing it. I have the plugin EpicGates which I used to create another world. This plugin sees that world just fine and auto adds it to the config. It however, does not see the world created automatically by Nether plugin...

    I wonder if it doesnt have something to do with how Nether plugin is loading its world. It doesnt seem to load the world until someone actually enters that world for the first time. I noticed that even warps dont work into that world until someone enters the nether portal. :-/ hmmm I might have to look at the Nether plugin's source and see what different from it and other world creating plugins.

    ---edit---

    getServer().createWorld(worldName, Environment.NETHER);
    System.out.println("Loaded World [" + worldName + "]");

    I added that to Nether plugin in onEnable and fixed the problem. :rolleyes: figures it was something easy like that. Never mind then :cool:

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 7, 2016
  19. Offline

    NotoriousPyro

    Love this, working well.
    Using this as my config:
    Code:
    world: world
    timespeedDay: 0.5
    timespeedNight: 1.4
    timespeedDusk: 1.0
    timespeedDawn: 1.0
    perma: -1
    This achieves the following:
    Days last 20 minutes
    Nights last 5 minutes
    Dusk and Dawn last 1.5 minutes
     
  20. Offline

    Phat32

    I am having a problem using this with multiple worlds. The issue seems to be properTime loads before Multiverse, then never re-checks. So the time works in the base world but no the others.
     
  21. Offline

    xupwup

    Rename properTime.jar to zProperTime.jar. The problem is that the plugin that generates the world needs to load before propertime.
     
  22. Offline

    Phat32

    That works. Thank you so much
     
  23. hi there. just wanted to confirm this plugin seems to work without issues on b602jnks !
     
  24. It doesn't understand world names with spaces.
    Multiverse handles them, but this only looks at the first word.
     
  25. Offline

    NotoriousPyro

    This is broken in MC 1.4 (bukkit 608), the time seems to be constantly the same.

    Edit: Seems like it's not the plugin causing the problems.
     
  26. Offline

    Manbeast77

    Actually, it is the plugin causing the issue. Why? I have no idea. Basically, I unloaded every plugin I had, then loaded just this one. Bam, time froze. Hope he updates it, because I love it.
     
  27. Offline

    NotoriousPyro

    Strange because I left all my other plugins on and removed this and the problem still appeared. Without bukkit, the time is fine - I'll take another look tonight.

    @Manbeast77
    Seems to be fixed for me with bukkit 617. Wasn't this plugin alone after all.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 7, 2016
  28. Offline

    Nate204

    This plugin is still broken. Im on 617 and it crashes java at server launch. It works if you don't edit your config file for it. As soon as you do though, instant crash.

    Here is mine:
    As soon as I tough it and edit it to this (or anything else), It crashes java as a whole.
    The crash:
    I know it's the plugin, because as soon as I tough the config I get this. If I delete it, and let it make a new one~ IT starts up fine every time.
     
  29. Offline

    xupwup

    It is not supposed to be possible to write something in java that can crash your jvm. So, if my code crashes your jvm, please file a bug against java.
    Also, I cannot reproduce your crash, CB621.
    Code:
    [[email protected] mcserver]$ cat plugins/properTime/properTime.conf
    # Use 2 for double speed, 3 for triple, etc.
    # At 1x speed, the complete day-night cycle takes 20 minutes.
    
    world: world
    timespeedDay: 0.3
    timespeedNight: 2.0
    timespeedDusk: 1.0
    timespeedDawn: 1.0
    perma: -1
    [[email protected] mcserver]$ java -jar craftbukkit-0.0.1-SNAPSHOT.jar 
    20:22:53 [INFO] Starting minecraft server version Beta 1.4
    20:22:53 [INFO] Loading properties
    20:22:53 [INFO] Starting Minecraft server on *:25565
    20:22:53 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-617-g78ac8a8-b621jnks (MC: 1.4)
    20:22:53 [INFO] Preparing level "world"
    20:22:53 [INFO] Preparing start region
    20:22:53 [INFO] 144 recipes
    20:22:53 [INFO] properTime 1.8.4 initialized
    20:22:53 [INFO] properTime reading from config at /home/rick/Downloads/mcserver/plugins/properTime/properTime.conf
    20:22:53 [INFO] LightVote 1.59 initialized
    20:22:53 [INFO] LightVote 1.59 scanning properties file.
    20:22:53 [INFO] Done (0.058s)! For help, type "help" or "?"
    >
    
    As you can see it works fine here.
    Java version:
    Code:
    [[email protected] mcserver]$ java -version
    java version "1.6.0_24"
    Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
    Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
    
    EDIT: I just noticed you had java 7, isn't that experimental?
     
  30. Offline

    Nate204

    I appreciate your feedback. I read back on my post now and I feel I've misplaced it.
    There must be something wrong with my Java version. I posted a help request in the bukkit help section of the site!

    Thanks for your feedback =)
     
  31. Offline

    NotoriousPyro

    @Nate204

    Works fine for me:
    Code:
    2011-04-01 19:40:03 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-612-g4c7a9e7-b617jnks (MC: 1.4)
    Code:
    2011-04-01 19:43:01 [INFO] properTime 1.8.4 initialized
    2011-04-01 19:43:01 [INFO] properTime reading from config at /share/HDA_DATA/mc/plugins/properTime/properTime.conf
    As xupwup said, you're running an experimental Java which is most likely the cause
     

Share This Page