[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've told them that they're limited to one TNT at a time (and will hard limit this when/if you add limited chains), so hopefully it won't be a problem!
     
  3. Offline

    happo2000

    https://github.com/downloads/happo2000/BlastControl/BlastControl-v0.9.3.jar

    Here's a version that will have Creepers explode with only doing entity damage. Please let me know how it works out.

    Use '/bc creeper limit-entity' or '/bc creeper disable-entity'
     
  4. Offline

    MineralMC

    Works like a charm. Is there no way to make the pretty dust and the explosion audio when they 'explode' under disable-entity mode?
     
  5. Offline

    happo2000

    Hmm. Not sure. Will look into that more.
     
  6. Offline

    Kartus

    @happo2000 when do you will launch 0.9.3? i'm searching for a "creeper-environment-dmg-disabling-BUT-dmg-players-enabled" plugin for months. i need only that feature from your plugin, so can you please make a configtoggle/command to only activate blastcontrol for creeper and not for TNT in example "/bc tnt on" "/bc tnt off"? When "/bc tnt off", then should all TNT Features of BlastControl be disabled, like following too:

    and it should be performanceoptimized, so if TNT is OFF, then on server startup, blastcontrol should only load Creeper-Features. probably it's good if you make 2 .jar files. 1 for creeper, 1 for tnt? i think the bukkit community is searching for that creepernerfplugin cause all olders are inactiv/broken.

    EDIT
    AntiCreeper will implement this feature soon. I will take his plugin, cause i think it's more leightweight and saves your coding-time-ressources.
     
  7. Offline

    happo2000

    I've added an explosion sound effect to creepers exploding under these circumstances. Smoke seems to be a little more difficult.

    Anyway. Version 1.0 released.
     
  8. Offline

    MineralMC

    You rock, happo. Cheers!
     
  9. Offline

    mdt7734

    Your mod has started spamming my log with this every time a block is clicked by any player.

    2011-03-28 00:34:39 [INFO] test
    2011-03-28 00:34:40 [INFO] test
    2011-03-28 00:34:40 [INFO] test
    2011-03-28 00:34:41 [INFO] test
    2011-03-28 00:34:41 [INFO] test
    2011-03-28 00:34:41 [INFO] test
    2011-03-28 00:34:41 [INFO] test
    2011-03-28 00:34:42 [INFO] test
    2011-03-28 00:34:42 [INFO] test
    2011-03-28 00:34:42 [INFO] test
    2011-03-28 00:34:42 [INFO] test
    2011-03-28 00:34:42 [INFO] test
    2011-03-28 00:34:42 [INFO] test
    2011-03-28 00:34:42 [INFO] test
    2011-03-28 00:34:43 [INFO] test
    2011-03-28 00:34:43 [INFO] test
     
  10. Offline

    MineralMC

    Oh shit, that was this? I had this bug earlier on, but I didn't think it was blastcontrol.

    1.0.1 please! :>
     
  11. Offline

    mahmati

    One system.out.prinln too much in the BlastControlBlockListener.java. I would fix it if I knew how to.

    But yeah, that test-spamming is very irritating, a quick fix please :)
     
  12. Offline

    happo2000

    Opps

    Sorry guys, that's my fault. I will fix this ASAP


    I fixed it. Again, sorry about that. I also noticed there was a update to bukkit that will break BlastControl with the March 24th version of bukkit, will fix that tonight. ( They went and renamed one of the Events on me. )

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

    MineralMC

    Excellent. Thanks for the quick response, happo!
     
  14. Offline

    SneakyTax

    Thanks for the rapid response! I wasn't able to check the server over the weekend, will give it a try tonight though!

    I had users asking "WTF is with the creepers?" though? Hehe - they were on "sting" mode... kind of funny! They just circle around you trying to sting you from the back. :-D Definitely humorous! Look forward to them sneaking up and "SssssBoom!"ing again!
     
  15. Offline

    clawdz18

    yeh... its not working for me

    i use "/bc creeper disable" and it says that its worked "[BC] creeper blast : disabled" but they still go SSSSSSSSSSssssssssssss booom
     
  16. Offline

    happo2000

    Sorry. They still explode? I'll check it out tonight. ( I'll go and verify all the creeper settings. )

    Ok. I did some testing and found it all working on the current recommended build of CraftBukkit. But did find that this happened (along with a ton of errors in the console), with the newer development builds of CB. I fixed the compatibility issues. Please try the latest version.

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

    mdt7734

    I think you should still allow them to SSSsSSSssssss just to scare the crap out of us, even with the fang attack. It kinda goes together still eh?
     
  18. Offline

    happo2000

    They do with the first time they get near you. ( If you run out of range and then go back up close to them, they'll hiss again. ) I was trying to get them to hiss everytime they attacked, but it didn't seem to want to work. I don't think Bukkit provides the functionality yet.
     
  19. Offline

    mahmati

    Thank you very much! :)
     
  20. Offline

    Jotakob

    hey, could you make an 'ultimate-mining-tnt' that doesn't hurt players but only damages the environment? cause i'm currently building a huge mob-spawner and that would be real fun. of course best if toggleabe in permissions or ingame
     
  21. Offline

    clawdz18

    oh from my comment earlier you recommended i upgraded to latest build.. im on build craftBukkit 592
     
  22. Offline

    happo2000

    Well, it wasen't really a recommendation. More of a conclusion that you were on a development version of CB. Did you try v1.0.2 of BlastControl with CB592?

    I believe I can do something like that. How about player based permission where players with 'bc.tnt.immune' permission are immune to TNT damage? Is that along the lines of what your looking for? Because it would still be fun to blow up small animals with TNT.

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

    xidio

    Uhm this doesnt seem to work for me.

    [BC] Your status: You are permitted the use of TNT.
    [BC] You do not have permissions to use TNT.
    [BC] You do not have permissions to use TNT.

    Uh? My permissions file is exactly as it should be and I can edit the crap but I cannot place any tnt.

    I run these plugins.

    Essentials.
    Stackable
    TelePlusPlus
    Permissions
    MinecartMania
    HomeX
    Blast Control
    AutoSave
    GodMode

    Without BC enabled I can place TNT and everything works as it should, but I want to increase the blast radius etc which I cannot do without BC(?).
     
  24. Offline

    happo2000

    What version of CraftBukkit are you running? And what does your permissions file look like? ( And what version of BlastControl )
     
  25. Offline

    xidio

    Latest blastcontrol, or well the one I found in this thread on page 1. (1.0.2?)

    Bukkit 556 I believe.

    Permissions:
    users:
    hamzta:
    group: Admin
    permissions:
    - 'bc.tnt.abovelimit.place'
    - 'bc.tnt.abovelimit.activate'
    - 'bc.tnt.allowed'
    - 'bc.set.limit'
    - 'bc.set.creeper'
    - 'bc.set.enable'
     
  26. Offline

    happo2000

    Ok. Nothing looks out of the ordinary. I'll try this setup tonight. (EST)

    If you could, try an older version. Like v1.0.1 or v0.9.3 of BlastControl for now
     
  27. Offline

    Lolmewn

    Thnx alot! TNT is gone now =D BTW, Is there any way (not that you have to add it), but do you know if it is even possible to remove Obby faster?
     
  28. Offline

    happo2000

    Is there any chance I can connect to your server?
     
  29. Offline

    MineralMC

    Happo, further to the 'TNT for mining' idea, I came across a mod similar to yours:
    http://forums.bukkit.org/threads/mech-mining-tnt-v0-2-527.3569/

    Since yours seems to be the more stable of the two (sorry, Taco), how about adding a configuration setting so we're able to select which blocks aren't affected by TNT? That way, the destruction rate can be set to 100% in order to strip dirt and stone without affecting a list of blocks that we define in the configuration. This would resolve any issues with TNT lag, as well as making it a valuable mining tool.
     
  30. Offline

    happo2000

    Oh, didn't know someone else had made one similar.

    Back towards the end of January, the admin of the server that I play MC on was complaining that most of the plugins that he used weren't continued from hMod. He described one that he used to run that had limitations on TNT on height. But that because this plugin did not exist in bukkit, he had to remove TNT access to Standard users on the server ( through WorldGuard ). The server lost a few members as the ride from hMod to Bukkit was not a smooth transition and not being able to use TNT at all seemed to be one of the sticking points.

    So I had decided to play around with bukkit for a bit (as I haven't done java development in over 8 years) starting out with an easy plugin called ScubaGear. ( which is posted on GitHub ) But didn't want to fully release it because there was another plugin already existing called PumpkinDiver. ScubaGear is different though as it requires you to use a gold helmet and consumes redstone from your backpack to work. I was quite pleased with how this turned out and I started development on BlastControl, originally called ExplosionControl (ew!). After running for a few weeks on the server, I decided to release it on bukkit forums. And I was quite surprised at the response I got.

    Sorry, a little off topic. But I don't really want to step on Taco's toes (too much). As his original idea is quite a different way at dealing with griefers using TNT to destroy other peoples work. I don't really want to rip it off. He's put allot of work into it.
     
  31. Offline

    MineralMC

    Well, why not ask him about a mod-merge, then? Collaborate with him an make BlastControl an all-in-one TNT control solution. His creeper nerfing isn't as good as yours, and BC allows fine-grained control over yield and blast radius, which is a massive upgrade, as far as I'm concerned.

    Also, is ScubaGear updated for the current recommended (600)? I'm currently using PumpkinDiver - which is effectively the same thing - but like the idea of the redstone consumption.
     

Share This Page