Expose and document chatcommands as minetest.registered_chatcommands
This commit is contained in:
		
							parent
							
								
									ca3629637c
								
							
						
					
					
						commit
						e8b7179ccd
					
				| @ -4,14 +4,15 @@ | ||||
| -- Chat command handler | ||||
| -- | ||||
| 
 | ||||
| core.chatcommands = {} | ||||
| core.registered_chatcommands = {} | ||||
| core.chatcommands = core.registered_chatcommands -- BACKWARDS COMPATIBILITY | ||||
| function core.register_chatcommand(cmd, def) | ||||
| 	def = def or {} | ||||
| 	def.params = def.params or "" | ||||
| 	def.description = def.description or "" | ||||
| 	def.privs = def.privs or {} | ||||
| 	def.mod_origin = core.get_current_modname() or "??" | ||||
| 	core.chatcommands[cmd] = def | ||||
| 	core.registered_chatcommands[cmd] = def | ||||
| end | ||||
| 
 | ||||
| core.register_on_chat_message(function(name, message) | ||||
| @ -19,7 +20,7 @@ core.register_on_chat_message(function(name, message) | ||||
| 	if not param then | ||||
| 		param = "" | ||||
| 	end | ||||
| 	local cmd_def = core.chatcommands[cmd] | ||||
| 	local cmd_def = core.registered_chatcommands[cmd] | ||||
| 	if not cmd_def then | ||||
| 		return false | ||||
| 	end | ||||
| @ -107,7 +108,7 @@ core.register_chatcommand("help", { | ||||
| 		if param == "" then | ||||
| 			local msg = "" | ||||
| 			local cmds = {} | ||||
| 			for cmd, def in pairs(core.chatcommands) do | ||||
| 			for cmd, def in pairs(core.registered_chatcommands) do | ||||
| 				if core.check_player_privs(name, def.privs) then | ||||
| 					cmds[#cmds + 1] = cmd | ||||
| 				end | ||||
| @ -118,7 +119,7 @@ core.register_chatcommand("help", { | ||||
| 					.. " or '/help all' to list everything." | ||||
| 		elseif param == "all" then | ||||
| 			local cmds = {} | ||||
| 			for cmd, def in pairs(core.chatcommands) do | ||||
| 			for cmd, def in pairs(core.registered_chatcommands) do | ||||
| 				if core.check_player_privs(name, def.privs) then | ||||
| 					cmds[#cmds + 1] = format_help_line(cmd, def) | ||||
| 				end | ||||
| @ -134,7 +135,7 @@ core.register_chatcommand("help", { | ||||
| 			return true, "Available privileges:\n"..table.concat(privs, "\n") | ||||
| 		else | ||||
| 			local cmd = param | ||||
| 			local def = core.chatcommands[cmd] | ||||
| 			local def = core.registered_chatcommands[cmd] | ||||
| 			if not def then | ||||
| 				return false, "Command not available: "..cmd | ||||
| 			else | ||||
| @ -161,7 +162,7 @@ local function handle_grant_command(caller, grantname, grantprivstr) | ||||
| 	if not (caller_privs.privs or caller_privs.basic_privs) then | ||||
| 		return false, "Your privileges are insufficient." | ||||
| 	end | ||||
| 	 | ||||
| 
 | ||||
| 	if not core.get_auth_handler().get_auth(grantname) then | ||||
| 		return false, "Player " .. grantname .. " does not exist." | ||||
| 	end | ||||
| @ -204,7 +205,7 @@ core.register_chatcommand("grant", { | ||||
| 		local grantname, grantprivstr = string.match(param, "([^ ]+) (.+)") | ||||
| 		if not grantname or not grantprivstr then | ||||
| 			return false, "Invalid parameters (see /help grant)" | ||||
| 		end	 | ||||
| 		end | ||||
| 		return handle_grant_command(name, grantname, grantprivstr) | ||||
| 	end, | ||||
| }) | ||||
| @ -215,7 +216,7 @@ core.register_chatcommand("grantme", { | ||||
| 	func = function(name, param) | ||||
| 		if param == "" then | ||||
| 			return false, "Invalid parameters (see /help grantme)" | ||||
| 		end	 | ||||
| 		end | ||||
| 		return handle_grant_command(name, name, param) | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| @ -2076,6 +2076,7 @@ Call these functions only at load time! | ||||
| 
 | ||||
| ### Other registration functions | ||||
| * `minetest.register_chatcommand(cmd, chatcommand definition)` | ||||
|     * Adds definition to minetest.registered_chatcommands | ||||
| * `minetest.register_privilege(name, definition)` | ||||
|     * `definition`: `"description text"` | ||||
|     * `definition`: `{ description = "description text", give_to_singleplayer = boolean}` | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user