Inactive [SEC] CreeperHeal v4.13 - Repair Creeper damage, the natural way! [1.2.5]

Discussion in 'Inactive/Unsupported Plugins' started by Nitnelave, Jun 21, 2011.

  1. Offline

    Nitnelave

    CreeperHeal


    The project in now on BukkitDev! Go there to find all the news, downloads, error reporting, and everything else!
     
  2. Offline

    Junrall

    Oh... gotcha.
    Ideally, having options for both would be best... you just know that if you don't do it this way, someone will ask for it later. ;)
    If you do add support for LWC... you might add support for Lockette as well.. these two are the big ones.
    So, an option that can be set to: All, lwc, or lockette would be great.

    Just curious... since chests and what-not don't have the correct orientation when they re-spawn, why not have your plugin temporarily save the orientation to a file just before the explosion, then reload the orientation when the blocks are re-spawned?
     
  3. Offline

    Nitnelave

    Technically, orientation is saved. I'll try to add a double-save, but I'm not sure it would work. Last I checked (but that was a while ago, I admit), Lockette didn't have an easy way to check if a block is protected, but I'll ask again. I can definitely add lwc support, for just containers or any block (?), and if I can, Lockette.
     
  4. Offline

    Junrall

    Well, thanks for having a go at it :) If you are able to implement Lockette... cool! If not... still cool!
    As for lwc... I'm sure the lwc users will be very happy for this.

    And thanks for following up... it is appreciated ;)
     
  5. Offline

    EnzoFX

    Just tried this out, and for some reason I thought I had it working to where it repaired a creeper explosion after I entered the /ch command. However upon further testing, it seems like it's always just on or off for the world. Is it possible to have it off, so it's not automatic, however be manually triggered by just a simple command?
     
  6. Offline

    Nitnelave

    No, it's not possible. The blocks would get replaced anyway when the plugin switches off. And if you don't replace the blocks automatically, the explosions will accumulate and saturate the memory.
     
  7. Offline

    l104693

    I mean that the contents drop on the ground. When a creeper explodes in a house, everything is destroyed, but will restore itself after time, EXCEPT the chests. And the chest contents needs to drop ofcourse :)
     
  8. Offline

    LtMattmoo

    Is it possible to configure this plugin so that blocks placed in areas being repaired are not overwritten? I have set wait-before-heal to 2500 and I'm afraid that without this functionality my players may make modifications to their destroyed structures and then find the modifications undone by repairing blocks. If this is not currently possible, I would like to suggest it for a future update.
     
  9. Offline

    Nitnelave

    I can do that. What do you suggest? That the ressource (the block that exploded) drop on the ground instead? Or just disappear?

    I haven't tried that, but try and blacklist the chest. Give me feedback on how it goes, I don't know how the inventory will react.

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

    LtMattmoo

    Personally, I'd like for the resource to just disappear. But, for the sakes of this plugin, I would recommend that, if it's not too much trouble, you attempt to make this configurable between your two suggestions.
     
  11. Offline

    Nitnelave

    Yeah, I'll probably do that.
     
  12. Offline

    Nitnelave

    @LtMattmoo @l104693 @Junrall @teegee543 @Cultist O @juan3939 New Update!
    Version 4.0!
    It should fix all of your little problems, and even more (orientation, traps not getting replaced...) The only bug left (that I know of, but I'm sure you'll be delighted to point out some more) is a bukkit bug that should get fixed in the 1.9 update causing some wires and such to drop instead of getting replaced.
    I also added support for LWC and Lockette, and an option to choose which block overwrites which, well, everything you asked for. I rewrote the config with clearer names, so you might want to back it up and let the plugin create a new one. Or you can download the default one I'll be putting on BukkitDev.

    If you have any question, suggestion, remarks, issues, etc... ask away! But please for issues/requests use the bukkitdev ticket system, it's easier for me to keep track!

    A big thanks to @Thulinma for the help he provided for this update.
     
  13. Offline

    Junrall

    @Nitnelave

    Now that's an update! Downloading for a test run!
     
  14. Offline

    Switch0r

    Thanks for the update but i am getting this errors now and it seems to crash the server.
    -
    Code:
    2011-10-30 20:08:02 [SEVERE] java.util.ConcurrentModificationException
    2011-10-30 20:08:02 [SEVERE]     at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
    2011-10-30 20:08:02 [SEVERE]     at java.util.ArrayList$Itr.next(Unknown Source)
    2011-10-30 20:08:02 [SEVERE]     at org.bukkit.craftbukkit.entity.CraftEntity.getNearbyEntities(CraftEntity.java:150)
    2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal.check_player_one_block(CreeperHeal.java:819)
    2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal.replace_one_block(CreeperHeal.java:809)
    2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(CreeperHeal.java:771)
    2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal$1.run(CreeperHeal.java:311)
    2011-10-30 20:08:02 [SEVERE]     at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-10-30 20:08:02 [SEVERE]     at java.lang.Thread.run(Unknown Source)
     
  15. Offline

    Nitnelave

    I'll try to have a look tomorrow. But I did make every list and map synchronized...
     
  16. Offline

    Nitnelave

    Everyone! In the next update, paintings are supported! I just have to fix a few bugs, like the one mentioned just above... I can't reproduce it clearly...
    @Cultist O We may have a solution for your problem (trap explosions not getting replaced), but it all depends on a pull request...

    Version 4.1 is out! A few bugfixes, and most of all PAINTING SUPPORT!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  17. This thread has been reassigned from redpois0n to Nitnelave by an administrator.

    If this was unexpected, either of the two listed users should contact an administrator by clicking on the Report link below this post.
     
    Nitnelave likes this.
  18. Offline

    Sevennemesis

    approved!! this plugin is very fun and cool!
     
  19. Offline

    msfoste

    Works great! Thanks!
     
  20. Offline

    Nitnelave

  21. Offline

    Junrall

    @Nitnelave
    Worked like a charm!
    Though... I did get a lot of wtf when tnt was rolled back... lol, a quick setting change solved this!

    Thank you so much!:)
     
  22. Offline

    Cloverhook

    I seem to be getting an issue when multiple creepers detonate one after another in the same area... Had one of the factions on my server lure several creepers to another faction's base to blow through the wall, and the wall never healed. The console is spamming block_break and replacing blocks messages, but otherwise isn't telling me anything useful.

    We figure that maybe the latter explosions overwrote the first ones, or something? So that the CreeperHeal for the first explosion thinks a space should have a solid block put back, while the CH for the latter explosions thinks it's supposed to be air? Does that make sense?

    I've tested single-creeper explosions in faction territory, and CreeperHeal heals it perfectly. Multi-creeper explosions -- provided there's a small delay between each -- in non-faction territory produces the same never-healing damage that we saw in the faction territory, however.

    Is there a way to fix this? Something I missed in the config maybe? WorldGuard and Factions are the only region-protection plugins I have installed, and both are set to allow creeper and tnt explosions.

    I have CreeperHeal set to start healing after 300 seconds (5 minutes) and to heal block by block at the default rate.

    Any help, or even a nudge in the right direction, would be immensely appreciated. We love the versatility this plugin gives us when combined with the competitive pvp/raids of Factions, so we'd definitely like to get those multi-explosions to work; otherwise, no matter how well the plugin works with single-explosions, the system can be exploited by detonating several things with a tiny delay.
     
  23. Offline

    Nitnelave

    I didn't try with Creepers, but exploding a block of 120 TNT worked like a charm, and I did something to handle simultaneous explosions. Are you sure you have the latest version of the plugin? By the way, you can lower the message-level to 1, if you don't want useless messages spamming your console. If it doesn't replace an explosion, check for an exception in the log. I'll try today with several Creepers.
    If you could give me the server log from around the explosion, that would help, along with your settings. Nothing got replaced, or just a part was missing? A certain type of block? Could you be more accurate?
     
  24. Offline

    Cloverhook

    It only fails to regenerate if the explosions are slightly delayed -- one explosion, then a couple seconds, then a couple more explosions. Absolutely none of it regenerates. I'm using version 4.1 of the plugin, with no errors on boot.

    ... And when I went to recreate the problem to grab the error, everything worked as it's supposed to. I know the server restarted at some point while I was asleep, so maybe some sort of change in the config got recognized? Beats me. I'll keep an eye out and post again with more information if I see it again. Thanks for your quick response!

    EDIT: Searching through my server log, the closest thing I could find to a real error was this:
    Show Spoiler
    2011-11-05 04:22:30 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'creeperheal' in plugin CreeperHeal v4.1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:355)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
    at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at com.nitnelave.CreeperHeal.CreeperHeal.force_replace(CreeperHeal.java:971)
    at com.nitnelave.CreeperHeal.CreeperHeal.forceCmd(CreeperHeal.java:638)
    at com.nitnelave.CreeperHeal.CreeperHeal.onCommand(CreeperHeal.java:450)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 13 more

    I think that may have been from when I tried to use the /CreeperHeal heal command to heal it manually? Not sure though... The explosions happened at the 04:03 timestamp in the log, and there were absolutely no errors between then and this error. But whatever... It seems to be working perfectly now, so I won't question it too much, haha. Thanks again!
     
  25. Offline

    Nitnelave

    Don't worry about the error, I'll fix it next release but it isn't a problem anyways. You can just rerun the command /ch heal if you encounter it again. Glad to hear it's working!
     
  26. Offline

    Malific

  27. Offline

    Monkz

    Since i added this creepers blow up worldguard protected areas, they do regen, but they allow access through walls they explode.
     
  28. Offline

    Nitnelave

    What do you mean, they don't match up? Apart from the teleport-when-buried where I forgot the hyphen, they match. Or is there an effect that isn't taken in account?

    Yes, there is currently no WorldGuard support, as it already manages the explosions. I may add it later, but this is not a high priority task.
     
  29. Offline

    PyPKjE

    java.lang.NullPointerException
    2011-11-08 11:01:21 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.dropItem(CraftWorld.java:291)
    2011-11-08 11:01:21 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.dropItemNaturally(CraftWorld.java:312)
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.dropBlock(CreeperHeal.java:1263)
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.block_state_replace(CreeperHeal.java:1050)
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.replace_blocks(CreeperHeal.java:1039)
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.replace_one_block(CreeperHeal.java:905)
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(CreeperHeal.java:809)
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal$1.run(CreeperHeal.java:329)
    2011-11-08 11:01:21 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-11-08 11:01:21 [SEVERE] at java.lang.Thread.run(Thread.java:662)

    and server is off :/
     
  30. Offline

    Nitnelave

    Hmmm... I don't see why, but a little null check should fix that. Update within the hour!

    Ok! version 4.1.1! No more Mr NPE!

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

    l104693

    Thank you! :)
    I love this plug-in!
     

Share This Page