[INACTIVE][ADMIN/MISC] NoTNT v1.2 - A simple way to prevent TNT, Lava, and ignition griefing [740]

Discussion in 'Inactive/Unsupported Plugins' started by Arkel, Apr 12, 2011.

  1. Offline

    Arkel

    noTNT.png



    NoTNT - A simple way to prevent TNT griefing:

    REPLACED BY NOGRIEF

    Version: v1.2(Tested against Craftbukkit #733)


    NoTNT is a quick and relatively simple solution (compared to some other plugins out there) to stop griefing taking place on your server. Whenever a player attempts to ignite something, holds TNT or Lava, places TNT or Lava it will check whether they are immune (it can do this using permissions, or simply the players OP status) and if it finds they are not, boot them from the server, showing them a completely configurable boot message.

    All 3 modules (NoTNT, NoLava, NoIgnition) are included in the single plugin jar, they all have seperate nodes in the configuration file, and can be enabled, disabled, and configured completely seperately.

    [tnt] Download: https://github.com/downloads/arkel/NoTNT/NoTNT.zip - Please don't just download, read the whole post.

    [tnt] Source: https://github.com/arkel/NoTNT

    [tnt] Bugs & Planned Features: https://github.com/arkel/NoTNT/issues

    Features (open)

    Features:
    • Automated boot of griefers if they hold grief blocks, before they can do any damage.
    • A failsafe feature that prevents grief blocks being placed into the world.
    • Immunity - control over who gets booted.
    • Support for permissions
    • Completely configurable messages to send to griefers when they are booted
    • Options to log events to the console



    Installation (open)

    To install NoTNT...

    1. Download the zip file from: https://github.com/downloads/arkel/NoTNT/NoTNT.zip
    2. Extract the file
    3. Open the extracted file
    4. Move NoTNT.jar into you bukkit /plugins/ folder
    5. Drag the NoTNT folder (the one containing config.yml) into your bukkit /plugins/ folder
    Before starting your server, read the configuration section of this forum post, and if you have permissions installed and want to use it, the permissions section. Also note that NoTNT DOES NOT boot OPs by default, if you want to do this, it would be best to use permissions.




    Configuration (open)

    The configuration file at $BUKKIT-PATH/plugins/NoTNT/config.yml comes with a default setup, but if you want to change any options, you may find this helpfull:

    Each seperate module has an enabled setting, and a kickplayers setting, these are quite self explanatory, anything else is listed below:

    Each seperate module (NoTNT, NoIgnition, NoLava) has configurable messages, these explain what message each setting controls:












    These are the other options, they must NOT be surrounded in quotes, they toggle usage of the permissions plugin and logging, and are also quite self explanatory, however...







    Using Permissions (open)

    This assumes you have Permissions set up and running happily.

    You must edit the usePermissions node in the /plugins/NoTNT/config.yml file, set it to TRUE. (See configuration section of post).

    To give a PLAYER immunity from NoTNT (this stops them from being booted) simply add the - 'NoTNT.immune' node like this:

    Code:
    users:
        Arkel4:
            group: Admins
            permissions:
            - 'NoTNT.immune'
        - 'cheese.tomato'
        - 'tea.coffee'
    
    To give a GROUP immunity from NoTNT (this stops them from being booted):
    Do exactly the same, but on a GROUP not, e.g:

    Code:
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
            permissions:
            - 'NoTNT.immune'
        - 'cheese.tomato'
        - 'tea.coffee'
    
    To PREVENT a PLAYER from using TNT (allow NoTNT to boot them) we either make sure they don't have the permission 'NoTNT.immune' OR...
    We use permissions' - suffix by putting it in front of NoTNT.immune, inside the single quotation marks:

    Code:
    users:
        Arkel4:
            group: Admins
            permissions:
            - '-NoTNT.immune'
    
    To PREVENT a GROUP from using TNT (allow NoTNT to boot players in this group):
    We do the same as above, on a group node:

    Code:
    groups:
        WormFood:
            default: true
            info:
                prefix: 'Wormfood: '
                suffix: ''
                build: false
            inheritance: null
            permissions:
            - '-NoTNT.immune'
    
    Using the - prefix is probably only useful in situations/configurations like this:

    Code:
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
            permissions:
            - '*'
            - '-NoTNT.immune'
    
    Please note that putting this doesn't work, it will NOT make Arkel4 (in this example) immune to booting...
    Code:
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
            permissions:
            - '*'
            - '-NoTNT.immune'
    users:
        Arkel4:
            group: Admins
            permissions:
            - 'NoTNT.immune'
    
    You can work around it by creating a seperate group for the individual players you want to make immune, like this:
    Code:
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
            permissions:
            - '*'
            - '-NoTNT.immune'
        NoTNTImmuneGroup:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: Admins
            permissions:
            - '*'
    users:
        Arkel4:
            group: NoTNTImmuneGroup
            permissions: null
    
    This would make any players in the admins group bootable, and those in the NoTNTImmuneGroup unbootable.


    Changelog (open)

    Version 1.2 (Current)
    • Implemented options to stop ignition and lava placement.
    Version 1.1

    • Implemented configuration
    • Implement support for the Permissions plugin
    Version 1.0


    • Released



    TODO/Planned features (open)


    TODO/Planned features:
    • Permissions support (who not to boot)
    • Configurable boot messages
    • Optional blocking of fire and lava
    • Suggestions from users
    • Optional banning
     
  2. Offline

    Lolmewn

    Maybe whole groups who are allowed to place TNT? That would be awesome =D
    Thnx for this plugin!

    btw, I know how to check if a user is in a file, ask me if you need help wiz that ;)

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

    Arkel

    Thanks, PM me source/instructions if you want :)
     
  4. Offline

    xieno

    looks interesting
     
  5. Offline

    Jonterzioglu

    Can you make it for creepers too? I have it as no mobs on because of them! There worse then TnT because they are walking tnt and give you TNT!! Is there a mod even for NO Creepers?? Well I wouldn't need it because of this mod. (Which I haven't tested) So I think it would be better if you added Creepers = No TnT and No drop

    Tnt works. Why is this

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

    Arkel

    You should still be able to pick up TNT from the floor/spawn it, just unable to hold it in your hand or place it. If the plugin isn't doing this (it works perfectly on my server) then you need to check you have definitely put it in your server's /plugins directory.
     
  7. Offline

    Ben1002

    This works when Essentials failed me THANKS
     
  8. Offline

    chiisana

    Can you please also include disallowing of lighting fire using flint and steel, and/or lava placement?
    For the most part, TNT, lava, and fire are my only concerns from grievers.... and if you can take out all three with just one light weight plugin, I'd be happy forever :)
     
  9. @Arkel Hey, i'm just wondering, by boot, do you mean kick? Because I would like players to be banned, not just kicked :D
     
  10. Offline

    Arkel

    Sorry for the long response time - been away on holiday over the weekend. I will start work on adding optional banning, and the blocking of lava and fire placement :).
     
  11. Offline

    jmcneely

    "NoTNT is a quick and easy way to prevent anybody on your server using TNT."

    Quick and easy indeed, thank you so much for making a simple plugin. Now I can still play with my cannons and not have to worry about others getting a hold of TNT and ruining my server.
     
  12. Offline

    Omri Barak

    Can you also disable TNT explosions, or instead of making it explode on hit, make it mineable?
     
  13. Offline

    chiisana

    I would like to prevent from group, but allow specific user from within the said group (namely, myself) to use TNT.
    This is my configuration:
    Code:
    minercraft@dev:~/mcramdisk/plugins$ tail -n 3 NoTNT/config.yml
        options:
            usePermissions: true
            logTNT: false
    minercraft@dev:~/mcramdisk/plugins$ head -n 48 Permissions/world.yml | tail -n 5
        huang_a:
            group: Admins
            permissions:
            - '*'
        manacycler:
    However, I still cannot use TNT, and get kicked regularly.

    Am I doing something wrong?
     
  14. Offline

    Omri Barak

    You need to put in permissions "notnt.immune"
     
  15. Offline

    chiisana

    The * acts as wildcard, including a.b.c, as well as notnt.immune.
    The group have - '-notnt.immune' in place, so they are not immuned, and I have the *, so I should be immuned...
     
  16. Offline

    Arkel

    I've looked into it, and I can't get it to work either at the minute. You can work around it by creating a seperate permissions group just for yourself, here's an example:

    example (open)

    Code:
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
            permissions:
            - '*'
            - -NoTNT.immune
        God:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: Admins
            permissions:
            - '*'
    users:
        huang_a:
            group: God
            permissions: null
    
     
  17. Offline

    kman2010

    hello i have been looking to make a plugin could you help me make this one from scratch
     
  18. Offline

    Arkel

  19. Offline

    BlackOutGaming

    Recently I have started getting this error:

    Code:
    2011-05-03 19:17:24 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT
    java.lang.NullPointerException
        at main.java.com.Arkel.NoTNT.NoTNTBlockListener.isImmune(Unknown Source)
        at main.java.com.Arkel.NoTNT.NoTNTBlockListener.onBlockIgnite(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader$31.execute(JavaPluginLoader.java:414)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:274)
        at net.minecraft.server.BlockStationary.a(BlockStationary.java:65)
        at net.minecraft.server.World.j(World.java:1691)
        at net.minecraft.server.World.doTick(World.java:1468)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:361)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    I'm running Bukkit build 755. Any ideas?
     
  20. Offline

    Borito

    Code:
    2011-05-04 15:08:54 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT java.lang.NullPointerException
    2011-05-04 15:08:55 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT java.lang.NullPointerException
    2011-05-04 15:08:55 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT java.lang.NullPointerException
    2011-05-04 15:08:55 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT java.lang.NullPointerException
    2011-05-04 15:08:56 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT java.lang.NullPointerException
    2011-05-04 15:08:56 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT java.lang.NullPointerException
    
    CB #740

    what does this mean?
     
  21. Offline

    Arkel

    It's a bug I missed - working on a fix now
     
    BlackOutGaming likes this.
  22. Offline

    BlackOutGaming

    ^ Any progress on the fix?
     
  23. Offline

    Arkel

    Sorry, I'm weighed under with exam revision at the minute, and I don't have any time for coding, I will try to find some time at the weekend and get it sorted :/
     
  24. Offline

    BlackOutGaming

    I totally understand. No worries. :)
     
  25. Offline

    Jakeng

    23:23:14 [SEVERE] Could not pass event BLOCK_IGNITE to NoTNT
    java.lang.NullPointerException
    at main.java.com.Arkel.NoTNT.NoTNT.punish(Unknown Source)
    at main.java.com.Arkel.NoTNT.NoTNTBlockListener.onBlockIgnite(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$30.execute(JavaPluginLoader.java:382)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
    at net.minecraft.server.BlockStationary.a(BlockStationary.java:65)
    at net.minecraft.server.World.j(World.java:1683)
    at net.minecraft.server.World.doTick(World.java:1466)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:361)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    >
    rawr
     
  26. Offline

    MonsieurApple

    Considered inactive.
     
  27. Offline

    Arkel

Share This Page