summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MCServer/Plugins/APIDump/APIDesc.lua1
-rw-r--r--MCServer/Plugins/APIDump/Hooks/OnPluginMessage.lua25
2 files changed, 26 insertions, 0 deletions
diff --git a/MCServer/Plugins/APIDump/APIDesc.lua b/MCServer/Plugins/APIDump/APIDesc.lua
index 9b117b0fa..aa993eace 100644
--- a/MCServer/Plugins/APIDump/APIDesc.lua
+++ b/MCServer/Plugins/APIDump/APIDesc.lua
@@ -449,6 +449,7 @@ end
GetUsername = { Params = "", Return = "string", Notes = "Returns the username that the client has provided" },
GetViewDistance = { Params = "", Return = "number", Notes = "Returns the viewdistance (number of chunks loaded for the player in each direction)" },
Kick = { Params = "Reason", Return = "", Notes = "Kicks the user with the specified reason" },
+ SendPluginMessage = { Params = "Channel, Message", Return = "", Notes = "Sends the plugin message on the specified channel." },
SetUsername = { Params = "Name", Return = "", Notes = "Sets the username" },
SetViewDistance = { Params = "ViewDistance", Return = "", Notes = "Sets the viewdistance (number of chunks loaded for the player in each direction)" },
SendBlockChange = { Params = "BlockX, BlockY, BlockZ, BlockType, BlockMeta", Return = "", Notes = "Sends a BlockChange packet to the client. This can be used to create fake blocks only for that player." },
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
+}
+
+
+
+