[MECH][FUN] TimeShift 2.0.1 ~ Change Time on-the-fly! [b1337]

Discussion in 'Inactive/Unsupported Plugins' started by Tazzernator, Jan 19, 2011.

  1. Offline

    Tazzernator

    Xordaii, arpey, Steve Cole and 2 others like this.
  2. Offline

    EvilSeph

    We do not delete threads unless absolutely necessary. This thread will only be locked and set as UNSUPPORTED when Sturmeh has released a suitable alternative as this plugin is still being used.
     
  3. Offline

    ccman125

  4. Offline

    Tazzernator

    /shift day
    /shift night
    /shit stop
    /time commands will also stop the shift.
     
    cjc343 likes this.
  5. Offline

    Deano

    I want the darn plugin back. please!
     
  6. Offline

    Tazzernator

  7. Offline

    cjc343

    I guarantee nothing. I offer no warranty. I will abandon this the second Noon or TimeRift serves the same purpose, but until then, will probably attempt to keep it working for my own server.

    I make no guarantees as to my timeliness either.

    All code is written by Tazzernator and feverdream. Source is included in the TimeShift folder. Changes are tagged in comments for anyone who cares, although I mention them and myself in them only to facilitate understanding of the code (and why 'server' doesn't always mean server anymore).

    Tazzernator, if you feel it appropriate to (publicly, since I'm guessing you made similar changes as well for yourself) include any of these (2) changes in your code, you have my full permission.

    I am running 231 iirc.

    E: If this version doesn't work, check out the new version in the post below.
     

    Attached Files:

  8. Offline

    feverdream

    since the code for it was taken from them anyway, all functionality will be in my plugins and this thread can be closed in my humble opinion.

    Original plugin updated..
     
  9. Offline

    Tazzernator

    get over yourself mate.
     
    cjc343 likes this.
  10. Offline

    feverdream

    Taz, Noon has this functionality in it, so..
     
  11. Offline

    Tazzernator

    So I'll wait for TimeRift- And advise my users to do so also.
     
    cjc343 likes this.
  12. Offline

    cjc343

    I have decided for several reasons that I am not interested in using Noon at this point. (Two being: 1. It doesn't sound like it's working right now. 2. feverdream has expressly asked that I not release temporary builds again, and hasn't released source for his latest version.)

    As such, I will be keeping this semi-updated until TimeRift has been ported to bukkit. It should be noted that this plugin uses logic similar to Noon in order to determine and set the correct time of day. This part of the code was modified by Tazzernator, and proper credit was given to feverdream. AGPL, the license Noon's source was released under, also asks that dates of modification, and a prominent notice that the class is also AGPL be included. I have included approximate dates and a notice in TimeShiftTimer's source in order to meet all AGPL requirements.

    I would like to emphasize that my continued development of TimeShift is not meant to prevent development of TimeRift. I am still looking forward to seeing TimeRift ported, and willingly submit any of my code to be used in it if Sturmeh wishes to.

    Now, down to business:

    This is (because I say so) release 1.4 of TimeShift. It has been tested with Build 256 of CB.

    Two new features are available:

    1. Optional Permissions support.
    - If you have Permissions installed, you may give out the following nodes:​
    timeshift.shift​
    timeshift.startup​

    - If you don't have Permissions installed, the plugin should continue to work as expected, but all users will have full control.​

    2. Ability to set server startup/reload behavior.
    - By default, the server will not loop.​
    - You can control loop behavior with the following commands:​
    /shift startup day​
    /shift startup night​
    /shift startup stop​

    - These commands do not change the current behavior, only what the server will do next time it starts (or is '/reload' ed).​
    - These commands require timeshift.startup permission if Permissions is installed.​

    For reference, the other commands are:
    /shift day​
    /shift night​
    /shift stop​

    /time​

    - These commands require timeshift.shift permission if Permissions is installed.​

    Finally, TimeShift's files have been moved to the plugins/TimeShift folder. You may delete TimeShift.time from your server's root directory if you wish.


    E: There is an updated version for later CB builds below.

     

    Attached Files:

  13. Offline

    QQCucumber

    Could you give TimeShift optional functionality that resembles ExtendDay cjc?
     
  14. Offline

    cjc343

    ExtendDay is a lot bigger, and I'm not about to look at the source to do it. I also wouldn't want to combine anything like that into TimeShift. I also don't want to end up responsible for maintaining all the time plugins, and am really hoping this is a temporary thing.

    I'd recommend running an earlier CraftBukkit that is still compatible for now, hopefully feverdream will be on soon and able to update it.
     
  15. Offline

    EvilSeph

  16. The getWorlds() fucntion has been altered and the plugin now crashes on loading, CB 271
     
  17. Offline

    cjc343

    TimeShift 1.4.3 is available here: http://forums.bukkit.org/posts/67007/

    1.4.1 (On Left, OLD):

    I was hoping to get a few more optimizations in before I released a new version, especially since I don't have my latest source with me.

    Oh well. Try this one. It's almost identical to the one above, except it's built with a newer build of Bukkit.

    I haven't been able to test it where I am, so I don't know if it's working or not. Please post your startup logs if it does not work for you.

    If it's not working, I'll be home in about 2 hours and able to properly test before I release it.

    E: I'm assuming for now that 2 downloads and no messages means it's working in later CB versions -- back to working in some optimizations. Let me know if that's not the case.
    --- merged: Feb 8, 2011 2:52 AM ---

    1.4.2 (On Right, NEW):

    E: Built for 271+, tested on 271 and 320

    Alright, the changes to this version are all behind-the-scenes.

    For those of you who are curious, here's why this version is better:

    1. Properly follows plugin path information instead of hardcoding a plugins/TimeShift folder. This ensures that even in some non-standard bukkit setups, TimeShift will continue to function.

    2. Removed most file reads/file writes. This ensures that TimeShift only needs to read your settings once, and will only write them if your startup options change. Overall, this should make TimeShift more resource-friendly and easier on servers. (Not that it's ever been hard on them...)

    3. Theoretically (untested) added support for different settings for different worlds.

    Aside from multi-world support, this plugin has been:

    tested with CraftBukkit B271 and B320


    and is version 1.4.2 of TimeShift.

    TimeShift 1.4.3 is available here: http://forums.bukkit.org/posts/67007/
    << on Left: This is a temp build, 1.4.1. ---- >> on Right: build, 1.4.2 \/
     

    Attached Files:

  18. Offline

    WardenWolf

    For the record: 1.4.1 works on CraftBukkit Build 210. Build 1.4.2 does not.

    I'd just like to say thank you, Tazzernator, for providing functionality that did not yet exist under Bukkit. And as for Feverdream, you didn't have your plugin available for Bukkit yet, did you? All indications were that you'd abandoned it, in fact. So you know what? Chill. Tazzernator has been nothing but polite here, even offering his code to help you get TimeRift ready, yet you are trying to have his WORKING plugin shut down and deleted from the forums when you have not yet devoted time to working on your own version. Stop trying to stifle progress. When you have your plugin working, maybe try politely asking Tazzernator to take his down.
     
    cjc343 likes this.
  19. Offline

    cjc343

    Whaaa?? The last build that should have been working on 210 was either Tazz's or the first one I posted. That's insane.

    I'm not surprised that 1.4.2 doesn't, just surprised that 1.4.1 does.

    Can anyone confirm that 1.4.2 DOES work for them on more recent CB versions? :p

    E: 271 (the CraftBukkit) is apparently pretty messed up though. Taking lava/fire damage randomly is kinda fun though. Should be made into some new stamina mode, survive for as long as you can stand to move.
     
  20. Yup works on 271+ so far ;) thanks for the update!
     
  21. Offline

    WardenWolf

    It's amazingly difficult to find a "sweet spot" build where all the plugins you need for your server work properly.
     
  22. Offline

    feverdream


    Who said that? I never said anything about abandoning any project; Please explain.
     
  23. Offline

    letmedl

    Any chance of getting an explanation of what exactly this does? Most plugins have a little explanation in the first post.
     
  24. Offline

    Tazzernator

    Done.
     
    cjc343 likes this.
  25. Offline

    cjc343

    TimeShift 1.4.3
    Tested with CraftBukkit 320 and CraftBukkit 345.
    Tested with two worlds.
    Breaks existing start-up settings (sorry).

    Built with Bukkit 166.

    Gives warnings in newer CraftBukkit builds but should still work. The next build will be available once bukkit works with Minecraft 1.3



    [Change Log]

    1.4.3: Refactored/Optimized code. Uses yml to request /shift commands. New storage method. Namespace changed.


    This was supposed to be a super-rushed release that happened as soon as the bukkit namespace was sealed. Then it wasn't sealed. I figured it would be a good time to come into compliance anyways.

    This release optimizes many behind-the-scenes actions, and changes the file storage to come into line with the way TimeShift now represents data internally. This will cause any startup settings to break. TimeShift now uses a different file which pairs your settings against worldnames. You can still do all the setup via in-game commands.

    TimeShift now uses onCommand and yml to request usage of the /shift commands. It does not do this for the /time command in order to prevent conflict with other plugins. If /time is not explicitly claimed in another plugin's yml file, active shifts will still be canceled by any /time commands.
     

    Attached Files:

  26. Tested under Bukkit#405 works perfectly, just getting the Warning about the odd constructor still getting used.
     
  27. Offline

    cjc343

    [Change Log]

    1.4.3.1: Discontinued Build. Temp build/test build. Removed constructor.

    I've gotten independent reports that this isn't working on 405 or 409. I realized after the fact that I made some other code changes that I forgot about. 1.4.3 should continue to work, with warnings, for now.

    Normally, I'd release 1.4.4 here, fully test it, and get it out there, but when I loaded up Minecraft to start testing a build, I got hit with the 1.3 update.

    Therefore, since 1.4.3 is working, 1.4.4 will come once bukkit is updated for Minecraft.
     
    Tazzernator likes this.
  28. Doesn't work on #405.
    Thanks anyway getting bukkit updated soon ;)
     
  29. Offline

    M1sT3rM4n

    TBH if you don't see TimeRift having any new updates you might as well as update yours :)
     
  30. Offline

    cjc343

    Sorry about that -- 1.4.3 should still be working for now (with warnings), and I'll get a new version out after bukkit's been updated to work with the latest minecraft.

    TimeRift isn't here yet, so TimeShift is still being updated. 1.4.3 is the latest build (although it's not much use right now unless you saved your bin folder for the client...). It will throw warnings in newer CraftBukkits, but will still work.
     
  31. Offline

    Tazzernator

    1.4.3.2

    Works 405+ -- Tested on 409.


    @cjc343

    What i've done is change the constructor for both

    Code:
    private final TimeShiftCommandParser commandParser = new TimeShiftCommandParser(this);
    private final TimeShiftPlayerListener tspl = new TimeShiftPlayerListener(this);
    
    You can note that the server instance is not passed through anymore, but instead we now call the server instance through the plugin instance.

    plugin.getServer().whatever

    :)
    --- merged: Feb 23, 2011 3:25 AM ---
    Updated OP.
    --- merged: Feb 23, 2011 5:19 AM ---
    Confirmed Working for 1.3 - b423
     

    Attached Files:

    cjc343 likes this.

Share This Page