[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

    Xuande08

    I agree with this. I would really like redstone activation to work :D:D otherwise this is a very significant plugin.
     
  3. Offline

    rad1game

    Maybe you add support for turning off Ghast? Or add disable-entity to Ghast. Its be cool.
     
  4. Offline

    Tabannusi

    Figured I'd ask, rather than simply download, possibly get frustrated, THEN ask...

    Do you NEED permissions, for this? So many plugins, these days, seem to rely/require permissions, which is a shame... especially for servers where just a few friends hang out, and, due to this, all have OP status, so have no need for any kind of permissions plugin. XD

    Would be nice to stop Creepers from blowing up blocks... they always sneak out of nowhere (sometimes they seem to fall from the sky! XD) and blow the crap out of things... sneaky buggers. Even more so, since 1.5, as when it is raining... they spawn. >=(

    Have no real need for the TNT part, but, I suppose there's no way to have this (or a similar) plugin, with JUST the Creeper controls? Wouldn't even be something you'd be interested in just... quickly whipping up, and uploading as an alternative, for those of us that like screwing around with TNT, but hate Creepers? =D

    Either way... XD
     
  5. Offline

    happo2000

    No, you don't need permissions for this. It's optional.
     
  6. Offline

    Tabannusi

    That's brilliant. Means I can stop those buggers from blowing up my buildings. =D

    Quick question - if I disable their ability to destroy blocks... will this change remain, even after log out? Will it remain, even after I reboot the server? Or... will it be something I have to do, once per reboot? =P
     
  7. Offline

    Debilitation

    I need some help with this error.


    Code:
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:367)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.World.cleanUp(World.java:966)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.World.playerJoinedWorld(World.java:989)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:52)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.World.entityJoinedWorld(World.java:1007)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.EntityCreeper.p_(EntityCreeper.java:57)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.EntityMonster.p_(EntityMonster.java:34)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.EntityLiving.p_(EntityLiving.java:231)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.EntityMonster.u(EntityMonster.java:30)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.EntityLiving.u(EntityLiving.java:657)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.EntityCreature.c_(EntityCreature.java:67)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.EntityCreeper.a(EntityCreeper.java:99)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:130)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.World.createExplosion(World.java:1276)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.Explosion.a(Explosion.java:205)
    02.05 15:57:24 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
    02.05 15:57:24 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    02.05 15:57:24 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader$47.execute(JavaPluginLoader.java:492)
    02.05 15:57:24 [Server] INFO     at com.bukkit.happo2000.BlastControl.BlastControlEntityListener.onEntityExplode(BlastControlEntityListener.java:137)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.World.a(World.java:1268)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:130)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.World.createExplosion(World.java:1276)
    02.05 15:57:24 [Server] INFO     at net.minecraft.server.Explosion.a(Explosion.java:205)
    02.05 15:57:24 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
    02.05 15:57:24 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    02.05 15:57:24 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader$47.execute(JavaPluginLoader.java:492)
    02.05 15:57:24 [Server] INFO     at TechGuard.iZone.listeners.eListener.onEntityExplode(eListener.java:98)
    02.05 15:57:24 [Server] INFO java.lang.NullPointerException
    02.05 15:57:24 [Server] SEVERE Could not pass event ENTITY_EXPLODE to iZone
     
  8. Offline

    Stone_Lazaurus

    Is their a way to increase the damage done by Creeper fangs?

    Also is there a way to have Creepers explode, do no block damage. only entity damage, and also have fangs, at the same time?

    I would like my players to really fear the Creeper. =)
     
  9. Offline

    kaasinees

    Can you make a config file instead of doing everything through commands... maybe even remove the commands...
     
  10. Offline

    Nieksas

    so when u add limit of tnt for player placed?
     
  11. Offline

    jamescosten

    Hey i love this plugin, congrats on making it.

    I made a short video showing how it works for my Newb Players when they join my server.
    http://www.youtube.com/watch?v=7czgWwqnOmw

    Its going to be apart of a series of tutorial and help videos :)
     
  12. Offline

    Liger_XT5

    I don't know if I'm doing something wrong.
    I have the lowest group on my server set with
    - 'bc.tnt.abovelimit.place'
    but if I have the limit set to 0 or 128, all the non-admins/mods can not place tnt at all.
    Admins and mods can place them and ignite them. Not sure. Suggestions?
     
  13. Offline

    PsychoNecrosis

    okay, forgive me for being retarded.

    Could someone tell me what command string I'd need to use to cause creepers to explode, damage players and mobs, but not the terrain, from bedrock to skybox?

    Been fiddling with it for a while but as yet it's eluded me.

    Thanks.
     
  14. Offline

    Nieksas

    need player limit :/
     
  15. Offline

    happo2000

    Hmm. At the moment there is no setting for that. How would you like to see that work? Explode when under the blast limit with no block damage? Or a percentage of exploding when it attacks?

    You should use the creeper setting 'disable-entity' setting.

    What are you trying to achieve specifically?

    Give 1.0.5b a try. I wouldn't mind more people trying the beta version and getting back to me.

    Sorry, I was gone for abit and just saw this. This error doesn't look like it's from BlastControl. It's from a plugin called iZone.

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

    Liger_XT5

    Anyone that is below the moderator group can place tnt while mods and up can ignite the tnt for them.
     
  17. Offline

    happo2000


    Give users:
    bc.tnt.allow
    bc.tnt.abovelimit.place

    Give Mods and Admins:
    bc.tnt.allow
    bc.tnt.abovelimit.place
    bc.tnt.abovelimit.activate

    Then set the blastlimit height to 1.
     
  18. Offline

    Nieksas

    where i can find that version
     
  19. Offline

    Cykey

    Can you add function to disable TNT only in some worlds? Cause we have a TNT map...
     
  20. Offline

    Ratchet

    i'm trying to use the plugin just for this, but when a creeper tries to explode it just..doesnt :( and then stands around doing nothing
     
  21. Offline

    Clontarf[X]

    That's because of the way the ENTITY_EXPLODE command is intercepted. I.E it never gets passed and thus never happens :)
     
  22. Offline

    tr00dudu

    i'm allso having the same problem as a couple others, my creeper setting: limit-despawn doesnt despawn the creepers. they just stand around :/
     
  23. Offline

    Narmotur

    Hey, trying to get this plugin to work to limit surface damage on my server from creepers, and it works great except every time a creeper explodes and the damage to blocks is blocked I get an error in my console:

    02:25:07 [SEVERE] Could not pass event ENTITY_EXPLODE to Residence java.lang.NullPointerException

    I noticed someone had a similiar problem with something called iZone earlier, so I'm wondering if maybe the problem has something to do with the ENTITY_EXPLODE being canceled but not before other plugins know about it and then they try to get info on it and it's not there anymore... If I disable the plugin with /bc disable the error stops. Is this something you can fix or would I have to bring it up with on the Residence thread?

    Thanks!
     
  24. Offline

    happo2000

    Hmm. That's a weird one actually. I'll look into this. Which version of CB you running?

    Updated to 1.0.6.

    As for the Errors in Residence and iZone. As far as I can tell, Residence and iZone are not checking for nulls before using .getEntity on the event. Since it's not really a BlastControl thing, I'm not sure what I can do about it. This is from having blastcontrol despawn the creepers.

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

    Nytemare3701

    Request: Creeper fangs Hamstring/bleed a target.
     
  26. Offline

    Noman_1000

    Show Spoiler
    This is great in how it can prevent TNT abuse by preventing placing, but I'm getting a problem with the TNT placement permissions. I added it to the group I wanted it to however it doesn't allow any group members to actually place TNT. Reading through the thread, does this mean I can't apply TNT restrictions to group members? Or do I have to add it to every person in the group?

    My permissions file for the group I'm using if needed.
    Code:
    groups:
      Trusted_Citizen:
        default: false
        permissions:
        - bc.tnt.abovelimit.activate
        - bc.tnt.abovelimit.link
        - bc.tnt.allowed
        - bc.tnt.abovelimit.place
        inheritance:
        - citizen
        info:
          prefix: '&2'
          build: true
          suffix: ' -TC'
    This group can't place TNT, and I set the height limiter to 128 already, just in case. Any time they place it it disappears like it's supposed to. I'm using GroupManager that came with Essentials if that helps.


    Disregard that, I forgot to remove TNT off the item blacklist in essentials. Great plugin though! Thanks!

    A suggestion: Do you think you could apply this to more than just TNT? Lava buckets and water buckets included would be a very nice feature. Or even universal item placement settings for whatever, like glass or stone. (I'm sure someone could use it) If there's already a plugin for it I'd like to know too.

    Edit: Will redstone circuits ever be usable with BC? Because as of right now it's a deal breaker for since I use it for triggering explosions for clearing land and for the various explodatoriums throughout the region.
     
  27. Offline

    iceguru

    The file shows as .jar in the link but it wants to open as a zip with many .class files.

    Can you zip the .jar please?
     
  28. Offline

    Nikademus

    I want to do something similar, but am also having trouble getting the settings correct. I want creepers, with entity damage only. I only want to prevent destruction of our buildings from creepers. It's working right now, but TNT use is also restricted. I also do not want to restrict TNT use at all. How should my settings be configured? I am not using Permissions either.

    Thanks!
     
  29. Offline

    happo2000

    Set height to 128
    Set creeper to disable-entity
     
  30. Offline

    thepackett

    I second the configuration file.
    also being able to change the settings per world would be nice :D
     
  31. Offline

    Soryo

    Is it possible to put configuration settings on TNT just like the creepers? I have it so it's just a creeper nerft atm. However... we want our redstone TNT setups to work, but since I can't give redstone or the server permission to use TNT, it just fixes the land around it like normal. When I place it and punch it to set it off, it destroys everything... but I can't rig it to anything.

    I'm trying to make an adventure map and I don't want the creepers to destroy anything, but I we have some TNT related story line that we use to block passages and such.
     

Share This Page