d9dc241e6f
All the files in the Classes subfolder are read for class descriptions, and in the Hooks subfolder for the hook descriptions.
51 lines
2.9 KiB
Lua
51 lines
2.9 KiB
Lua
return
|
|
{
|
|
HOOK_EXPLODING =
|
|
{
|
|
CalledWhen = "An explosion is about to be processed",
|
|
DefaultFnName = "OnExploding", -- also used as pagename
|
|
Desc = [[
|
|
This hook is called before an explosion has been processed in a world.</p>
|
|
<p>
|
|
See also {{OnExploded|HOOK_EXPLODED}} for a similar hook called after the explosion.</p>
|
|
<p>
|
|
The explosion carries with it the type of its source - whether it's a creeper exploding, or TNT,
|
|
etc. It also carries the identification of the actual source. The exact type of the identification
|
|
depends on the source kind:
|
|
<table>
|
|
<tr><th>Source</th><th>SourceData Type</th><th>Notes</th></tr>
|
|
<tr><td>esPrimedTNT</td><td>{{cTNTEntity}}</td><td>An exploding primed TNT entity</td></tr>
|
|
<tr><td>esCreeper</td><td>{{cCreeper}}</td><td>An exploding creeper or charged creeper</td></tr>
|
|
<tr><td>esBed</td><td>{{Vector3i}}</td><td>A bed exploding in the Nether or in the End. The bed coords are given.</td></tr>
|
|
<tr><td>esEnderCrystal</td><td>{{Vector3i}}</td><td>An ender crystal exploding upon hit. The block coords are given.</td></tr>
|
|
<tr><td>esGhastFireball</td><td>{{cGhastFireballEntity}}</td><td>A ghast fireball hitting ground or an {{cEntity|entity}}.</td></tr>
|
|
<tr><td>esWitherSkullBlack</td><td><i>TBD</i></td><td>A black wither skull hitting ground or an {{cEntity|entity}}.</td></tr>
|
|
<tr><td>esWitherSkullBlue</td><td><i>TBD</i></td><td>A blue wither skull hitting ground or an {{cEntity|entity}}.</td></tr>
|
|
<tr><td>esWitherBirth</td><td><i>TBD</i></td><td>A wither boss being created</td></tr>
|
|
<tr><td>esOther</td><td><i>TBD</i></td><td>Any other previously unspecified type.</td></tr>
|
|
<tr><td>esPlugin</td><td>object</td><td>An explosion created by a plugin. The plugin may specify any kind of data.</td></tr>
|
|
</table></p>
|
|
]],
|
|
Params =
|
|
{
|
|
{ Name = "World", Type = "{{cWorld}}", Notes = "The world where the explosion happens" },
|
|
{ Name = "ExplosionSize", Type = "number", Notes = "The relative explosion size" },
|
|
{ Name = "CanCauseFire", Type = "bool", Notes = "True if the explosion will turn random air blocks to fire (such as a ghast fireball)" },
|
|
{ Name = "X", Type = "number", Notes = "X-coord of the explosion center" },
|
|
{ Name = "Y", Type = "number", Notes = "Y-coord of the explosion center" },
|
|
{ Name = "Z", Type = "number", Notes = "Z-coord of the explosion center" },
|
|
{ Name = "Source", Type = "eExplosionSource", Notes = "Source of the explosion. See the table above." },
|
|
{ Name = "SourceData", Type = "varies", Notes = "Additional data for the source. The exact type varies by the source. See the table above." },
|
|
},
|
|
Returns = [[
|
|
If the function returns false or no value, the next plugin's callback is called, and finally
|
|
MCServer will process the explosion - destroy blocks and push + hurt entities. If the function
|
|
returns true, no other callback is called for this event and the explosion will not occur.
|
|
]],
|
|
}, -- HOOK_EXPLODING
|
|
}
|
|
|
|
|
|
|
|
|