This plugin allows the server owners to register any command and/or words (for command's argument) to be blocked.  You can use this plugin to prevent any commands to be used by regular users.
It also blocks tab-completion and associated command listing.
New features from v3.3.0
- Censored words are now removed from the "suggested" list of the command arguments.  If your name is listed in the censored list, the use of command like /msg won't list your name in the suggested player names.
 
New features from v3.3.0
- It now supports "/". If you register "/" as a blocked command, it will block ALL commands unless a player has a permission node "cdne./"
 - If you're using 1.13 and above, blocked commands will be removed from the command suggestion list. If you have "/" listed in the blocked list, no commands will appear in the suggested list.
 
Default Blocked commands:
 
- '?'
 - help
 - ehelp
 - pl
 - plugin
 - plugins
 - ver
 - version
 - about
 - eabout
 - info
 - seed
 - locate
 - bukkit:
 - essentials:
 
If you want more commands, which you don't want your players to use, just use the 
/cdne add 
command to register more commands to be blocked.  If you include the underscore '_', you can also specify a particular combination of a command and its parameter.  You can also block any words, which are used as a parameter of the command.  For instance, if you don't want a player to use 
/pay * 0.1
to mass spam meaningless payments, you can do 
/cdne addword " *"
and/or 
/cdne addword "* "
Commands:
 
- /cdne | /cdne help : displays the help menu
 - /cdne list : lists currently blocked commands and words.
 - /cdne addcmd  : adds specified commands to the blocked list.
 - /cdne removecmd  : removes specified commands from the blocked list
 - /cdne addword  : adds specified words to the blocked list.
 - /cdne removeword  : removes specified words from the blocked list.
 
Permission Node:
 
- cdne.list.list : list currently blocked commands/words
 - cdne.list.modify : allows you to add/remove command(s)/word(s) to the blocked list.
 - cdne.xxxx : allows you to use a command /xxxx  (if you need to give your server staff members access to the blocked commands, just give them permission node "cdne.xxxx", where xxxx is the blocked command name.
 - cdne.tab.use : allow you to bypass the tab limitation.
 
Installation:
Just drop CommandDoesNotExist.jar in the plugins folder.  It requires ProtocolLib plugin.
[SPOILER="config.yml"]
# option to block commands even from OP
BlockOP: false
#
# Messages
#
Messages:
  ErrorMessage : "&c[CDNE] : Some error occured."
  CDNEMessage: "&c[CDNE] : %player%, you do not have a permission to use %command%!"
  WordNotAllowedMessage: "&c[CDNE] %word% is not allowed in parameters!"
  TABMessage: "&c[CDNE] : You do not have a permission to tab-complete a command!"
# default is LOW, you can have LOWEST, LOW, NORMAL, HIGH, HIGHEST or MONITOR
# adjust these event priority if those event processes from this plugin
# interfere with other plugins' event processes.
EventPriorityMap:
  PlayerCommandPreprocessEvent: "LOWEST"
  PlayerCommandSendEvent: "LOWEST"
  PlayerGameModeChangeEvent: "HIGHEST"
[/SPOILER]