Inactive [MECH] ObsidianDestroyer 1.052 - Allow Explosions to destroy Obsidian [1185]

Discussion in 'Inactive/Unsupported Plugins' started by Pandemoneus, Jul 6, 2011.

  1. ObsidianDestroyer by Pandemoneus
    Version 1.052

    Changes how explosions affect Obsidian.


    Features:
    • Allows you to set certain explosions to destroy Obsidian.
    • Give Obsidian durability! (which means you will need a certain amount of TNT before it finally gets destroyed)
    • Configurable via a YML file.
    Downloads:
    Configuration:
    Launch once to create a configuration file.
    It is then located at /plugins/ObsidianDestroyer/config.yml.

    Options are:
    • Radius - determines how far around the origin of the explosion Obsidian can be destroyed (default: 3) WARNING: High values probably cause lag
    • EnabledFor.TNT - set true if TNT is allowed to destroy Obsidian (default: true)
    • EnabledFor.Creepers - set true if Creepers are allowed to destroy Obsidian (default: false)
    • EnabledFor.Ghasts - set true if Ghasts are allowed to destroy Obsidian (default: false)
    • Durability.Enabled - set true if you want to use the durability feature (default: false)
    • Durability.Amount - determines after how many TNT explosions in the radius the Obsidian block gets destroyed (default: 1)
    • Durability.ResetEnabled - set true if you want to reset the durability back to max after a certain time has passed (default: true)
    • Durability.ResetTime - time in milliseconds that has to pass before the durability is reset (default: '600000' (10 minutes))
    • Blocks.ChanceToDrop - set the chance to drop an obsidian block when it was blown up, set to 1.0 to always drop a block (default: 0.7 (70%))
    Permission Nodes:
    Commands:
    (OP only if Permissions are not enabled)
    • obsidiandestroyer (alias: od) - shows the help
    • obsidiandestroyer reload (alias: od reload) - reloads the plugin
    • obsidiandestroyer info (alias: od info) - shows the currently loaded config
    • obsidiandestroyer reset (alias: od reset) - resets all currently saved obsidian durabilities
    Donations:

    [​IMG]

    Offical supporters:
    Changelog:
    Version 1.052
    • Added item drop chance for destroyed obsidian blocks (default: 70%)
    Version 1.051
    • Fixed NullPointerException in config
    Version 1.05
    • Durability can now restore back to max after a certain time passed (see config info)
    Version 1.04
    • Durability now saves when the server reloads/restarts
    Older versions (open)

    Version 1.03
    • Added durability
    Version 1.02
    • Added Permissions
    • Added aliases
    • Increased maintainability
    Verson 1.01
    • Added command to reload config ingame
    • Added command to show loaded config ingame
    • Added check to not mess with plugins that prevent explosions
    Version 1.0
    • Initial release
     
  2. Offline

    SplenectomY

    I love you.

    Edit: Please put up a donation box so I can express said love in a monetary form.
     
  3. I've put it up.
     
  4. Offline

    SplenectomY

    Done. Thanks again.
     
  5. Thanks a lot!​
    Tell me when you need any more features added.​

    Verson 1.01 released!
    • Note: If upgrading from older version, run new version once, then check if all config values are ok!
    • Added command to reload config ingame
    • Added command to show loaded config ingame
    • Added check to not mess with plugins that prevent explosions

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  6. Version 1.02 released!
    • Added Permissions
    • Added aliases
    • Increased maintainability
     
  7. Offline

    daemitus

    I imagine you cant figure out github and git because the command line version is a pain in the ass. Try picking up SmartGit
     
    Pandemoneus likes this.
  8. Thanks for the tip, I will try it out.

    Edit: Yay, it worked!
     
  9. Offline

    embty

    Your a master. I have suggestion but no idea how to explain. Ok lets say Obsidian block has a health bar and it needs more tnt to get destroyed. hit in the same spot for 5times and boom obs is down.
     
  10. Version 1.03
    • Added durability
     
  11. Offline

    embty

    This is exactly what I wanted? And does it heal back after time or it just stays for ever?
    Thank you so much for this :)
     
  12. Nope, it stays like that forever until you reload the server.
    Also, if you mine the block and then place it again at the same location, it will still have the same "damaged" status (though I doubt anyone will ever do that).
     
  13. Offline

    embty

    Cool, Is it possible to have a recovery time for it other than reloading I dont want to get players telling me omg its back to normal becuase i reloaded the server :>
     
  14. I could save it to a file, but that would certainly slow it down a lot, so I won't implement it. Just have it the way it is at the moment. :eek:
     
  15. Offline

    embty

    I really need this feature :) and willing to donate for it if it is possible to have.
     
  16. Meh, I did it. But there is no timer, so it only resets now when you use the reset command. (see ReadMe)
    It only saves when the plugin gets disabled (as in: server reload, server /stop, etc).

    Version 1.04
    • Durability now saves when the server reloads/restarts
     
  17. Offline

    Agmanotis

    @Pandemoneus
    It seems the plugin is conflicting the Armageddon cannon mod. Here is the error message:

    11:17:26 [SEVERE] Could not pass event ENTITY_EXPLODE to ObsidianDestroyer
    java.lang.NullPointerException
    at com.pandemoneus.obsidianDestroyer.listeners.ODEntityListener.onEntityExplode(ODEntityListener.java:48)
    at org.bukkit.plugin.java.JavaPluginLoader$61.execute(JavaPluginLoader.java:670)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.Explosion.a(Explosion.java:195)
    at net.minecraft.server.World.createExplosion(World.java:1467)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:416)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:424)
    at com.iminurnetz.bukkit.plugin.armageddon.ArmageddonPlugin.explodeGrenade(ArmageddonPlugin.java:609)
    at com.iminurnetz.bukkit.plugin.armageddon.listeners.ArmageddonEntityListener.onEntityExplode(ArmageddonEntityListener.java:95)
    at org.bukkit.plugin.java.JavaPluginLoader$61.execute(JavaPluginLoader.java:670)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.Explosion.a(Explosion.java:195)
    at net.minecraft.server.World.createExplosion(World.java:1467)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
    at net.minecraft.server.EntityTNTPrimed.explode(EntityTNTPrimed.java:88)
    at net.minecraft.server.EntityTNTPrimed.m_(EntityTNTPrimed.java:66)
    at net.minecraft.server.World.entityJoinedWorld(World.java:1198)
    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48)
    at net.minecraft.server.World.playerJoinedWorld(World.java:1180)
    at net.minecraft.server.World.cleanUp(World.java:1104)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    I'd love for this to work with Armageddon, as it can give users a way to break down factions that turtle up using obsidian.
     
  18. Offline

    embty

    Its only saves with the plugin gets disabled? saves what? just suggestion it would be great if it can be overtime regen for the block or if its left for 10min unharmd it gets back to normal.
    PS: I just sent a donation.
     
  19. Could you please try the newest version?
    The error is pointing to a line of code that is just a comment.

    This is something I have to learn first, give me 1-2 days.

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

    Agmanotis

    @Pandemoneus

    Tried again on newest version. Still caused an error.

    [SEVERE] Could not pass event ENTITY_EXPLODE to ObsidianDestroyer
    java.lang.NullPointerException
    at com.pandemoneus.obsidianDestroyer.listeners.ODEntityListener.onEntityExplode(ODEntityListener.java:56)
    at org.bukkit.plugin.java.JavaPluginLoader$61.execute(JavaPluginLoader.java:670)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.Explosion.a(Explosion.java:195)
    at net.minecraft.server.World.createExplosion(World.java:1467)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:416)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:424)
    at com.iminurnetz.bukkit.plugin.armageddon.ArmageddonPlugin.explodeGrenade(ArmageddonPlugin.java:609)
    at com.iminurnetz.bukkit.plugin.armageddon.listeners.ArmageddonEntityListener.onEntityExplode(ArmageddonEntityListener.java:95)
    at org.bukkit.plugin.java.JavaPluginLoader$61.execute(JavaPluginLoader.java:670)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.Explosion.a(Explosion.java:195)
    at net.minecraft.server.World.createExplosion(World.java:1467)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
    at net.minecraft.server.EntityTNTPrimed.explode(EntityTNTPrimed.java:88)
    at net.minecraft.server.EntityTNTPrimed.m_(EntityTNTPrimed.java:66)
    at net.minecraft.server.World.entityJoinedWorld(World.java:1198)
    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48)
    at net.minecraft.server.World.playerJoinedWorld(World.java:1180)
    at net.minecraft.server.World.cleanUp(World.java:1104)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  21. I know, I just wanted you to use it so I can pinpoint the error. :D
    I uploaded a new version containing the hotfix, try it (I did not update the version number in case you wonder).
     
  22. Offline

    Agmanotis

    @Pandemoneus

    Ah, unfortunately an error still occurs, and the obsidian isn't affected by the cannon.

    [SEVERE] Could not pass event ENTITY_EXPLODE to ObsidianDestroyer
    java.lang.NullPointerException
    at com.pandemoneus.obsidianDestroyer.listeners.ODEntityListener.onEntityExplode(ODEntityListener.java:56)
    at org.bukkit.plugin.java.JavaPluginLoader$61.execute(JavaPluginLoader.java:670)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.Explosion.a(Explosion.java:195)
    at net.minecraft.server.World.createExplosion(World.java:1467)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:416)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:424)
    at com.iminurnetz.bukkit.plugin.armageddon.ArmageddonPlugin.explodeGrenade(ArmageddonPlugin.java:609)
    at com.iminurnetz.bukkit.plugin.armageddon.listeners.ArmageddonEntityListener.onEntityExplode(ArmageddonEntityListener.java:95)
    at org.bukkit.plugin.java.JavaPluginLoader$61.execute(JavaPluginLoader.java:670)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.Explosion.a(Explosion.java:195)
    at net.minecraft.server.World.createExplosion(World.java:1467)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
    at net.minecraft.server.EntityTNTPrimed.explode(EntityTNTPrimed.java:88)
    at net.minecraft.server.EntityTNTPrimed.m_(EntityTNTPrimed.java:66)
    at net.minecraft.server.World.entityJoinedWorld(World.java:1198)
    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48)
    at net.minecraft.server.World.playerJoinedWorld(World.java:1180)
    at net.minecraft.server.World.cleanUp(World.java:1104)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  23. Version 1.05
    • Durability can now restore back to max after a certain time passed (see config info)
    Looks like you still got the old version, because I had that fixed. Maybe GitHub doesn't refresh the links fast enough. Do you have MSN? Maybe we can talk in there to solve things faster.
     
  24. Offline

    embty

    Thakn you very much you are the best!
    Btw is download link updated?
     
  25. Should be, added a second link in case the first does not.
     
  26. Offline

    embty

    Code:
    2011-07-24 14:39:35 [INFO] [ObsidianDestroyer] ObsidianDestroyer v1.05 enabled
    2011-07-24 14:39:35 [SEVERE] Error occurred while enabling ObsidianDestroyer v1.05 (Is it up to date?): null
    java.lang.NullPointerException
        at com.pandemoneus.obsidianDestroyer.config.ODConfig.loadConfig(ODConfig.java:70)
        at com.pandemoneus.obsidianDestroyer.ObsidianDestroyer.onEnable(ObsidianDestroyer.java:61)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:878)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:272)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:162)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:146)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:380)
        at com.earth2me.essentials.commands.Commandreloadall.run(Commandreloadall.java:19)
        at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:88)
        at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:83)
        at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:442)
        at com.earth2me.essentials.Essentials.onCommand(Essentials.java:353)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:320)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:713)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:677)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:670)
        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:85)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    only got this error in logs and nothing else. The whole plugin doesnt seem to work when I enable reset timer.
     
  27. Ops! My bad there, should be fixed now.
    (And the error didn't have anything to do with the reset timer)

    Version 1.051
    • Fixed NullPointerException in config
     
  28. Offline

    embty

    Thanks Ill test it now.
    Edit: Works like a charm:)
     
  29. Offline

    Sroxah

    I'm loving this. Was starting to get sick of people on my server hiding in obsidian cubes.

    Not sure if this is possible/something you think would fit as a feature of your plugin, but I would love to see a way to make TNT ignore things like water and lava from preventing explosion damage to blocks. Now that obsidian cubes are no longer a concern, people are covering their bases in impenetrable water/lava walls.
     
    embty likes this.
  30. Hello,
    I am sorry but I can't do that, as the way I would have to do it would change game mechanics a lot (i.e. other TNT not blowing up, etc.).
    You also wouldn't hear explosions anymore and other things.

    But I came up with an addition for my plug-in:
    Version 1.052
    • Added item drop chance for blown up Obsidian blocks
     

Share This Page