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



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


    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.
  3. Offline


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


    @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.
  5. Offline



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


    Thanks for the update but i am getting this errors now and it seems to crash the server.
    Code (Text):
    1. 2011-10-30 20:08:02 [SEVERE] java.util.ConcurrentModificationException
    2. 2011-10-30 20:08:02 [SEVERE]     at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
    3. 2011-10-30 20:08:02 [SEVERE]     at java.util.ArrayList$ Source)
    4. 2011-10-30 20:08:02 [SEVERE]     at org.bukkit.craftbukkit.entity.CraftEntity.getNearbyEntities(
    5. 2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal.check_player_one_block(
    6. 2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal.replace_one_block(
    7. 2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(
    8. 2011-10-30 20:08:02 [SEVERE]     at com.nitnelave.CreeperHeal.CreeperHeal$
    9. 2011-10-30 20:08:02 [SEVERE]     at
    10. 2011-10-30 20:08:02 [SEVERE]     at Source)
  7. Offline


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


    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...
  9. Offline


    Version 4.1 is out! A few bugfixes, and most of all PAINTING SUPPORT!
  10. 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.
  11. Offline


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


    Works great! Thanks!
  13. Offline


  14. Offline


    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!:)
  15. Offline


    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.
  16. Offline


    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?
  17. Offline


    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(
    at org.bukkit.command.SimpleCommandMap.dispatch(
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
    at net.minecraft.server.NetServerHandler.handleCommand(
    at net.minecraft.server.NetServerHandler.a(
    at net.minecraft.server.Packet3Chat.a(
    at net.minecraft.server.NetworkManager.b(
    at net.minecraft.server.NetServerHandler.a(
    at org.getspout.spout.SpoutNetServerHandler.a(
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.h(
    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(
    at com.nitnelave.CreeperHeal.CreeperHeal.forceCmd(
    at com.nitnelave.CreeperHeal.CreeperHeal.onCommand(
    at org.bukkit.command.PluginCommand.execute(
    ... 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!
  18. Offline


    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!
  19. Offline


  20. Offline


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


    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.
  22. Offline


    2011-11-08 11:01:21 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.dropItem(
    2011-11-08 11:01:21 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.dropItemNaturally(
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.dropBlock(
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.block_state_replace(
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.replace_blocks(
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.replace_one_block(
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(
    2011-11-08 11:01:21 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal$
    2011-11-08 11:01:21 [SEVERE] at
    2011-11-08 11:01:21 [SEVERE] at

    and server is off :/
  23. Offline


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


    Ok! version 4.1.1! No more Mr NPE!
  25. Offline


    Thank you! :)
    I love this plug-in!
  26. Offline


    This is my config file. Currently when TNT or a Creeper explodes it won't drop any items. Can I get any help?

    Code (Text):
    1. chest-protection: 'yes'
    2. overwrite-blocks: false
    3. teleport-when-buried: true
    4. drop-overwritten-blocks: true
    5. op-have-all-permissions: true
    6. verbose-level: 1
    7. wait-before-heal-explosions: 60
    8. block-per-block-interval: 20
    9. wait-before-heal-fire: 45
    10. crack-destroyed-bricks: false
    11. drop-destroyed-blocks: true
    12. drop-destroyed-blocks-chance: 100
    13. replacement-method: block-per-block
    14. Beta:
    15.     Magical: false
    16.     replace-all-tnt: false
    17.     replace-above-limit-only: false
    18.     TNT: true
    19.     Fire: true
    20.     Creepers: true
    21.     restrict-blocks: 'false'
    22.     replace-limit: 64
    23.     restrict-list: '0'
    24.     block-enderman-pickup: false
    25.     Ghast: true
    26. Beta_nether:
    27.     Magical: false
    28.     replace-all-tnt: false
    29.     replace-above-limit-only: false
    30.     TNT: true
    31.     Fire: true
    32.     Creepers: true
    33.     restrict-blocks: 'false'
    34.     replace-limit: 64
    35.     restrict-list: '0'
    36.     block-enderman-pickup: false
    37.     Ghast: true
  27. Offline


    Of course it won't drop items! that's the whole point of the plugin. the plugin replaces the blocks destroyed, but it doesn't also drop the items! Otherwise you would have some item duping. So the Creeper blows up, there's a hole in the ground, and after one minute, it starts replacing 1 block per second.
  28. Offline


    Here's a freshly generated config file (with some true/false/# edited from default values) versus your readme.

    Show Spoiler
    Code (Text):
    1. wait-before-heal: 30
    2. drop-replaced-block: true
    3. teleport-on-suffocate: true
    4. wait-after-fire: 45
    5. TechGalaxy_nether:
    6.     Magical: false
    7.     replace-tnt: false
    8.     TNT: false
    9.     Fire: false
    10.     Creepers: flase
    11.     restrict-blocks: 'false'
    12.     replace-limit: 50
    13.     restrict-list: '0'
    14.     replace-above-only: false
    15.     block-enderman: false
    16.     Ghast: flase
    17. overwrite-blocks: true
    18. drop-overwritten-blocks: false
    19. replace-all-tnt: false
    20. drop-chance: 100
    21. refresh-frequency: 20
    22. block-per-block-interval: 20
    23. drop-not-replaced-block: true
    24. crack-bricks: true
    25. log-level: 1
    26. op-permissions: true
    27. TechGalaxy:
    28.     Magical: true
    29.     replace-tnt: false
    30.     TNT: true
    31.     Fire: false
    32.     Creepers: true
    33.     restrict-blocks: 'false'
    34.     replace-limit: 64
    35.     restrict-list: '0'
    36.     replace-above-only: false
    37.     block-enderman: true
    38.     Ghast: true
    39. replacement-method: block-per-block

    Show Spoiler
    Code (Text):
    1. wait-before-heal-explosions :
    2. (in seconds) Delay after the explosion before the damage gets repaired (or starts getting repaired for block per block).
    3. wait-before-heal-fire :
    4. (in seconds) Delay after a block is destroyed by fire (burnt), before it gets replaced.
    5. replacement-method :
    6. (block-per-block or all-at-once) Whether the blocks destroyed by the explosions should all pop back at once, or one at a time.
    7. Cannot be changed on the go, you have to reload or restart the server to take the changes in account.
    8. block-per-block-interval :
    9. (in ticks (1/20th of a second)) Delay between each block replacement (ie. set it to 10 for 2 blocks per second)
    10. overwrite-blocks :
    11. (true or false) Whether block replacement overwrites existing terrain.
    12. drop-overwritten-blocks :
    13. (true or false) If overwrite-blocks is set to true, whether to drop the overwritten blocks' resources.
    14. If it is set to false, whether to drop the block-to-be-replaced resource.
    15. drop-destroyed-blocks :
    16. (true or false) Whether blacklisted blocks should drop items as with a normal explosion, configurable with a chance.
    17. drop-destroyed-blocks-chance :
    18. (0 - 100) If setting above is true, chance that the block resource drops.
    19. teleport-when-buried :
    20. (true or false) If a player is caught in an explosion being healed and is suffocating, teleport him above to safety.
    21. verbose-level :
    22. (0 - 5) Amount of plugin messages shown. 1 is recommended, higher is for dubugging purposes.
    23. op-have-all-permissions :
    24. (true or false) OP are treated as admins by the plugin.
    25. crack-destroyed-bricks :
    26. (true or false) Whether bricks destroyed should be replaced as cracked ones.
    27. chest-protection:

    Show Spoiler
    Code (Text):
    1. yml  ----  README
    2. wait-before-heal:  ------ wait-before-heal-explosions :
    3. drop-replaced-block:   -------  ????? no idea couldn't figure out which one in readme
    4. teleport-on-suffocate:  -------   teleport-when-buried :
    5. wait-after-fire: ------  wait-before-heal-fire :
    6. replace-all-tnt:  -----   in the per world section which is not where it generates
    7. drop-chance: ------- drop-destroyed-blocks-chance :
    8. refresh-frequency:  -------------  ????????
    9. drop-not-replaced-block: ---- ??????
    10. crack-bricks:   ------- crack-destroyed-bricks :
    11. log-level: ------- verbose-level :
    12. op-permissions: --------  op-have-all-permissions :
    13. ??????   ------  drop-destroyed-blocks :
    14. replace-limit: ------   replace-above-limit-only :
    15. block-enderman: -----  block-enderman-pickup :

    Show Spoiler
    Code (Text):
    2. overwrite-blocks:
    3. drop-overwritten-blocks:
    4. block-per-block-interval:
    5. replacement-method:
    6.     Magical:
    7.     replace-tnt:
    8.     TNT:
    9.     Fire:
    10.     Creepers:
    11.     restrict-blocks:
    12.     replace-limit:
    13.     restrict-list:
    14.     Ghast
  29. Offline


    So if a creeper blows up some grass in my world, and I only want world created blocks to be replaced, it will heal slowly over time? What happens if someone decides to build in the hole? Is there an option to make it so the hole won't be healed? Or is that what the overwriting option is for?
  30. Offline


    Overwrite-blocks: true = plugin will heal over any player placed blocks in the hole.
    drop-replaced-block: true = Any player placed blocks will be dropped as a pickup if the plugin heals over it.
  31. Offline


    The plugin will heal explosions over time. If you want only 'natural' blocks to be healed, you have to set up your own restrict-list of block IDs and set restrict-blocks to whitelist. If someone builds in the hole, the blocks built will be overwrittent and dropped (unless you set overwrite-blocks to false).

    The problem is, you didn't update... These are the old values of the config. You can get the description in the README included in your old version of CreeperHeal.jar, but the newest version has the right settings. I did make sure the settings matched the readme. But thanks for pointing it out, it proves that the readme wasn't useless!

Share This Page