====== OnUpdatingSign hook callback function ======
OnUpdatingSign() is called when a sign is about to be updated. Plugins may manipulate the sign text or refuse the update altogether.

===== Function signature =====
<code lua>
function OnUpdatingSign(World, BlockX, BlockY, BlockZ, Line1, Line2, Line3, Line4, Player)
</code>
Parameters:
| World | [[API:cWorld|cWorld]] | The world in which the sign resides |
| BlockX | number | X-coord of the sign |
| BlockY | number | Y-coord of the sign |
| BlockZ | number | Z-coord of the sign |
| Line1 | string | First line of the sign text |
| Line2 | string | Second line of the sign text |
| Line3 | string | Third line of the sign text |
| Line4 | string | Fourth line of the sign text |
| Player | [[API:cPlayer|cPlayer]] | The player who is changing the sign. May be nil if not by a player |

===== Return values =====
The function may return up to five values.
If the function returns true as the first value, no other callbacks are called for this event and the sign is not updated.
If the function returns no value or false as its first value, other plugins' callbacks are called. Also, if other up to four values are returned, they are used to update the sign text, line by line, respectively. Note that other plugins may again update the texts.


===== Registering the callback =====
To register your plugin to receive a callback through this function, use the hook [[api:plugin:hooks|HOOK_UPDATED_SIGN]]
<code lua>
cPluginManager:Get():AddHook(Plugin, cPluginManager.HOOK_UPDATED_SIGN);
</code>

===== Example code =====
The following example appends a player signature to the last line, if the sign is updated by a player.
<code lua>
function OnUpdatingSign(World, BlockX, BlockY, BlockZ, Line1, Line2, Line3, Line4, Player)
  if (Player == nil) then
    -- Not changed by a player
    return false;
  end
  
  -- Sign with playername:
  return false, Line1, Line2, Line3, Line4 .. Player:GetName();
end
</code>
