add waypoint_compass.make_compass function that makes compass w/meta
This commit is contained in:
parent
a1a5c874df
commit
63bcd595ec
34
init.lua
34
init.lua
@ -52,6 +52,8 @@ end
|
||||
|
||||
local function set_compass_meta_color(meta, color)
|
||||
meta:set_int("waypoint_compass:color", color)
|
||||
-- thanks to Boot@YL for suggesting this
|
||||
meta:set_string("color", ("#%06X"):format(color))
|
||||
end
|
||||
|
||||
|
||||
@ -334,8 +336,6 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
color = math.max(math.min(color, 0xFFFFFF), 0x0) -- for some reason seems to work fine without this
|
||||
set_compass_meta_color(meta, color)
|
||||
-- print(dump(meta:to_table()))
|
||||
-- thanks to Boot@YL for suggesting this
|
||||
meta:set_string("color", ("#%06X"):format(color))
|
||||
end
|
||||
|
||||
local coords = coords_from_string(fields.coords)
|
||||
@ -435,3 +435,33 @@ end
|
||||
minetest.register_on_craft(waypoint_compass_copy_meta)
|
||||
|
||||
minetest.register_craft_predict(waypoint_compass_copy_meta)
|
||||
|
||||
-- pos is {x=0,y=0,z=0}
|
||||
-- owner_name is str
|
||||
-- label is str
|
||||
-- color is int in range [0,0xFFFFFF]
|
||||
local error_val = nil --ItemStack('apple') -- used this for testing with //lua
|
||||
local function make_compass(pos, owner_name, label, color)
|
||||
local itemstack = ItemStack("waypoint_compass:compass")
|
||||
local meta = itemstack:get_meta()
|
||||
if not (pos or {}).x or
|
||||
(type(owner_name) ~= 'string') or
|
||||
(type(label) ~= 'string') then
|
||||
return error_val
|
||||
end
|
||||
if not color or type(color) ~= 'number' or color < 0 or color > 0xFFFFFF then
|
||||
return error_val
|
||||
end
|
||||
set_compass_meta_pos(meta, pos)
|
||||
set_compass_meta_owner(meta, owner_name)
|
||||
set_compass_meta_label(meta, label)
|
||||
set_compass_meta_color(meta, color)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
|
||||
waypoint_compass = {
|
||||
make_compass = make_compass,
|
||||
}
|
||||
|
||||
return waypoint_compass
|
||||
|
Loading…
Reference in New Issue
Block a user