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

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    CreeperHeal


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

    This post has been edited 46 times. It was last edited by Nitnelave Apr 29, 2012.
  2.  
  3. Offline

    LtMattmoo

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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.
  4. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yeah, I'll probably do that.
  5. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @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.
  6. Offline

    Junrall

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @Nitnelave

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

    Switch0r

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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)
  8. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I'll try to have a look tomorrow. But I did make every list and map synchronized...
  9. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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...
  10. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Version 4.1 is out! A few bugfixes, and most of all PAINTING SUPPORT!
  11. Offline

    Thread Reassignment Bot

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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.
  12. Offline

    Sevennemesis

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    approved!! this plugin is very fun and cool!
  13. Offline

    msfoste

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Works great! Thanks!
  14. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME

    This post has been edited 1 time. It was last edited by Nitnelave Nov 4, 2011.
  15. Offline

    Junrall

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @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!:)
  16. Offline

    Cloverhook

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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.
  17. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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?

    This post has been edited 1 time. It was last edited by Nitnelave Nov 5, 2011.
  18. Offline

    Cloverhook

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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:
    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!

    This post has been edited 1 time. It was last edited by Cloverhook Nov 5, 2011.
  19. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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!
  20. Offline

    Malific

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
  21. Offline

    Monkz

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Since i added this creepers blow up worldguard protected areas, they do regen, but they allow access through walls they explode.
  22. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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.
  23. Offline

    PyPKjE

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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 :/
  24. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hmmm... I don't see why, but a little null check should fix that. Update within the hour!
  25. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Ok! version 4.1.1! No more Mr NPE!
  26. Offline

    l104693

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Thank you! :)
    I love this plug-in!
  27. Offline

    ZeroManArmy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This is my config file. Currently when TNT or a Creeper explodes it won't drop any items. Can I get any help?

    Code:
    chest-protection: 'yes'
    overwrite-blocks: false
    teleport-when-buried: true
    drop-overwritten-blocks: true
    op-have-all-permissions: true
    verbose-level: 1
    wait-before-heal-explosions: 60
    block-per-block-interval: 20
    wait-before-heal-fire: 45
    crack-destroyed-bricks: false
    drop-destroyed-blocks: true
    drop-destroyed-blocks-chance: 100
    replacement-method: block-per-block
    Beta:
        Magical: false
        replace-all-tnt: false
        replace-above-limit-only: false
        TNT: true
        Fire: true
        Creepers: true
        restrict-blocks: 'false'
        replace-limit: 64
        restrict-list: '0'
        block-enderman-pickup: false
        Ghast: true
    Beta_nether:
        Magical: false
        replace-all-tnt: false
        replace-above-limit-only: false
        TNT: true
        Fire: true
        Creepers: true
        restrict-blocks: 'false'
        replace-limit: 64
        restrict-list: '0'
        block-enderman-pickup: false
        Ghast: true
    
  28. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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.
  29. Offline

    Malific

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Here's a freshly generated config file (with some true/false/# edited from default values) versus your readme.

    config.yml
    Code:
    wait-before-heal: 30
    drop-replaced-block: true
    teleport-on-suffocate: true
    wait-after-fire: 45
    TechGalaxy_nether:
        Magical: false
        replace-tnt: false
        TNT: false
        Fire: false
        Creepers: flase
        restrict-blocks: 'false'
        replace-limit: 50
        restrict-list: '0'
        replace-above-only: false
        block-enderman: false
        Ghast: flase
    overwrite-blocks: true
    drop-overwritten-blocks: false
    replace-all-tnt: false
    drop-chance: 100
    refresh-frequency: 20
    block-per-block-interval: 20
    drop-not-replaced-block: true
    crack-bricks: true
    log-level: 1
    op-permissions: true
    TechGalaxy:
        Magical: true
        replace-tnt: false
        TNT: true
        Fire: false
        Creepers: true
        restrict-blocks: 'false'
        replace-limit: 64
        restrict-list: '0'
        replace-above-only: false
        block-enderman: true
        Ghast: true
    replacement-method: block-per-block

    README:
    Code:
    wait-before-heal-explosions :
    (in seconds) Delay after the explosion before the damage gets repaired (or starts getting repaired for block per block).
    wait-before-heal-fire :
    (in seconds) Delay after a block is destroyed by fire (burnt), before it gets replaced.
    replacement-method :
    (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.
    Cannot be changed on the go, you have to reload or restart the server to take the changes in account.
    block-per-block-interval :
    (in ticks (1/20th of a second)) Delay between each block replacement (ie. set it to 10 for 2 blocks per second)
    overwrite-blocks :
    (true or false) Whether block replacement overwrites existing terrain.
    drop-overwritten-blocks :
    (true or false) If overwrite-blocks is set to true, whether to drop the overwritten blocks' resources.
    If it is set to false, whether to drop the block-to-be-replaced resource.
    drop-destroyed-blocks :
    (true or false) Whether blacklisted blocks should drop items as with a normal explosion, configurable with a chance.
    drop-destroyed-blocks-chance :
    (0 - 100) If setting above is true, chance that the block resource drops.
    teleport-when-buried :
    (true or false) If a player is caught in an explosion being healed and is suffocating, teleport him above to safety.
    verbose-level :
    (0 - 5) Amount of plugin messages shown. 1 is recommended, higher is for dubugging purposes.
    op-have-all-permissions :
    (true or false) OP are treated as admins by the plugin.
    crack-destroyed-bricks :
    (true or false) Whether bricks destroyed should be replaced as cracked ones.
    chest-protection: 

    Different:
    Code:
    yml  ----  README
    wait-before-heal:  ------ wait-before-heal-explosions :
    drop-replaced-block:   -------  ????? no idea couldn't figure out which one in readme
    teleport-on-suffocate:  -------   teleport-when-buried :
    wait-after-fire: ------  wait-before-heal-fire :
    replace-all-tnt:  -----   in the per world section which is not where it generates
    drop-chance: ------- drop-destroyed-blocks-chance :
    refresh-frequency:  -------------  ????????
    drop-not-replaced-block: ---- ??????
    crack-bricks:   ------- crack-destroyed-bricks :
    log-level: ------- verbose-level :
    op-permissions: --------  op-have-all-permissions :
    ??????   ------  drop-destroyed-blocks :
    replace-limit: ------   replace-above-limit-only :
    block-enderman: -----  block-enderman-pickup :
    

    Same:
    Code:
    overwrite-blocks:
    drop-overwritten-blocks:
    block-per-block-interval:
    replacement-method:
        Magical:
        replace-tnt:
        TNT:
        Fire:
        Creepers:
        restrict-blocks:
        replace-limit:
        restrict-list:
        Ghast
    

    This post has been edited 1 time. It was last edited by Malific Nov 9, 2011.
  30. Offline

    T4L_Goose

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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?
  31. Offline

    Malific

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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.

    This post has been edited 1 time. It was last edited by Malific Nov 10, 2011.
  32. Offline

    Nitnelave

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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!

    This post has been edited 1 time. It was last edited by Nitnelave Nov 11, 2011.

Share This Page