[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

    MineralMC

    I actually thought that part was to set a 'fuse' before the TNT detonated, for those setting large blast radii - would that be an option at some point?
     
  3. Offline

    happo2000

    I think that might not be to difficult. I'd have to spend some time looking into it.

    https://github.com/downloads/happo2000/BlastControl/BlastControl-v1.0.5b.jar

    Here's a beta version, not sure I'm happy with the way this is turning out. This was quite a substantial change, so I need to spend a while and test it. ( This is in no way complete or tested at this point. ) New command added '/bc linklimit <#>' and a new permission 'bc.tnt.abovelimit.link'.

    TNT is destroyed if it is too close to the center of the last blast. There is no hook for Block-On-Block damage. That might help, but it might not.

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

    compuwiz

    It would be nice to see something to prevent or limit chain reactions, if that is possible.
    I have worldedit on my server and previously had an admin who was new to worldedit make a giant sphere of TNT and accidentally detonate it before they could undo it. It would be nice to have something to stop chain reactions as the sphere took several hours of MCEdit and loading and stopping in SP to get rid of it.

    As for what I mean...
    Have a setting that says the initial TNT block can only lead to x chained explosions or disable chained explosions completely.

    Ex. limit of 10 explosions

    ................X_______1 (initial TNT)
    .......x.......x.......x____1+3=4
    .....x..x...x..x...x.x____1+3+6=10
    ..x..x..x..x..x..x..x..x___ (won't explode)
     
  5. Offline

    happo2000


    I think I understand what your saying, your asking to calculate out how many TNT would be destroyed before any acutal TNT would explode. One of the problems is that TNT tends to move once it's been primed. I have no way of predicting where the TNT would land and possibly set off other TNT.

    The 1.0.5b version of BlastControl will prevent a sphere of TNT from exploding. It will just destroy a couple of extra TNT ( after the limit has been reached ), they wouldn't explode though.
     
  6. Offline

    RazorFlint

    Hmmm This Look's promising....
     
  7. Offline

    Jinux

    I'm loving the work here Happo, it's coming along awesomely and so much interest! :D

    I also agree with this; One explosion at a time! :)
     
  8. Offline

    PedroN041

    We need 670!
     
  9. Offline

    MineralMC

    Have you tested the current version on your 670 server yet? *arches a brow*
     
  10. Offline

    PedroN041

    yes.... doesnt work
     
  11. Offline

    MineralMC

    Alright, just making sure. It's not uncommon for people to demand updates for stuff that is working fine (but marked as being for a previous version).
     
  12. Offline

    happo2000

    Ok. I'll look at this tonight.

    Alright. I tried it... It seems to be working for me with CB670.

    Do you have the error that it's complaining about? Or which part is not working? I tried connecting to the server you listed in your footer and the admins had no clue what I was talking about.

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

    ShockBuddy

    Yay another plugin im seaching for :D

    I allowed Creeper to Explode without make Damage on blocks!

    Thank you and Keep work on it!

    [diamond][diamond][diamond][diamond][diamond]
     
  14. Offline

    happo2000

    Those of you running 1.0.5b, how have you found it working? Is it stable and reacting properly?
     
  15. Offline

    skillinazn

    Is it possible for entity damage to be made even though the blast radius is 0? I'd like it so that my players could use it sometimes for pvping purposes but not destroy the world at the same time.
     
  16. Offline

    happo2000

    Hmm... You want the entity only damage to apply to TNT too? This would make TNT useless for mining/digging.

    Am I correct in my understanding?
     
  17. Offline

    skillinazn

    Indeed it would, but this plugin doesn't allow certain blocks to be destroyed, does it? A player did suggest the use of blastmining, but I'm just afraid that tnt could lead themselves on either accidental land destruction or griefing. If you do allow certain blocks to be destroyed (like smooth stone, I think another plugin works for that but it hasn't been working for me) then that would be fine.
     
  18. Offline

    Chromana

    Hmm I'm having problems with this plugin, I just can't seem to get it to work as expected.

    I've set the blast height to 1. So this means that someone with the bc.tnt.abovelimit.place permission can place anywhere, correct? Yet they are told that they don't have permission why they try and /bc status says they can't as well. Am I missing something? I'm sure the permissions file is correct. Using Bukkit 670.

    Also, if the blast height is 50 does that mean that anyone can place and explode blocks below height 50? I would like to make it so that there is none of this blast height business: you either have permission to place and/or detonate blocks or you can't.

    Thanks for your help :)
     
  19. Offline

    happo2000

    If someone doesn't have the bc.tnt.allowed permission, they wont be able to use TNT.
     
  20. Offline

    Nitnelave

    Could you make support for redstone activation? otherwise, it's great!
     
  21. Offline

    SinForest

    Does it work on 733?
     
  22. Offline

    happo2000

    I will try it in 733 this evening and let you know.

    733 did not break BlastControl in any way.
    BlastControl v1.0.4 is still good.

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

    o0AzzA0o

    # BlastControl Configuation
    #Wed Apr 27 01:49:52 BST 2011
    Enabled=true
    BlastRadius=5
    BlastYield=0.5
    BlastTriggerLimit=1000
    BlastLimit=50
    CreeperSetting=disable-entity


    Im op and i have permissions and this plugin was working fine around 707........ ish no errors in log it just detonates tnt then the land fills back in again as if client is seeing it but server is not..

    havent changed my config since it was working on 707 i also downloaded latest jar........
     
  24. Offline

    happo2000

    Hmm.. Ok. I'll check again

    Ok. I did more testing on v1.0.4. I didn't find a problem. So then I looked back at your settings. Could you try setting the blast trigger limit back to 10000 instead of 1000 and see if that resolves the issue?

    I see what was happening. You had set the TimeToLink to less then the TNTPrime time (this is the time in between when you hit the TNT to activate it and when it acutally explodes )

    As I said in previous posts, I'm trying to decide if I should remove this option as I can't figure out why an admin would want to change it from 10 seconds to something lower/higher.

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

    o0AzzA0o

    thanks :)

    worked perfect...... thanks for pointing out and sorry to cost you time
     
  26. Offline

    happo2000

    Oh, no big deal. Glad that it works for you again. :)
     
  27. Offline

    defthefirst

    Hi,
    Thanks for this pluging, i'have a question about, pvp server.
    Is there a way to immune block but not players to TNT, like creepers ? for pvp and players can still make somes traps in pvp.
    thanks
     
  28. Offline

    happo2000

    I'll see what I can do about it. That may be a little tricky.
     
  29. Offline

    Nieksas

    you should add this cool think : tnt limiter because if i add this permission to vip he can easily crash server with placing 1k tnt so i want to make a tnt place limit like 2 or maybe 5 so he can place 2 or 5 tnt at the time and no more
     
  30. Offline

    happo2000

    I'm working on something like that. Try the 1.0.5beta version, that limits the amount of TNT that a person can explode.
     
  31. Offline

    Aeron

    Can you please make a limit of how many TNT a player can place within a set ammount of time or limit active TNT placed of a user? For example: A user could place one tnt at a time (configurable number), and he can't place another TNT, until he has triggered the ones he placed ??? It would be very, very useful, so that players couldn't build tnt cities and crash the map.
     

Share This Page