summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/APIDump
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2013-10-09 10:24:24 +0200
committermadmaxoft <github@xoft.cz>2013-10-09 10:24:24 +0200
commit27ce6dd97e3979a36318cea28e64c6a9029dbd99 (patch)
tree5dc9e6714854b7f134e8faca3791fd5d10c3c38c /MCServer/Plugins/APIDump
parentAPIDump: Taking advantage of the new cFile API. (diff)
downloadcuberite-27ce6dd97e3979a36318cea28e64c6a9029dbd99.tar
cuberite-27ce6dd97e3979a36318cea28e64c6a9029dbd99.tar.gz
cuberite-27ce6dd97e3979a36318cea28e64c6a9029dbd99.tar.bz2
cuberite-27ce6dd97e3979a36318cea28e64c6a9029dbd99.tar.lz
cuberite-27ce6dd97e3979a36318cea28e64c6a9029dbd99.tar.xz
cuberite-27ce6dd97e3979a36318cea28e64c6a9029dbd99.tar.zst
cuberite-27ce6dd97e3979a36318cea28e64c6a9029dbd99.zip
Diffstat (limited to 'MCServer/Plugins/APIDump')
-rw-r--r--MCServer/Plugins/APIDump/APIDesc.lua6
-rw-r--r--MCServer/Plugins/APIDump/WebWorldThreads.html8
-rw-r--r--MCServer/Plugins/APIDump/main.lua41
3 files changed, 52 insertions, 3 deletions
diff --git a/MCServer/Plugins/APIDump/APIDesc.lua b/MCServer/Plugins/APIDump/APIDesc.lua
index 6578e6d8b..7bef7bcfd 100644
--- a/MCServer/Plugins/APIDump/APIDesc.lua
+++ b/MCServer/Plugins/APIDump/APIDesc.lua
@@ -2063,6 +2063,12 @@ World:ForEachEntity(
"ReadDescriptions",
"WriteHtmlClass",
},
+
+ ExtraPages =
+ {
+ -- No sorting is provided for these, they will be output in the same order as defined here
+ { FileName = "WebWorldThreads.html", Title = "Webserver vs World threads" },
+ }
} ;
diff --git a/MCServer/Plugins/APIDump/WebWorldThreads.html b/MCServer/Plugins/APIDump/WebWorldThreads.html
new file mode 100644
index 000000000..1a593ad8d
--- /dev/null
+++ b/MCServer/Plugins/APIDump/WebWorldThreads.html
@@ -0,0 +1,8 @@
+<html>
+<head>
+<title>Webserver vs World threads</title>
+</head>
+<body>
+This is a temporary test
+</body>
+</html> \ No newline at end of file
diff --git a/MCServer/Plugins/APIDump/main.lua b/MCServer/Plugins/APIDump/main.lua
index 92b0d150c..5dd6c6f9e 100644
--- a/MCServer/Plugins/APIDump/main.lua
+++ b/MCServer/Plugins/APIDump/main.lua
@@ -9,6 +9,7 @@
-- Global variables:
g_Plugin = nil;
+g_PluginFolder = "";
@@ -22,6 +23,8 @@ function Initialize(Plugin)
Plugin:SetVersion(1);
LOG("Initialized " .. Plugin:GetName() .. " v." .. Plugin:GetVersion())
+
+ g_PluginFolder = Plugin:GetLocalFolder();
-- dump all available API functions and objects:
-- DumpAPITxt();
@@ -189,9 +192,15 @@ function DumpAPIHtml()
return;
end
- f:write([[<html><head><title>MCServer API - class index</title>
+ f:write([[<html><head><title>MCServer API - index</title>
<link rel="stylesheet" type="text/css" href="main.css" />
- </head><body><h1>MCServer API - class index</h1>
+ </head><body><h1>MCServer API - index</h1>
+ <p>The API reference is divided into the following sections:<ul>
+ <li><a href="#classes">Class index</a></li>
+ <li><a href="#hooks">Hooks</a></li>
+ <li><a href="#extra">Extra pages</a></li>
+ </ul></p>
+ <a name="classes"><h2>Class index</h2></a>
<p>The following classes are available in the MCServer Lua scripting language:
<ul>
]]);
@@ -199,7 +208,33 @@ function DumpAPIHtml()
f:write("<li><a href=\"" .. cls.Name .. ".html\">" .. cls.Name .. "</a></li>\n");
WriteHtmlClass(cls, API);
end
- f:write("</ul></p></body></html>");
+ f:write([[</ul></p>
+ <a name="hooks"><h2>Hooks</h2></a>
+ <p>A plugin can register to be called whenever an “interesting event” occurs. It does so by calling
+ <a href="cPluginManager.html">cPluginManager</a>'s AddHook() function and implementing a callback
+ function to handle the event.</p>
+ <p>A plugin can decide whether it will let the event pass through to the rest of the plugins, or hide it
+ from them. This is determined by the return value from the hook callback function. If the function returns
+ false or no value, the event is propagated further. If the function returns true, the processing is
+ stopped, no other plugin receives the notification (and possibly MCServer disables the default behavior
+ for the event). See each hook's details to see the exact behavior.</p>
+ <table><tr><th>Hook name</th><th>Called when</th></tr>
+ ]]);
+ -- TODO: Write out the hooks into a table
+ f:write([[</table>
+ <a name="extra"><h2>Extra pages</h2></a>
+ <p>The following pages provide various extra information</p>
+ <ul>]]);
+ for i, extra in ipairs(g_APIDesc.ExtraPages) do
+ if (cFile:Copy(g_PluginFolder .. "/" .. extra.FileName, "API/" .. extra.FileName)) then
+ f:write("<li><a href=\"" .. extra.FileName .. "\">" .. extra.Title .. "</a></li>\n");
+ else
+ f:write("<li>" .. extra.Title .. " <i>(file is missing)</i></li>\n");
+ end
+ end
+ f:write([[</ul>
+ </body></html>
+ ]]);
f:close();
-- Copy the CSS file to the output folder (overwrite any existing):