Inactive [FIX] OneTimeRenewal 0.4 - Chunks will get all new features of MC updates (only run once)[1185-1597]

Discussion in 'Inactive/Unsupported Plugins' started by cuco, Jun 19, 2011.

  1. Offline

    cuco

    Sorry, my English is not very good, but I hope you will unterstand all you need to know ;-)

    Plugin: OneTimeRenewal
    Version: v0.4

    This plugin will regenerate all chunks which haven't been modified by users so they will include all new features of Beta 1.6 like tall grass, ... If your chunks have been generated in Minecraft Beta, they will be nearly the same as before but include the new feautures. But attention: If you have chunks generated in pre-Beta (Minecraft Alpha) you will get sliced chunks or your terrain will look very different than before.

    It has to be run only one time at server start! It will do its regeneration then and after that it could/should be deleted. No CPU-consumption during gameplay!

    Some of the code is based on TerrainRenewal by nickrak which does nearly the same - but it does it always during the gameplay and needs much CPU. My plugin does it one time after the start of your server. Then it could be deleted and needs no CPU.

    License will be Creative Commons 3.0: Attribution, Non-commercial, Share-Alike according to the original codebase.
    [​IMG]

    Installation:
    1. Make a backup of your world!
    2. Download the plugin & extract all included files
    3. Copy the jar and the included directory into your craftbukkit plugins directory
    4. If you want: change the file "materials.list" (to say what is man-made or not)
    5. Change the file "configuration" to set which chunks should be regenerated. The format is Xmin,Xmax,Ymin,Ymax. If you set them too small, not all of your map will be regenerated. If you set them too big, it will take a little longer , but it will NOT generate additional (new) chunks. If you don't know how to set it: go to the point of your map which is the most far away from spawn. Press F3 and write down your coordinates. Divide them by 16 and now you have the chunkcoordinates where you are standing. Maybe add a little bit to be sure. Now fill them into the file "configuration". Maximum is 784426 (after that the farlands are beginning). But don't try numbers as big as that or it has to check 2,461,299,735,609 chunks for updates!
    6. Start the server
    7. Wait for regeneration (on huge maps this could take some time!)
    8. Stop the server
    9. Delete all files of my plugin
    10. Done :) Enjoy the new feautures!
    Warning: It may destroy your buildings which seem not to be man made (if you build something only out of not crafted materials (dirt, sand, stone) without any use of torches or other crafted materials). Backup your world before running it!

    Features:
    • Test all chunk wether it is modified or not
    • Regenerates all unmodified chunks
    • Include all new features in this regnerated chunks
    • Config-File to set materials which must be included in a chunk to say it is modified
    • Config-File to set how many (or which) chunks should be regenerated
    • Checks whether it had run before and then skips the regeneration
    Download the plugin: http://tobby.eu/mc/plugins/OneTimeRenewal/OneTimeRenewal0.4.zip
    Source Code included in JAR-File

    Changelog:
    Version 0.4
    • Checks whether it had run before and then skips the regeneration
    • Compiled and tested with CB #1060
    Version 0.3
    • Massive speed improvement if it checks chunks which do not exist. You can now set bigger values in your configuration file without such a very big increasement of time like in v0.2.
    • Uses chunk unloading to save much RAM - now it is possible to run it without having very much memory on big maps
    • Better status display
    Version 0.2
    • Added configuration file to set the range for regeneration
    • Removed hardcoded range-limits
    • Fixed status-messages (now they display how many chunks have been regenerated and how many will follow)
    • Changed texts from German to English
    Version 0.1
    • Release
    Hope you like my plugin. It is my first plugin and it is my first Java program ever. So it could be bad coding :) Feel free to take a look at the code and say what I can do better.
     
    alex3yoyo and ssechaud like this.
  2. Offline

    ChrizC

    What exactly have you changed from TerrainRenewal?

    Chris :cool:
     
    Deleted user and KingPin like this.
  3. Offline

    cuco

    I removed the whole "OnPlayerMove" part to save CPU during the normal runtime and integrated the feature to regenerate the chunks one time at server-start. TerrainRenewal regenerates only "onPlayerMove" and only the chunks next to the player. So Terrain Renewal has to run always (until somebody walked over the hole server and over every second chunk) and this needs much CPU for regeneration. My plugin runs only once, regenerates the chunks and then does nothing anymore. It should be deleted after running it once. This needs much CPU only during the one-time-start with my plugin. After that it doesn't need CPU anymore.

    Released v0.2 :)
     
  4. Offline

    cuco

    Released v0.3 - it's now MUCH MUCH faster! And it needs much less RAM now!
     
  5. Offline

    KingPin

    nice concept, to make it slightly more foolproof, i suggest making a file after first run and if file exists the plugin doesnt run again, in case someone forgets to delete the plugin.
     
  6. Offline

    MMZ_TimeLord

    I have a large world, coordinates at the corners are +4,000, +4,000 X -4,000, -4,000. This works out to a bit over -250, 250, -250, 250 in your config. It works about a third of the way and gives me a JAVA heap size error.

    I'll probably run this in sections to get it to complete as -100, 100, -100, 100 seems to work fine.

    Thanks for the plugin!
     
  7. Offline

    cuco

    I'll add that! Thanks!
    I tested with my small map (about 50-80 x 50-80 chunks). Without chunk-unloading (V0.2) I had to give Java 4-6GB of RAM (config file -100,99,-100,99). With chunk-unloading (V0.3) Java didn't need more than ~650MB of RAM to regenerate my map, config was -300,300,-300,300.

    How much RAM do you give Java?

    And is it possible to send me your map? Contact me via PM. I don't have such a big map to test. Maybe I can optimize it.
     
  8. Offline

    MMZ_TimeLord

    I typically give JAVA at least a gig. I'll try and give it more. The world is over 1.5 Gigs in size.

    Thanks for the tip.
     
  9. I can't wait to possibly use this in 1.8 *smug face*
     
  10. Offline

    seajay1221

    This absolutely demolished my world. Random chunks, user touched or not, were regenerated with something other than my original seed so they look monstrous.
     
  11. Offline

    RaCooN

    I really love the idea and I've actually been searching for such a plug-in. One question though, does this mess-up specific biomes such as untouched groups of islands and change it to deserts or mountains?
     
  12. Offline

    seajay1221

    It totally changed my biomes. I'm not very happy with how poorly this ran on my server. I would be extremely cautious loading it.
     
  13. Offline

    RaCooN

    Thanks for the warning!
     
  14. Offline

    Bengu

    Could you make it have a percentage complete thing come up every 30 seconds or so, because that would really help!
     
  15. Offline

    cuco

    If your seed is untouched and not damaged and if the chunks were NOT generated in Minecraft Alpha, the chunks will get regenerated as they were new. No biome change, no change in landscape. Islands will stay islands and forests will stay forests.

    Maybe your world started in Minecraft Alpha? Or maybe you changed/damaged your seed? Or maybe you use a plugin which changes the algorithm of chunk generation?

    Tested it on my server. Chunks of Minecraft Alpha change biome/landscape. Minecraft Beta chunks only get the new features but have same biome/landscape.

    It gives a message every 100 regenerated chunks and every 10.000 skipped (not existing or modified) chunks. I will look whether I can change that to a time-based status message.
     
  16. Offline

    killgoblen

    Nice! Brilliant idea! I will surely use this when there's major terrain updates to MC.
     
  17. Offline

    seajay1221

    My map was generated in Beta 1.5. This is the first bukkit plugin I've run on it. I loaded an older save of the world and ran your plugin fine. Could have been some kind of fluke.
     
  18. Offline

    Madness

    I ran this plugin and compared the results with worldedit's //regen on some chunks, and then it hit me, why not just give the option to delete the "wild" chunks, so they get re-generated by the server naturally?
     
  19. Offline

    cuco

    You mean instead of regenerating existing chunks it should delete the chunks? And then wait for somebody who walk there so Bukkit generates a new chunk there?
    Hmmm maybe possible, but much much harder. And I don't know - why should this be better?
     
    Wakko likes this.
  20. Offline

    Madness

    You don't keep the data about chunks that have been altered, and use the native regen system only when it's actually necessary.
     
  21. Offline

    SzymekPL

    It seems you have broken level.dat file. I had same problem, but i had backuped level.dat from few months ago, replaced it and it works awesome! Thanks man for this plugin!
     
  22. Offline

    willystylee

    Does this work with b1000?


    Also,
    @cuco kinda random question: right now i'm pasting over a HUGE schematic i pulled from our old world. It's our old world because it also had a few regions corrupting (supposedly was fixed/corrupt regions were replaced by evan@ mcsaver.net, [i dont believe those regions are in this huge schematic]) Anyways so we have a new world thats about 3 weeks old, and if i past this huge schematic in from old world to new world, can i count on this plugin to still be able to renew the chunks in the land i imported that schematic to? The reason i ask is because the old world was originally created pre mcRegions.. what do you think?
     
  23. Offline

    cuco

    Hi willystylee

    I haven't tested it with #1000 but it should work.

    And I think the renewal of the huge schematic will occur some strange effects. The regenerated chunks will look like the NEW level should look like in that region. So if there are chunks in the schematic which seem to be not modified they will be regenerated and look very different! So you can only place torches (or other man-made-material) every 16 blocks (or less) in every direction (may also be placed under the surface). Then my plugin will leave them untouched. Or you have to set your values in the configuration file so it will not check and renew the chunks there. Or you have to live with sliced chunks and maybe you should edit them with worldedit after that so they will look better then.
     
  24. Offline

    puzzler995

    Hey cuco,
    This plugin looks really useful, and I was wondering, will you be updating it for the massive 1.8 update?
    Thanks,
    Puzzler995
     
  25. Offline

    cuco

    I'll try to do that, yes!
     
    Deleted user and godgodgodgo like this.
  26. Offline

    dak393

    Looking good think I'll use this for 1.8 :D you should really see how it runs in RB 1000 and update the title accordingly ^^
     
  27. Offline

    Yoshinat0r

    That is a very *very* good idea. One major benefit is your world size would be shaved down. So this plugin would end up killing two birds with one stone. It could act as an automatic world size reducer AND chunk regenerator. You should really consider this cuco.
     
  28. Offline

    cuco

    I took a short look - it seems to be very (!) hard to do that. There are no direct API-functions in Bukkit so it has to be fully coded in the plugin. And this is much harder since the new world-saveformat. So I think I can't do that, sorry.
     
  29. Offline

    dak393

    There was another plugin that checked if there were any "man-made" blocks in the chunk (torches, planks, glass, ect..) and then not update those chunks :)
     
  30. Offline

    Juze

    Considered inactive because of #860 in title.
     

Share This Page