[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

    happo2000

    You can modify the permissions file in the blastcontrol folder and change the settings to allow regular users to use TNT and give them the abovelimit permissions.

    Minecraft doesn't have a BlastLinkLimit, this can also be turned off in BlastControl by giving all your users the bc.tnt.abovelimit.link permission. This does control how many TNT can be detonated in a chain.

    The default BlastControl settings for BlastRadius, BlastYield are the minecraft defaults which I believe are:
    BlastRadius=4
    BlastYield=30

    The BlastTrigger limit is a BlastControl thing to tell if 2 TNT explosions were linked together. This should not be modified from the 10000 milliseconds default. I am considering removing the ability to change this value as it just seems to cause admins to botch their BlastControl settings.

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

    CuteFoxCat

    how do you installl this? i tho this was supposed to me a .jar and now zip........ please help D=>
     
  4. Offline

    happo2000

    It is a .jar file ( .jar files are renamed zip files ). Your browser is changing the name. Just rename it back to .jar
     
  5. Offline

    Netu

    For the life of me I cannot give users permissions to use TNT. I want anyone with build rights to be able to use TNT, so that's anyone except the default group.

    My user.properties:
    Code:
    # BlastControl Permissions - true means ops are required.
    
    #Sun Jun 05 14:56:47 CDT 2011
    bc.tnt.abovelimit.activate=false
    bc.set.creeper=true
    bc.tnt.abovelimit.place=true
    bc.tnt.immune=false
    bc.set.yield=true
    bc.set.enable=true
    bc.set.limit=true
    bc.set.radius=true
    bc.tnt.allowed=false
    bc.tnt.reclaim=false
    
    My settings.properties:
    Code:
    # BlastControl Configuation
    #Tue Jun 14 01:16:24 CDT 2011
    Enabled=true
    BlastRadius=4
    BlastYield=30
    BlastTriggerLimit=10000
    BlastLimit=128
    CreeperSetting=disable-entity
    
    And I've tried giving the allow permissions and not having them there; either way does not seem to work.

    I'm not sure why this is darn painful--I know it's something entirely too easy/simple I am just looking over.

    Thanks for any and all assistance. :)
     
  6. Offline

    happo2000



    Just for clarity, Are you running permissions plugin ( or any derivitive )? What version of CraftBukkit? What other plugins do you have installed? All of them.
     
  7. Offline

    Netu

    Thanks for the response. I apologize for not having put that information in my first post--that was a silly mistake of me. So here it is:
    • CraftBukkit: I have tried with both 818 and 860. I am sitting on 818 for the time being until a few other plugins get updated, however.
    • Permissions: Permissions 3.1.5b
    • Plugins: BlastControl, cavein, CommandBook, DropControl, EverCart, ExactSpawn, FenceStack, Graveyard, LyTreeHelper, mcMMO, MCTelnet, MinecartManiaCore, MinecartManiaSignCommands, MinecartManiaStation, MobLoot, MoveCraft, OddLight, Permissions, Seasons, ThunderJoin, TorchLight, WorldEdit, MinecartManiaAdminControls, MinecartManiaAutomations, MinecartManiaChestControl
    I'll also post my Permissions groups file; however I fully understand that is not your alley at all, I'm only posting it just in case someone spots something, and in case it's asked for in the future:

    Code:
    groups:
        Default:
            default: true
            info:
                prefix: '&7'
                suffix: '&f'
                build: false
            permissions:
                - 'cavein.user.enabled'
                - 'lytreehelper.destroyall'
                - 'choptree.chop'
                - 'mcmmo.ability.woodcutting'
                - 'mcmmo.ability.mining'
                - 'mcmmo.ability.axes'
                - 'mcmmo.ability.excavation'
                - 'mcmmo.ability.swords'
                - 'mcmmo.ability.unarmed'
                - 'mcmmo.ability.herbalism'
                - 'mcmmo.skills.*'
                - 'dropcontrol.grass'
                - 'dropcontrol.glass'
                - 'dropcontrol.tnt'
                - 'dropcontrol.bookshelf'
                - 'dropcontrol.mobspawner'
                - 'dropcontrol.woodstairs'
                - 'dropcontrol.diamondore'
                - 'dropcontrol.stonestairs'
                - 'dropcontrol.woodpressureplate'
                - 'dropcontrol.ice'
                - 'dropcontrol.glowstone'
    
        Member:
            default: false
            info:
                prefix: '&2'
                suffix: '&f'
                build: true
            permissions:
                - 'cavein.user.enabled'
                - 'lytreehelper.destroyall'
                - 'choptree.chop'
                - 'mcmmo.ability.woodcutting'
                - 'mcmmo.ability.mining'
                - 'mcmmo.ability.axes'
                - 'mcmmo.ability.excavation'
                - 'mcmmo.ability.swords'
                - 'mcmmo.ability.unarmed'
                - 'mcmmo.ability.herbalism'
                - 'mcmmo.skills.*'
                - 'bc.tnt.abovelimit.place'
                - 'bc.tnt.abovelimit.activate'
                - 'dropcontrol.grass'
                - 'dropcontrol.glass'
                - 'dropcontrol.tnt'
                - 'dropcontrol.bookshelf'
                - 'dropcontrol.mobspawner'
                - 'dropcontrol.woodstairs'
                - 'dropcontrol.diamondore'
                - 'dropcontrol.stonestairs'
                - 'dropcontrol.woodpressureplate'
                - 'dropcontrol.ice'
                - 'dropcontrol.glowstone'
        Moderator:
            default: false
            info:
                prefix: '&b'
                suffix: '&f'
                build: true
            permissions:
                - 'cavein.user.enabled'
                - 'lytreehelper.destroyall'
                - 'choptree.chop'
                - 'mcmmo.ability.woodcutting'
                - 'mcmmo.ability.mining'
                - 'mcmmo.ability.axes'
                - 'mcmmo.ability.excavation'
                - 'mcmmo.ability.swords'
                - 'mcmmo.ability.unarmed'
                - 'mcmmo.ability.herbalism'
                - 'mcmmo.skills.*'
                - 'bc.tnt.abovelimit.place'
                - 'bc.tnt.abovelimit.activate'
                - 'dropcontrol.grass'
                - 'dropcontrol.glass'
                - 'dropcontrol.tnt'
                - 'dropcontrol.bookshelf'
                - 'dropcontrol.mobspawner'
                - 'dropcontrol.woodstairs'
                - 'dropcontrol.diamondore'
                - 'dropcontrol.stonestairs'
                - 'dropcontrol.woodpressureplate'
                - 'dropcontrol.ice'
                - 'dropcontrol.glowstone'
        Admin:
            default: false
            info:
                prefix: '&4'
                suffix: '&f'
                build: true
            permissions:
                - '*'
                - '-bc.tnt.immune'
    I have tried with and without the bc.tnt.abovelimit permissions.

    I think the real problem here is I keep trying to Frankenstein settings together; I've become flustered. Yet, when I approach it logically (as I have tried to do), I still cannot seem to just get it to work with any configuration. I am certain it's just some silly little thing I keep looking over and over again, mainly because I'm an idiot. :'(

    Anyway, thanks again for any and all assistance! I really do appreciate it a lot.
     
  8. Offline

    happo2000

    Oh, if you have permissions installed 'user.properties' is ignored ( It only gets created if permissions are not installed. )

    As for getting this to work, you need to give your members the 'bc.tnt.allowed' permission.
     
  9. Offline

    Chub1337

    Hey happo2000, since the 1.6 update, I'm sure you know, the Nether has been added. This is all great fun, but i've also encountered 2 problems:

    The first one: Ghast.

    These cute flying spaghetti monsters like shooting their spicy meatballs at my lovely garden, murdering all my petunias! A.k.a. I would like to be able to stop the terrain damage (but still keep the player damage), what should I do?

    The second one: TNT.

    Like you said, TNT is great fun, but destroying the terrain isn't in my opinion, therefore I disabled terrain-damage by setting it to 0. But, now also the players dont get hit anymore :O What am I dong wrong here?

    INFO:

    BlastControl = 1.0.6

    Show Spoiler

    # BlastControl Configuation
    #Wed Jun 15 15:23:14 CEST 2011
    Enabled=true
    BlastRadius=0
    BlastYield=1.0
    BlastTriggerLimit=10000
    BlastLimit=54
    CreeperSetting=disable-entity
    BlastLinkLimit=64



    Show Spoiler

    # BlastControl Permissions - true means ops are required.
    #Fri May 13 00:26:59 CEST 2011
    bc.tnt.abovelimit.activate=true
    bc.set.creeper=true
    bc.tnt.abovelimit.place=true
    bc.tnt.immune=false
    bc.set.yield=true
    bc.set.enable=true
    bc.set.limit=true
    bc.set.radius=true
    bc.tnt.allowed=true
    bc.tnt.reclaim=false



    CraftBukkit = #818

    Permissions =

    Show Spoiler

    Default:
    default: true
    info:
    prefix: '&6'
    suffix: '&f'
    build: true
    inheritance:
    permissions:
    - 'commandbook.spawn'
    - 'commandbook.rules'
    - 'commandbook.who'
    - 'commandbook.motd'
    - 'commandbook.msg'
    - 'commandbook.say.me'
    - 'commandbook.whereami'
    - 'commandbook.whois'
    - 'commandbook.whois.other'
    - 'ommandbook.kit.list'
    - 'commandbook.kit.kits.starter'
    - 'commandbook.call'
    - 'commandbook.return'
    - 'commandbook.debug.clock'
    - 'PhysicalShop.build'
    - 'PhysicalShop.use'
    - 'deathtpplus.streak'
    - 'deathtpplus.deaths'
    - 'deathtpplus.kills'
    - 'worldguard.stack'
    - 'falsebook.blocks.hiddenswitch.create'
    - 'falsebook.blocks.lift'
    - 'falsebook.blocks.gate'
    - 'falsebook.blocks.door'
    - 'falsebook.blocks.bridge'
    - 'bc.tnt.allowed'
    - 'bc.tnt.abovelimit.*'


    WorldGaurd =

    Show Spoiler

    summary-on-start: on
    pumpkin-scuba: on

    protection:
    item-durability: on
    remove-infinite-stacks: off

    simulation:
    sponge:
    enable: on
    redstone: off
    radius: 3

    physics:
    no-physics-gravel: off
    no-physics-sand: off
    allow-portal-anywhere: off
    disable-water-damage-blocks: []

    ignition:
    block-tnt: off
    block-lighter: off

    fire:
    disable-all-fire-spread: on
    disable-fire-spread-blocks: []
    disable-lava-fire-spread: on
    lava-spread-blocks: []

    weather:
    disable-lightning-strike-fire: off
    prevent-lightning-strike-blocks: []
    # The following don't work yet
    disable-weather: off
    disable-thunderstorm: off
    disable-pig-zombification: off
    always-raining: off
    always-thundering: off
    disable-powered-creepers: off

    mobs:
    block-creeper-explosions: off
    block-creeper-block-damage: on
    block-creature-spawn: []
    anti-wolf-dumbness: false

    spawn:
    login-protection: 3
    spawn-protection: 0
    kick-on-death: off
    exact-respawn: off
    teleport-to-home-on-death: off

    player-damage:
    disable-fall-damage: off
    disable-lava-damage: off
    disable-fire-damage: off
    disable-lightning-damage: off
    disable-drowning-damage: off
    disable-suffocation-damage: off
    disable-contact-damage: off
    teleport-on-suffocation: off
    disable-void-damage: off
    teleport-on-void-falling: off

    regions:
    enable: on
    wand: 287
    max-claim-volume: 300000
    claim-only-inside-existing-regions: off
    max-region-count-per-player: 7
    high-frequency-flags: off

    iconomy:
    enable: on
    buy-on-claim: on
    # Price per block for buying on claim
    buy-on-claim-price: 2

    chest-protection:
    enable: off

    crops:
    disable-creature-trampling: on
    disable-player-trampling: on

    blacklist:
    use-as-whitelist: off
    logging:
    console:
    enable: on
    database:
    enable: off
    dsn: jdbc:mysql://localhost:3306/minecraft
    user: root
    password: pass
    table: blacklist_events
    file:
    enable: on
    path: worldguard/logs/%w-%Y-%m-%d.log
    open-files: 10


    I hope this is enough information, otherwise I'd be happy to give some more. :)

    -Chub1337
     
  10. Offline

    tha d0ctor

    could you add a feature that doesnt allow more than X amount of TNT to be placed in the world at a time? my users can still lag the hell out of a server even with the linked explosion limit
     
  11. Offline

    Netu

    Oh, permissions, how you sometimes make me want to put a live whale down my throat only so that I could be a submarine.

    Thank you very, very much happo2000. It worked like a charm, of course. ;)
     
  12. Offline

    happo2000

    There currently is no option to change TNT so that it only does player damage. It's something that I will be looking into eventually.
     
  13. Offline

    CuteFoxCat

    blast control disables ghasts in nether how come???
     
  14. Offline

    max96at

    Can you please make it configurable that TNT can be activated by redstone and fire, because I only use this plugin to disable blockdamage by creepers.
     
  15. Offline

    Kuun

    Eyh guyz, i use your plugin and its working great ! I wish one thing : can you make a release with multiworld support ? I need to allow the block damage of creeper in my world1 and disallow it in my world2 (i got 2 world : one free build and one roleplay)
     
  16. Offline

    Tadas159

    Best plugin for explosives.
     
  17. Offline

    Valiant

    IS there a way we could get it that when creepers are set up to only blow up below the blast limit, but will do entity damage at any level, the levels ABOVE the blast limit "revert" the block damage, instead of the creeper just disappearing before the explosion animation? Though it does do damage properly above the blast limit, it is quite anti-climatic to not see it at least blow up.
     
  18. Offline

    rolandostar

    Thanks for this plugin, its awesome but..

    can you add an optional messgae when you go under the limit ("TNT is now enabled" message when you are deep enough)
     
  19. Offline

    lazy_architect

    Just tested this out with RB928 Everything looks to work but I only did basic load and function testing.
     
  20. Offline

    SulimirCular

    maybe u could upate it to 928? would be awesome
     
  21. Offline

    Bacu

    I'm using this for creeper protection. I have it set to not interfere with the dynamite blocks, yet there is no explosion when TNT is triggered by redstone. Please advise.
     
  22. Offline

    MineFreakz

    This seems to conflict with worldguard, as users cant open their chests anymore.
    They get Worldguard: No regions defined
     
  23. Offline

    G1R Productions

    Any chance of it being able to disable block damage but still have player damage?
     
  24. Offline

    happo2000

    BlastControl has always disabled TNT being triggered by redstone.
     
  25. Offline

    tekac

    I believe this is working with #953 .. although I'm not sure. I can't trigger TNT explosions like we're supposed to. Via redstone or fire.
     
  26. Offline

    o0AzzA0o

    yes the control of blast and creeper control and other preventions are working it just wont allow people that are permitted to detonate tnt via redstone/fire which is unfortunate since thats how it now has to be activated
     
  27. I asked my players to try and ignite TNT with a flint and steel. and it worked. By Redstone didnt however
     
  28. Offline

    Tadas159

    update?
     
  29. Offline

    H_J_446

    could you please make it so you can add something in the config so TNT could be set off by at least redstone?

    as 1.7 stops you from setting TNT off by clicking it :(

    didn't think of that lol
    damn i feels stupid

    oh wait... for some reason it doesn't work on mine
    the tnt does its SSS and it flashes but i doesnt actually do any damage and i have checked the radius and TNT isnt blocked using any other plugin... this is strange

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

    guyasyou

    why I'm the admin, with all the permissions I can not blow up TNT???
    Google Translate
     
  31. Offline

    repeat

     

Share This Page