1.8 KiB
1.8 KiB
Areas mod API
API list
areas:registerHudHandler(handler)
- Registers a handler to add items to the Areas HUD. See HUD.areas:registerProtectionCondition(func(pos1, pos2, name))
- See Protection Conditionsareas:registerOnAdd(func(id, area))
areas:registerOnRemove(func(id))
areas:registerOnMove(func(id, area, pos1, pos2))
Protection Conditions
With areas:registerProtectionCondition(func(pos1, pos2, name))
you can register rules to control whether to allow or prohibit the creation of an area.
Return values:
true
Always create the area, no matter of other conditions. Note that this includes the conditions set by this mod.false, errMsg
Disable the creation of the area and return an error message.nil
Enable the creation of the area, if all other callbacks returnnil
too.
HUD
If you are making a protection mod or a similar mod that adds invisible regions to the world, and you would like then to show up in the areas HUD element, you can register a callback to show your areas.
HUD handler specification:
handler(pos, list)
pos
- The position to check.list
- The list of area HUD elements, this should be modified in-place.
The area list item is a table containing a list of tables with the following fields:
id
- An identifier for the area. This should be a unique string in the formatmod:id
.name
- The name of the area.owner
- The player name of the region owner, if any.
All of the fields are optional but at least one of them must be set.
Example
local function areas_hud_handler(pos, areas)
local val = find_my_protection(pos)
if val then
table.insert(areas, {
id = "mod:"..val.id,
name = val.name,
owner = val.owner,
})
end
end
areas:registerHudHandler(areas_hud_handler)