CustomNodes
Indefinitely Inactive - 12/1/12
About the Plugin
CustomNodes lets you create specific permission nodes and no permission messages for any command. You can choose who you want to be able to use certain commands. In order to unlock all the features of this plugin a separate permissions plugin is highly recommended.
Features
- Create permission nodes for any command
- Change no permission message for any command
- Easy to use config
- Separate filter settings
- HIGH will block commands based on what they start with, i.e. "/help" would also block "/help 2" and "/help 3"
- LOW will block commands only if they are identical, i.e. "/help" would block "/help" but not "/help 2"
- Support for parent nodes
- For example, customnodes.parent.* would give access to customnodes.parent.child
- Variable support
- Current variables: $!PLAYER!$, $!NOTPLAYER!$, +
- Override option, this lets a custom node essentially override the original node
Installation
- Put the CustomNodes.jar in your plugins folder
- An example config file will be created in /plugins/CustomNodes
- You must reload the config or the plugin for any changes to take effect
Configuration
- Variables (these can be used in commands for a more dynamic check)
- $!PLAYER!$ - Use this in commands where players need to enter their name
- $!NOTPLAYER!$ - Use this to block players entering in names other than their own
- + - Use this before the command to skip any other checks if the player has the node
Commands
- /customnodes config - Shows all config commands for CustomNodes
- /customnodes info - Shows information about CustomNodes
- /customnodes reload - Reloads CustomNodes
- /customnodes config fix - Fixes the config.txt
- /customnodes config new - Creates a new config.txt
- /customnodes config reload - Reloads the config.txt
Permissions
- customnodes.bypass
- Lets a user bypass any custom node
- customnodes.commands
- Lets a user use any command for CustomNodes
- customnodes.*
- Lets a user use any command for CustomNodes and bypass any custom node
- Also any permissions added in the config
Changelog
Source
Other
I have also only tested and can confirm this plugin to work with bPermissions, but it should work with any normal permissions plugin.
If you have any errors or suggestions, post them below and I'll try to help.
Lastly, I'll be updating this if anyone experiences some kind of bug, but other than that, this plugin is finished. This was my first plugin and it's really just been a learning process for me, so thanks to anyone who's used it.
@EEEEEEric
This would be fantastic. I'm very thankful!
@HyveMMO
Variable support isn't currently implemented, but I'll start working on it today.
@EEEEEEric
Blocked, or useable.
So if the $!string!$ variable basically pulls down their name, and uses that in the command then I can allow, or block the capability to use it.
Is this already implemented, or do you plan to do so?
@HyveMMO
So you want to be able to put something like this in the config?
/pex user $!string!$ group add GROUPNAME
And then no matter what is in the $!string!$ position, the command would be blocked
For example, player1 would be prevented from using both of the following commands
/pex user player1 group add GROUPNAME
/pex user test1 group add GROUPNAME
Greetings,
I'm having an issue that is fairly complicated, but it is vital to the capability of my server, so any help would be fantastic.
I'm essentially trying to use a variety of plugins to build a complicated behind the scenes automated Heroes Class & Permissions Ex Tutorial System that'll give players based on their class a unique set of permissions.
The issue is I want all of this to run automatically and without any chance of people abusing the system. Without going into insane detail, this plugin lacks one thing I need the most to ensure it'll work how I wish, and that is a player variable.
I'm trying to disallow the use of command, but it has a player variable in it, the players name. The only way to disallow this would be to manually build a new node and command for every player, something I really don't want to do.
The command I am trying to block is: /pex user NAME group add GROUPNAME
GROUPNAME is a static value, it wont change, but the NAME will as that belongs to each unique player. Is there any chance that this could be implemented, or is it already? Thanks!
New version is working great so far. :D
@Faldonboy
This plugin checks the command before any other plugin sees it and cancels the event if the player does not have the node listed.
Here's an example of what I mean, say the commands part of your config looks something like this -
/stop
custom.stop
No!
This will check if whatever the player types equals /stop,
If it matches it will then check if the player has the custom.stop node
If the player does not have the node it will cancel the command and tell the player "No!"
Now if the player does have the custom.stop node, Bukkit would still check to see if the player has the normal permission node for /stop which in this case would be bukkit.command.stop
This should work with negative permissions, although I haven't tested it.
For your suggestion, at the moment that can't be done, but I'll definitely work on adding it. Also expect a change in how the config is set up soon, the next update should allow me to add future settings without a problem.
Question before I throw this into a live server, does this override default plugin permissions? Also, if our permission plugin allows it will this work with negative permission nodes?
Going to mess around with this tomorrow, sounds amazing though. I love plugins that already allow you to create your own permissions for certain things in them(like otherdrops or recipemanager) but being able to lock commands to individual permissions sounds wonderful