[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

    happo2000

    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.

    Permissions:
    Code:
    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.

    Features:
    • 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:
    Code:
    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'
    
    Commands:
    Code:
    '/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:
    Code:
    '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)
    Restrictions:
    • 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

    Changelog:
    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

    L24D

    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

    Starhero


    Having this same problem
     
  4. Offline

    happo2000

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

    Aaron_Merric

    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

    Craig1690

    Is this compatible with 818?
     
  7. Offline

    Nikademus

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

    Craig1690

    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

    Kuun

    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

    happo2000

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

    AegisZephyr

    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

    Kuun

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

    AegisZephyr

    @Kuun
    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

    aasl57

    Enabled=true
    BlastRadius=4
    BlastYield=0.3
    BlastTriggerLimit=10000
    BlastLimit=54
    CreeperSetting=disable-entity
    BlastLinkLimit=32

    ----------------------------------------------------------------------

    2011-06-05 09:28:14 [SEVERE] Could not pass event ENTITY_EXPLODE to Residence
    java.lang.NullPointerException
    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

    murdrums

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

    happo2000

    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

    aasl57

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

    happo2000

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

    aasl57

    Thank you
     
  20. Offline

    happo2000

    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

    aasl57

    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

    drew

    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

    happo2000

    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

    drew

    happo,

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

    running 818
     
  25. Offline

    musicin3d

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

    Beans

    will this be updated?
     
  27. Offline

    rcfreak0

    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?
    Edit:
    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

    Nikademus

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

    sean_skroht

    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

    Nikademus

    This is exactly how I use this plugin. In settings.properties, set the following lines:
    BlastLimit=128
    CreeperSetting=disable-entity

    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

    sean_skroht

    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