[MISC] WorldRestore v0.4 - Restore worlds to their original state [LogBlock] [1.1-R1]

Discussion in 'Inactive/Unsupported Plugins' started by rodey, Jul 9, 2011.

  1. WorldRestore - Restore worlds to their original state
    Version: v0.4

    Now on BukkitDev!

    This plugin makes it possible to restore worlds to their original state.
    Every time the world has no more players in it will revert back to it's original state.

    This could be usefull where you got dungeons or other puzzle maps that need to be restored
    so other people can enjoy the original world, not altered by other people.


    Features:
    • Restore world to original state when there are no players in the world.
    • Uses LogBlock to restore.
    • Teleport back to the previous world on quit.
    Commands:

    • None yet
    Permissions:

    • None yet
    Config:

    worldRestoreDelay: An delay on when the world is empty before it starts restoring (10 seconds is default and minimum).
    teleportOnQuit: Teleport back to the location on quit. (TRUE recommended, unless other plugins let you teleport on quit).
    worlds: Restore these worlds when empty.
    debug: The usual displays debug info.


    ToDo:
    Setup:

    Download:
    Requires LogBlock download here
    Jar File: WorldRestore.jar
    Source Code:
    https://github.com/rodeyseijkens/WorldRestore

    A donation is greatly appreciated [​IMG]
    If you run a paid server and need some custom functionalities I'm willing to make that happen for you if you make a generous donation, contact me if you got some requests.


    Changelog:
    Show Spoiler

    Version 0.4 (29/1/2012)
    • Support for new Event System -> CB-1.1
    Version 0.3 (2/12/2011)
    • Updated for MC 1.0.0
    Version 0.2 (20/8/2011)
    • Now uses LogBlock to Restore the world.
    • Teleport on quit now handled by the plugin it self.
    Version 0.1 (10/7/2011)
    • Releasing my awesome plugin
     
    Fido488 likes this.
  2. Offline

    Sleaker

    so do the File I/O in a thread with a volatile boolean that tags the world as being 'in-backup' so player's can't teleport until it finishes the restore operation. This prevents issues/lag and is an all-around better option than going through a seperate plugin. (my opinion)
     
  3. I'm on it but I'm quite busy right now because I take part on a International Light Forum and its chewing up my time a lot...

    The teleport thing could be done by a other plugin, do you know if there is one. I know DreamLand has it inside the plugin because I contribute on it but are there any other ones?
     
  4. Offline

    Gallion

    If you can make it so the world can also be restored only when the server starts, it will be the perfect plugin for me.

    I use Multiverse and have a world that I have my players use to mine all their stuff to keep the integrity of the main world. If I could have the mining world restored every day, I could physically restrict its size which would reduce the memory usage. Alternatively, getting rid of that world altogether and only have a region of the main map be restored every day would be even better. It's an idea I had a long time ago, I even wanted to make the plugin myself but I had other things to do.

    Anyway, I'm going to watch this thread.
     
  5. The plugin will probably not involve a lot until the Guardian is released,
    until that time it will have minor functionality updates.

    Also 1317 functionality will be added soon,
    Bukkit has changed a lot in the new version around command sending and stuff.
     
  6. Offline

    Aro

    How goes the 1317 or 1337 update?
     
  7. Sorry I'm currently busy with an International Forum of Light in Art and Architecture.
    I will be working on my plugins again probably the next week, then I'm done with that "RL" Project ;)
     
  8. Offline

    dark1256

    great plugin, but this happens:

    Code:
    2011-11-03 16:17:35 [WARNING] Task of 'WorldRestore' generated an exception
    java.lang.IllegalAccessError: tried to access method org.bukkit.command.ConsoleCommandSender.<init>(Lorg/bukkit/Server;)V from class nl.rodey.WorldRestore.WorldRestore
        at nl.rodey.WorldRestore.WorldRestore.WorldRestoreRestore(WorldRestore.java:195)
        at nl.rodey.WorldRestore.WorldRestore.checkWorldPlayerList(WorldRestore.java:175)
        at nl.rodey.WorldRestore.WorldRestorePlayerListener$1.run(WorldRestorePlayerListener.java:77)
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:441)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
     
  9. Bukkit version?

    Currently It doesn't support the newer versions, wait for that on a update, probably next week.
     
  10. Offline

    dark1256

    @rodey yeah it is Build #1337 ^^ Please update it as soon as possible
     
  11. Offline

    Aro

    How goes it?
     
  12. Don't worry that I won't update the plugin, I also need it for my server.
    I hope I can deliver an update soon after the official release.
     
  13. Offline

    jinS

    I don't untherstand this plugin
    *sorry I'm korean
     
  14. Offline

    Rekorderlig

    This plugin seems great, and perfect for me!

    but wont work :/

    Console error:
    Code:
    20:06:55 [VARNING] Task of 'WorldRestore' generated an exception
    java.lang.IllegalAccessError: tried to access method org.bukkit.command.ConsoleC
    ommandSender.<init>(Lorg/bukkit/Server;)V from class nl.rodey.WorldRestore.World
    Restore
            at nl.rodey.WorldRestore.WorldRestore.WorldRestoreRestore(WorldRestore.j
    ava:195)
            at nl.rodey.WorldRestore.WorldRestore.checkWorldPlayerList(WorldRestore.
    java:175)
            at nl.rodey.WorldRestore.WorldRestorePlayerListener$1.run(WorldRestorePl
    ayerListener.java:77)
            at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(C
    raftScheduler.java:137)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:482)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    >
     
  15. The current build isn't ready for the later Bukkit versions.
    Wait for an update.
     
  16. Offline

    Rekorderlig

    aaahhh, thanks :)
     
  17. Offline

    PyPKjE

    [SEVERE] Could not pass event PLAYER_QUIT to WorldRestore
    java.lang.NullPointerException
    at org.bukkit.craftbukkit.entity.CraftPlayer.teleport(CraftPlayer.java:319)
    at nl.rodey.WorldRestore.WorldRestorePlayerListener.onPlayerQuit(WorldRestorePlayerListener.java:51)
    at org.bukkit.plugin.java.JavaPluginLoader$2.execute(JavaPluginLoader.java:267)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ServerConfigurationManager.disconnect(ServerConfigurationManager.java:159)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:650)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:231)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:516)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
     
  18. If you are going to use the teleportOnQuit thing you need to come from an other world first.
    Else disable it if you want to restore the world regardless if the players positions are still in the world that gets restored.
     

Share This Page