[INACTIVE][SEC] BlastControl v1.0.6 - Flexible TNT and Creeper restrictions/modifications [818]

Discussion in 'Inactive/Unsupported Plugins' started by happo2000, Mar 11, 2011.

  1. Offline


    BlastControl - Flexible TNT and Creeper restrictions and modification plug-in
    Version: v1.0.6
    (Optional) Permissions Version: v2.5.x

    Lets face it, TNT is fun. This plug-in is not to take away TNT from Minecraft, but restrict it's use to certain users. This plug-in provides the administrator the ability to restrict TNT use through different permissions. There are currently three levels of TNT usage restrictions that the administrator can apply to their users.

    bc.tnt.allowed - This permission will grant the user the ability to place and activate TNT freely under the indicated blast limit
    bc.tnt.abovelimit.place - Allows the user to place TNT above the specified blast limit
    bc.tnt.abovelimit.activate - Allows the user to activate TNT above the specified blast limit
    bc.tnt.abovelimit.link - Allows the user unrestricted linking of TNT blasts
    bc.tnt.immune - Gives player immunity to damage from TNT blast
    How it works:
    The basic idea of this plugin is that when a user activates TNT, the chunk itself is tagged with that users permission level for the next few seconds. So any linked explosions are also covered under that specific permission and the timer is extended. As an example, if the user has the bc.tnt.abovelimit.place but not the bc.tnt.abovelimit.activate permission and attempts to chain explosions that link above the blast limit, the TNT above the limit will not explode.

    What is the blast limit or blast height limit?

    They are the same thing. This is the limit setting to deny TNT or Creeper explosions from happening above ( this just translates into the y-axis range ). You can get the current y-axis of your character by reading the value that F3 puts onscreen within Minecraft. 0 being bedrock level and 128 being the highest point in the sky.

    Why 'bc.tnt.abovelimit.place' permission?
    On the server that I play on, TNT is used allot for leveling out large strips of land or abandoned buildings in SMP. This allows a regular/VIP user to place the TNT and call an Admin/Mod to detonate it.

    • Restricts Creepers to exploding over the blast limit
    • Grants Creepers the ability to attack with fangs if their explosions are inactive
    • Linking TNT explosions work properly, even across adjacent chunks
    • Allows specific groups of users to use TNT in different ways
    • Gives the ability to reclaim placed TNT
    • Allows admin to change TNT properties
    Command Permissions:
    bc.set.limit - Allows the use of the '/bc limit', '/bc triggerlimit' and '/bc linklimit'
    bc.set.enable - Allows the use of '/bc enable' and '/bc disable'
    bc.set.creeper - Allows the use of '/bc creeper'
    bc.tnt.reclaim - Allows the use of '/bc reclaim'
    bc.set.yield - Allows the use of '/bc yield'
    bc.set.radius - Allows the use of '/bc radius'
    '/bc help' - Displays help
    '/bc status' - Shows the current blast limit and the current users restrictions
    '/bc reclaim' - Toggles TNT Reclaim mode on and off
    '/bc [enable/disable]' - Enables/disables BlastControl
    '/bc limit [x]' - Sets the new blast level to x
    '/bc triggerlimit [x]' - Sets the new trigger time limit to x ( in milliseconds )
    '/bc yield [x]' - Changes the blast item yield of explosions ( percentage )
    '/bc radius [x]' - Changes the blast radius of TNT ( in blocks )
    '/bc linklimit [x]' - Changes the maximum amount of linked TNT explosions
    '/bc creeper [x]' - Changes creeper behavior ( see creeper behavior table below )
    '/bc reload' - Reloads user configuration ( only available when Permissions Plug-in is not present )
    Creeper Behaviours:
    'enable' - Does not limit creeper explosions in any way
    'disable' - Disables creeper explosions completely
    'disable-fangs' - Disables creeper explosions completely but gives them fangs to attack with
    'disable-entity' - Disables creeper explosions from doing any block damage, will still damage entities (Players, other mobs)
    'disable-despawn' - Disables creeper explosions completely but, despawns them on destruct
    'limit' - Restricts creepers to only exploding under the blast limit
    'limit-fangs' - Restricts creepers to only exploding under the blast limit, but gives them fangs above the limit
    'limit-entity' - Restricts creeper exploding normally under the blast limit, above the limit they will only do entity damage (no block damage)
    'limit-despawn' - Restricts creepers to only exploding under the blast limit, but despawns them when they attempt to explode above the blast limit
    Future Development: (opinions needed, these are not set in stone)
    • Adding TNT chain limits for different user permission levels
    • Giving different TNT strengths for different user permission levels
    • Allow control over Ghast explosions (low priority)
    • Throwing primed TNT (opinion needed)
    • Allow arrows to prime TNT (opinion needed)
    • This plug-in will disable the ability to activate TNT through redstone and fire
    Download the latest version of the BlastControl Plug-in

    Download Older Version of the BlastControl Plug-in

    Download BlastControl Source

    Version 1.0.6
    • Fixed a typo in creeper setting, was 'limit-depawn' changed to 'limit-despawn'
    • Added new permission 'bc.tnt.abovelimit.link'
    • Added command '/bc linklimit <#>'
    • Fixed an issue with 'limit-despawn' where it was letting the creeper attack
    Version 1.0.4
    • Added 'bc.tnt.immune' permission
    • Allow players to be immune to damage from TNT (other sources act normally)
    Version 1.0.3
    • Removed Compatibility code for CB 599 and below for efficiency
    Version 1.0.2
    • Added compatibility with major revisions to CB 558+ (tested on CB592)
    • Removed Right-Click to reclaim TNT until CB API changes calm down
    Version 1.0.1
    • Removed a debug message that accidentally got left in for v1.0 release
    Show Spoiler

    Version 1.0
    • Added explosion sound effect to creepers explosions while only doing entity damage
    • Shortened creeper attack range by 1 block
    Version 0.9.3
    • Added new creeper settings 'disable-entity' and 'limit-entity'
    Version 0.9.2
    • Fixed an incompatibility with changing Yield and CB 556-
    Version 0.9.1
    • Made Permissions plug-in optional, capable of using user.properties file
    • Moved configuration files to plugins/BlastControl
    • Renamed blastcontrol.cfg to settings.properties
    • Will automatically convert your existing settings
    • Added '/bc reload' which is only available when Permissions plug-in is not present
    • Cleaned up settings and configuration code
    Version 0.9
    • Added ability to set TNT Blast radius using '/bc radius'
    • Added new permission 'bc.set.radius'
    • Added ability to set TNT Blast item yield using '/bc yield'
    • Added new permission 'bc.set.yield'
    Version 0.8
    • Fixed a bug that could cause an infinite loop
    • Also moved project to GitHub
    Version 0.7
    • Fixed a bug where when a creeper was attacking with fangs, damage would come from player instead of creeper
    Version 0.6
    • Right-click of TNT with nothing in hand will reclaim, relies on 'bc.tnt.reclaim'
    Version 0.5
    • Added command '/bc reclaim' to allow users to toggle TNT pickup mode
    • Added new permission 'bc.tnt.reclaim'
    Version 0.4
    • Fixed a bug that could cause an infinite loop
    Version 0.3
    • Allowed commands to be accessed via console
    • Added a new status item showing the time-to-link timeout
    • Changed status to not show player restrictions if plug-in is disabled
    • Plug-in will disable gracefully if Permissions plug-in is not loaded
    • Changed Plug-in Hooks from Lowest to High - ( I misinterpreted originally )
    Version 0.2
    • Changed permission 'bc.tntallowed' to 'bc.tnt.allowed'
    • Changed permission 'bc.abovelimit.place' to 'bc.tnt.abovelimit.place'
    • Changed permission 'bc.abovelimit.activate' to 'bc.tnt.abovelimit.activate'
    • Changed permission 'bc.enabledisable' to 'bc.set.enable'
    • Changed permission 'bc.setcreeper' to 'bc.set.creeper'
    • Changed permission 'bc.setlimit' to 'bc.set.limit'
    • Removed permission 'bc.status'
    • Added new creeper settings 'disable-despawn' and 'limit-despawn'
    • Slightly increased the range on creeper fang attacks
    • Changed command '/bc setlimit' to '/bc limit'
    • Added command '/bc triggerlimit'
    Version 0.1
    • Initial Release
    nendi, Thomasice and Aaron_Merric like this.
  2. Offline


    hmm, interesting... no matter how i set it, it always resets the blocks after an explosion, and i have all the other tnt protections disabled. :/
    the only possible problem is worldguard, but as i said before, its disabled.. so i dunno. lol
    any ideas what might be doing it?
  3. Offline


    Having this same problem
  4. Offline


    Can both of you guys please post what version of CB your running, BC settings, and all the plugins that your running?
  5. Offline


    Love your plugin but I wonder if you can add a nerf for ghast explosions so that they dont affect the terrain when I go into the nether now that we have the nether to enjoy in SMP. Please =)
  6. Offline


    Is this compatible with 818?
  7. Offline


    It's working for me, so far.
  8. Offline


    Ok thanks Btw im new to this to update the plugin so its compatible with 1.6 do i just download the jar then put it in my plugins folder ?
  9. Offline


    Does the plugin compatible with multiworld? I want to disable the creeper damage block in world 1 and not in world 2 .. How can i do that?
  10. Offline


    Yeah, it doesn't support multiworld yet. I should look into that.
  11. Offline


    Easiest way to do this would be to have WorldGuard disable creeper explosions in the desired world(s), then have them enabled in the other ones you want them to be enabled in.
  12. Offline


    @AegisZephyr i dont use WorldGuard .. I want to keep BlastControl :D
  13. Offline


    Not what I meant, you can enable or disable each world separately in the WorldGuard configuration to either allow creeper explosions or prevent them. On my server, the Vanilla world is protected from creeper explosions but still damage players and in the RPG world, Creepers only explode below y:55 but still damage players above y:55. You can still use BlastControl with WorldGuard, that just allows you to protect one world and leave the others open to explosions/fire/damage/whatever.
  14. Offline




    2011-06-05 09:28:14 [SEVERE] Could not pass event ENTITY_EXPLODE to Residence
    at com.bekvon.bukkit.residence.listeners.ResidenceEntityListener.checkExplosionCancel(ResidenceEntityListener.java:122)
    at com.bekvon.bukkit.residence.listeners.ResidenceEntityListener.onEntityExplode(ResidenceEntityListener.java:89)
    at org.bukkit.plugin.java.JavaPluginLoader$50.execute(JavaPluginLoader.java:591)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    at net.minecraft.server.Explosion.a(Explosion.java:205)
    at net.minecraft.server.World.createExplosion(World.java:1340)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:137)
    at net.minecraft.server.World.a(World.java:1332)
    at com.bukkit.happo2000.BlastControl.BlastControlEntityListener.onEntityExplode(BlastControlEntityListener.java:155)
    at org.bukkit.plugin.java.JavaPluginLoader$50.execute(JavaPluginLoader.java:591)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    at net.minecraft.server.Explosion.a(Explosion.java:205)
    at net.minecraft.server.World.createExplosion(World.java:1340)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:137)
    at net.minecraft.server.EntityCreeper.a(EntityCreeper.java:120)
    at net.minecraft.server.EntityCreature.c_(EntityCreature.java:68)
    at net.minecraft.server.EntityLiving.u(EntityLiving.java:692)
    at net.minecraft.server.EntityMonster.u(EntityMonster.java:30)
    at net.minecraft.server.EntityLiving.o_(EntityLiving.java:231)
    at net.minecraft.server.EntityMonster.o_(EntityMonster.java:34)
    at net.minecraft.server.EntityCreeper.o_(EntityCreeper.java:69)
    at net.minecraft.server.World.entityJoinedWorld(World.java:1071)
    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:56)
    at net.minecraft.server.World.playerJoinedWorld(World.java:1053)
    at net.minecraft.server.World.cleanUp(World.java:1030)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:397)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:311)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    I hope you help me
    sorry,my English is not good
    Thank you
  15. Offline


    When I use this plugin, creepers are fine, run towards you then disappear randomly when they would originally explode. Why is this?
  16. Offline


    What version of CraftBukkit are you using?

    What setting do you have for creepers?

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


    I did notice you not support the version of 818
  18. Offline


    Ah, ok. There might be some incompatibity with that version. I'll check it tonight.
  19. Offline


    Thank you
  20. Offline


    Ok, I did some checking. It works with 818.

    So I looked back at your error there. It's a problem with residences and creeper explosion/despawn. BlastControl will despawn the creeper, but Residences will try and use it afterwards. Hence residences will throw an error ( they should be checking for null first ).

    If you change the creeper setting to something other then despawn-entity or limit-entity. This will stop Residences from throwing the error.
  21. Offline


    I change the creeper setting to the limit-entity,but the same trigger error
    I want to have explosions,I do not want to change the despawn-entity
    very grateful to you
  22. Offline


    Is it possible to have the creepers just attack with fangs and not despawn?

    I've tried all the settings it seems and the creepers despawn after biting once.
  23. Offline


    disable-fangs or limit-fangs is the creeper setting you want

    As I said, that is acutally an issue with residences.

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



    disable-fangs and limit-fangs will just let the creeper bite once, they still despawn.

    running 818
  25. Offline


    Could you add an explanation of the configuration file please? Or did I miss that...
  26. Offline


    will this be updated?
  27. Offline


    on #818 Even when disabling the creepers completely ( the blast) they still blow up and do block damage and player damage. Is this a bug with #818 or am i doing something wrong?
    Fixed it! Seems iI had a setting wrong in my file. Much better now. Great plugin.
    Edit2: I dont run the permissions plugin and i only want this for limiting creepers. Is there a way to give all users the use of tnt anywhere with out having them be OP? Cause for war! i have tnt in zones and if only OP's can lay tnt and set it off, thats not really fair.
  28. Offline


    Works fine for me in 818, although I only have block damage turned off for creepers; nothing else.
  29. Offline


    Hi there,

    I just discovered this plugin and I've been looking through the instructions up top regarding configurations, and I just wanted to ask a couple of questions.

    First off I just wanted to let you know what I want to achieve:
    I'd like to use this plugin to still allow Creepers to explode but just only damage the player and NOT the environment. I want TNT to still operate as per normal, as if this plugin were never installed.

    If I leave the settings at default in "settings.properties" will this allow TNT to still function as normal or do I have to change the settings to the default values of normal TNT operation? If so, what would be the default values?

    Thanks for a great plugin, just what I was looking for.
  30. Offline


    This is exactly how I use this plugin. In settings.properties, set the following lines:

    If you want everyone to be able to use TNT, set bc.tnt.allowed=false in user.properties. Otherwise, only ops can use it.
  31. Offline


    Thanks Nikademus for that info.

    I gave it a test run and works great. It's an excellent plugin that allows me the best of both worlds for both Creepers and TNT.

    Just one more thing:
    I noticed that BlastLinkLimit is set to 64. Does that control how many TNT's can be laid and detonated in a chain? If so, is that the default setting in normal Minecraft without this plugin? What about BlastRadius, BlastYield and BlastTriggerLimit?

    I used to use CreeperNerf plugin which still actually works with current CB builds even though its currently inactive. The only problem with that plugin is that not only did it nerf Creepers but also TNT as an unfortunate side effect, and there seemed no way to do anything about it.
    With this plugin you get much greater control. Thanks to the author.

Share This Page