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

    shauwk

    this mod is AWESOME!!!!!!! :DDDDDDDDDDDD
    i been loooking for something exactly like this for a long time
     
  3. Offline

    Nitnelave

    Yeah, I'll do that. TNT shouldn't get regenerated, because when it's registered as deleted, it's actually triggered.
    You set the replace-natural to whitelist and the whitelist to 0 (not empty, 0)
    Nice to hear you like it!
     
  4. Offline

    C0R7

    thanks
     
  5. Offline

    Nitnelave

    I can't do anything about the redstone dropping, but I can do about it replacing. Will be in next version. The signs should have their text on them. Are you sure you're using the latest version of the plugin?

    Upsated the TODO list. If I've missed somerhing, remind me.

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

    C0R7

    ya the words on the signs don't work for me to. it is just blank.
     
  7. Offline

    Senladar

    Won't this disable the "heal" though?

    I want all block types to return, I just don't want blocks that get "overwritten" to be returned as ones I can pick up.
     
  8. Offline

    Alesana

    This plugin is awesome!! I was looking for this sine long time ago!! Can you add fire damage??
     
  9. Offline

    diegokilla

    does anyone know if this plugin plays nicely with factions and such?
    i know factions has its own option to allow/disallow tnt/creeper/entity which mite conflict with this?
     
  10. Offline

    Nitnelave

    Ok, I'll look into it, but last I tried, the text was replaced fine. Maybe it is a change that I made in the last release I didn't have time to test.
    Oh, I see. I'll add an option for that in the next release.
    What do you mean by fire damage? When? On what/who?
    This plugin only activates after ALL OTHER plugins have had their effect. Basically, it only works if there actually is an explosion. But you'd be welcome to try it and tell me if you have any problems, though.
     
  11. Offline

    goomma

    I believe so have You updated recently?
     
  12. Offline

    Alesana

    Lol. Can you make it work with fire damage too. I mean, restored the block destroyed by fire after a while?
     
  13. Offline

    Nitnelave

    Try do re-download it
    Will think about it for a future version.
     
  14. Offline

    Alesana

    I do not get any error but the chest contents are not restored. Same for dispencer, the furnace and the redstone circuit. Also, the tnt do not explode when it placed near a sign.

    Maybe it's caused by other plugins?

    I'm using the lastest Recommended Build: 935 (MC: 1.6.6).
     
  15. Offline

    diegokilla

    Will do :D
     
  16. Damm this will bve very useful on my server(because there are some noobs who like to use TNT)
     
  17. Offline

    diegokilla

    Server crashed, and gave this error:

    Code:
    2011-06-28 05:58:50 [SEVERE] java.lang.NullPointerException
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.World.a(World.java:1572)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.World.a(World.java:1537)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.Chunk.f(Chunk.java:149)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.Chunk.c(Chunk.java:138)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.Chunk.a(Chunk.java:267)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.World.setRawTypeIdAndData(World.java:288)
    2011-06-28 05:58:50 [SEVERE]    at org.bukkit.craftbukkit.block.CraftBlock.setTypeIdAndData(CraftBlock.java:142)
    2011-06-28 05:58:50 [SEVERE]    at com.nitnelave.CreeperHeal.CreeperHeal.block_replace(CreeperHeal.java:309)
    2011-06-28 05:58:50 [SEVERE]    at com.nitnelave.CreeperHeal.CreeperHeal.block_state_replace(CreeperHeal.java:282)
    2011-06-28 05:58:50 [SEVERE]    at com.nitnelave.CreeperHeal.CreeperHeal.replace_blocks(CreeperHeal.java:238)
    2011-06-28 05:58:50 [SEVERE]    at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(CreeperHeal.java:222)
    2011-06-28 05:58:50 [SEVERE]    at com.nitnelave.CreeperHeal.CreeperHeal$1.run(CreeperHeal.java:182)
    2011-06-28 05:58:50 [SEVERE]    at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-06-28 05:58:50 [SEVERE]    at java.lang.Thread.run(Unknown Source)
    2011-06-28 05:58:50 [SEVERE] java.lang.NullPointerException
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.World.doLighting(World.java:1524)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:443)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    2011-06-28 05:58:50 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-06-28 05:58:50 [SEVERE] Unexpected exception
    java.lang.NullPointerException
        at net.minecraft.server.World.doLighting(World.java:1524)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:443)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Not sure if this is caused by creeperheal, or creeperheal is just affected by the crash

    CB935 (i know its only updated for 928 atm, but thought it mite help)
    creeperheal 0.2

    also, after the server crashed and kicked all users off, i did a "list" in console and it showed everyone as still being connected... doubt that will help in any way but it was very strange as i've never seen this before

    also it seems as tho doors and beds can be duped by placing them in a creeper hole, and letting it regen,
    i guess because they span 2 blocks?

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

    Nitnelave

    I'll have a look tonight, just got back home. Expect an update either tomorrow or Thursday.
    What do you mean, the tnt does not explode when placed near a sign? It does not detonate (white flash)? or it detonates then deals no damage? how close to a sign? Oh, and give me a list of the other plugins you have. My guess is that another plugin uses a sign for something, and cancels the tnt explode event if it destroys the sign...
    Yeah, this error is already reported... though I have no clue of what it means ^^ I'll try and have a look. Can you reproduce the error, and how? what happened right before? what was exploded and trying to be replaced (if you can tell me that, I'd be glad)? And finally, a list of your plugins to see if anything is affecting it?
    Oh, and by the way, I don't think CB935 will have any effect on this plugin (but I may be wrong:p).
    It's actually due to the way the server handles the explosion. It calls a block update for every block removed, so if a door is attached to a block and that block explodes, the door drops, even though it should explode too. Reported as a bug to the bukkit devs.

    Can you give me a list of all your plugins to see if any are conflicting?

    HUGE UPDATE!
    Version 1.0 is out!
    It addresses the whole TODO list (except maybe the nullpointer exception which I haven't been able to reproduce? Let's just hope it went away :p), and some known issues.
    • Fix TNT being replaced
    • Fix the redstone circuit issue (along with some other potential ones)
    • Add some config commands
    • Fix sign text blank
    • Option to disable replaced blocks dropping items
    • add some commands to heal all of the explosions since x minutes/seconds.
    • Fixed issue : Some block duplicating (torches, doors, and signs) (fixed for 99% of the time, normally, but it's just a workaround)
    • Heals explosions on plugin disable.
    @SwearWord , @diegokilla , if you get the error again, please post the whole error one more time. I think it may be a conflict with another plugin, so add a list of those you use

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

    diegokilla

    I haven't been able to reproduce the error, but I did have several players on at the time it happened, so unfortunately I honestly couldnt even guess what happened exactly that caused it.
    And my plugin list is (even though I really DON'T like have this many plugins!) Rather extensive...

    announcer, bookworm, borderguard, commandbook, commandiconomy, creaturebox, creeperheal, factions, fakepermissions, groupmanager, herochat,iconomy, inception, localshops, lwc, magiccarpet, magicspells, mcdocs, mcmmo, multiverse namechanger, propertime, quickbelt, roles, vampire, vanishnopickup,worldedit,worldguard

    Actually, one of my admins just reminded me that we got some sort of sync error just before the server crashed and threw that error, ill check the logs and see if i can find it

    Edit: nevermind sync error occured before i put creeperheal in, and was caused by beign out of memory :p ( goofy me trying to render HD video while running a server :p )

    Also, I just realised that i am getting this error on startup:

    2011-06-28 20:44:46 [WARNING] [CreeperHeal] Wrong values for natural-blocks-blacklist field.
    2011-06-28 20:44:46 [INFO] [CreeperHeal] version 0.2 by nitnelave is enabled

    I have replace natural only set to false...

    Still have not been able to reproduce that original error.

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

    Nitnelave

    Hmm.. I'll do some tests, but let's just hope that the error just went away. You should update to 1.0, by the way. The blacklist values error is not a problem, but to fix it, just put a 0 for the values.

    Ok, I'd like to have your opinion on how to manage sand, etc...
    For now, it works like this : if the explosion healing replaces some sand, it puts the sand in the first empty space directly above (works most of the time for NATURAL circumstances). If you have a building and sand fell through the roof, it stays down there. Moreover, if you have a structure of sand and torches the whole thing will collapse.
    What I can do is that : when you have an explosion, it records all of the blocks affected and removes them, then set them back when healing the explosion.
    example : S is sand D is dirt, and T is torch
    Code:
          S
        S T
      S T
    S T
    D D D D D D 
    If the bottom left block of sand explodes, the whole thing collapse. What I'm talking about, is that the whole structure DISAPPEARS, and then is put back. This would maybe introduce some lag at the moment the explosion occurs, or when replacing HUGE structures of sand, so I wanted to ask you.

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

    diegokilla

    ok will do, thnx for the heads up :D

    IMHO, i dont think enough ppl actually use setups like that in SMP, that's more of an adventure map setup for SSP or very small SMP servers, I think creeperheal is more at home fixing natural things.

    then again, i only started using creeperheal about 3 days ago so :p

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

    Nitnelave

    Ok, then. In that case, I won't even bother improving the way sand is handled then. Beware of creepers near you sand-covered house!

    Oh, and for Entity trapping, I mean, when players or other entities are caught in an area at the moment it replaces and the start to suffocate, how should I deal with that? teleport them to the first free spot above? (with an option to just let them suffocate, of course:D)
     
  23. Offline

    PsychoNecrosis

    I'd judge them to the next free block in any direction but down.

    Watching this thread with interest.
     
  24. Offline

    diegokilla

    Ya in that regard, i would say let them suffocate. People on a server with creeperheal should no better than to sit in the hole :p Telporting them up would be fine, if the creeper hole was on the surface, but if it was in a cave... well u get the idea. So making it is of course not a problem, as long as there is an option to turn it off.

    On another note, I was AFK for about 2 hours and came back to find that my server went down again :(

    heres the error
    2011-06-29 18:24:31 [SEVERE] java.lang.NullPointerException
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.World.a(World.java:1572)
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.World.a(World.java:1537)
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.Chunk.a(Chunk.java:266)
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.World.setRawTypeIdAndData(World.java:288)
    2011-06-29 18:24:31 [SEVERE] at org.bukkit.craftbukkit.block.CraftBlock.setTypeIdAndData(CraftBlock.java:142)
    2011-06-29 18:24:31 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.block_replace(CreeperHeal.java:309)
    2011-06-29 18:24:31 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.block_state_replace(CreeperHeal.java:282)
    2011-06-29 18:24:31 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.replace_blocks(CreeperHeal.java:238)
    2011-06-29 18:24:31 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(CreeperHeal.java:222)
    2011-06-29 18:24:31 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal$1.run(CreeperHeal.java:182)
    2011-06-29 18:24:31 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-06-29 18:24:31 [SEVERE] at java.lang.Thread.run(Unknown Source)
    2011-06-29 18:24:31 [SEVERE] java.lang.NullPointerException
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.World.doLighting(World.java:1524)
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:443)
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    2011-06-29 18:24:31 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-06-29 18:24:31 [SEVERE] Unexpected exception
    java.lang.NullPointerException
    at net.minecraft.server.World.doLighting(World.java:1524)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:443)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    another interesting note: after the server went down, i did a "list" in console and it shows everyone that was on when the server went down, as still being online, even tho I am currently in vent with them, and they are all DC'd from the server, Hope this helps
     
  25. Offline

    Nitnelave

    Well, the next free block in any direction is hard to do... or heavy on the processor, maybe? I'll try.
    Hummmm. I'll have a look at this. Although I don't quite see how you would get a nullpointer exception in the setTypeIdAndData... Thanks for the log. Still no clue as to what may have triggered it? Any feedback as to what they were doing at the time?

    New Update! v1.1 is out!
    • BIG NEWS! A cooler way to heal explosions has come! You can now see them getting replaced block by block over time! (still a little buggy, especially with torches, I'll work on that)
    • For this one, I implemented some sort of "safe place finder" for players suffocating. It teleports them to the first free spot with a ground in any cardinal direction but down. And it does it only when healing explosions. I'll put an option to disable that in the next release.
    • For those who have the NullPointerException, it shouldn't crash your server anymore, I encased it in a try-catch. But please report the error with the additional information I put in, and we may be able to solve it.

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

    gameswereus

    I was using a mod that made creepers kinds erm hump you but I'd much rather this, then explaining what the creepers are doing to my people on the server.
     
  27. Offline

    diegokilla


    Ooooo block by block eh? sounds nice :D
    how will this be affected by the timer? first block regenerates after the timer is up?

    sorry i can't give you any more feedback on that error, I asked everyone who was on at the time, one person reported that a creeper blew up shortly before the server crashed, but could give no further information, I asked him specifically if he was in a Faction claimed zone, as i have seen factions throw errors for other plugins, but he reported that he was not in a faction claimed area :(

    This was only the second time the error occured, and unfortunately both times i was offline >.<

    Anyways, ill update creeperheal tommorrow and try to keep my eyes peeled for any other errors
     
  28. Offline

    Nitnelave

    There's a second timer. It starts healing right away, but at the rate you set in the config, default is 4 blocks per second (one every 5 ticks).
    The error will still throw a huge bug report, so it shouldn't be too hard to spot. Any idea as to where this creeper blew up? Close to bedrock? To the sky limit? To water/lava? To a shop, or something managed by another plugin? It woukd really help me if you could find that out. But at least, I don't think your server is going to crash anymore (but I may be wrong if the dolighting exception is causing the crash).
    EDIT: Oh, wait, I think I replaced the error with a simple message something like : "block.getRelative(0,k,0) is null" you may have to search your log for that, I'll give you the exact message.

    Oh, and by the way, if you'd like the first block to be regenerating after the interval, it should be possible, just tell me.

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

    diegokilla

    No I think having it begin its heal almost instantly will be great for ppl that are unfamiliar with the plugin.
    I'll keep an eye out for that error, gonna update now that the server's low traffic

    EDIT: also, will new lines generate in the config file? or do i need to delete it and let an entirely new file generate?
     
  30. Offline

    Nitnelave

    The error you're looking for is "block.getRelative(0," or if you can use regular expressions :
    "block.getRelative(0,[0-9]*, 0) is null?? Y: [0-9]*"
    oh, and it's a level WARNING.

    If you just modify any setting via a command (like toggle creepers off and back on), it should generate those new lines.
     
  31. Offline

    diegokilla

    Well i didn't see that in the logs... however...
    I did get this:

    2011-06-30 07:39:27 [SEVERE] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    2011-06-30 07:39:27 [SEVERE] at java.util.ArrayList.RangeCheck(Unknown Source)
    2011-06-30 07:39:27 [SEVERE] at java.util.ArrayList.get(Unknown Source)
    2011-06-30 07:39:27 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.replace_one_block(CreeperHeal.java:330)
    2011-06-30 07:39:27 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(CreeperHeal.java:311)
    2011-06-30 07:39:27 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal$1.run(CreeperHeal.java:113)
    2011-06-30 07:39:27 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-06-30 07:39:27 [SEVERE] at java.lang.Thread.run(Unknown Source)
    2011-06-30 07:39:27 [SEVERE] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    2011-06-30 07:39:27 [SEVERE] at java.util.ArrayList.RangeCheck(Unknown Source)
    2011-06-30 07:39:27 [SEVERE] at java.util.ArrayList.get(Unknown Source)
    2011-06-30 07:39:27 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.replace_one_block(CreeperHeal.java:330)
    2011-06-30 07:39:27 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal.check_replace(CreeperHeal.java:311)
    2011-06-30 07:39:27 [SEVERE] at com.nitnelave.CreeperHeal.CreeperHeal$1.run(CreeperHeal.java:113)
    2011-06-30 07:39:27 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-06-30 07:39:27 [SEVERE] at java.lang.Thread.run(Unknown Source)

    This repeats over and over again, about 3-5 times per second for 20ish (when i caught it and stopped the server)
    I imagine it would have just continued till it filled my server.log (I run on a RAMdisk, so this would be VERY bad)
    unfortunately, only a few ppl were on (i was in SSP playin betterthanwolves mod :p ) and everyone that was on, is now off -.-
    I will try to get u more info ASAP, but usually when i ask wat ppl were doing around a certain time i get:

    "uh... mining"
    or
    "i think i was running from one side of the map to the other"

    -.- <- me

    also once you get the kinks worked out, I would love to do a little video for you (I did the video's for nossr50's MCMMO... /flex )
     

Share This Page