diff options
Diffstat (limited to 'MCServer/Plugins/APIDump/Hooks')
-rw-r--r-- | MCServer/Plugins/APIDump/Hooks/OnPluginMessage.lua | 25 | ||||
-rw-r--r-- | MCServer/Plugins/APIDump/Hooks/OnPluginsLoaded.lua | 11 |
2 files changed, 33 insertions, 3 deletions
diff --git a/MCServer/Plugins/APIDump/Hooks/OnPluginMessage.lua b/MCServer/Plugins/APIDump/Hooks/OnPluginMessage.lua new file mode 100644 index 000000000..743d3bb5e --- /dev/null +++ b/MCServer/Plugins/APIDump/Hooks/OnPluginMessage.lua @@ -0,0 +1,25 @@ +return +{ + HOOK_PLUGIN_MESSAGE = + { + CalledWhen = "The server receives a plugin message from a client", + DefaultFnName = "OnPluginMessage", -- also used as pagename + Desc = [[ + A plugin may implement an OnPluginMessage() function and register it as a Hook to process plugin messages + from the players. The function is then called for every plugin message sent from any player. + ]], + Params = { + { Name = "Client", Type = "{{cClientHandle}}", Notes = "The client who sent the plugin message" }, + { Name = "Channel", Type = "string", Notes = "The channel on which the message was sent" }, + { Name = "Message", Type = "string", Notes = "The message's payload" }, + }, + Returns = [[ + If the function returns false or no value, other plugins' callbacks are called. If the function + returns true, no other callbacks are called for this event. + ]], + }, -- HOOK_CHAT +} + + + + diff --git a/MCServer/Plugins/APIDump/Hooks/OnPluginsLoaded.lua b/MCServer/Plugins/APIDump/Hooks/OnPluginsLoaded.lua index 0d5b7271e..2c8a5a2c9 100644 --- a/MCServer/Plugins/APIDump/Hooks/OnPluginsLoaded.lua +++ b/MCServer/Plugins/APIDump/Hooks/OnPluginsLoaded.lua @@ -37,12 +37,14 @@ local function SendMessageFailureFallback(a_Player, a_Message) end -- These three "variables" will hold the actual functions to call. --- By default they are initialized to the Fallback variants, but will be redirected to Core when all plugins load +-- By default they are initialized to the Fallback variants, +-- but will be redirected to Core when all plugins load SendMessage = SendMessageFallback; SendMessageSuccess = SendMessageSuccessFallback; SendMessageFailure = SendMessageFailureFallback; --- The callback tries to connect to the Core, if successful, overwrites the three functions with Core ones +-- The callback tries to connect to the Core +-- If successful, overwrites the three functions with Core ones local function OnPluginsLoaded() local CorePlugin = cPluginManager:Get():GetPlugin("Core"); if (CorePlugin == nil) then @@ -67,7 +69,10 @@ cPluginManager.AddHook(cPluginManager.HOOK_PLUGINS_LOADED, CoreMessagingPluginsL -- Usage, anywhere else in the plugin: -SendMessageFailure(a_Player, "Cannot teleport to player, the destination player " .. PlayerName .. " was not found"); +SendMessageFailure( + a_Player, + "Cannot teleport to player, the destination player " .. PlayerName .. " was not found" +); ]], }, } , -- CodeExamples |