Repository navigation
Expand file tree
/
Copy pathnodedefs.lua
More file actions
60 lines (53 loc) · 1.46 KB
/
Copy pathnodedefs.lua
File metadata and controls
60 lines (53 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function mapserver.post_nodedefs(http, mapserver_url, mapserver_key)
local count = 0
local defs = {}
local mapped_fields = {
"drawtype",
"visual_scale",
"tiles",
"overlay_tiles",
"special_tiles",
"color",
"use_texture_alpha",
"palette",
"post_effect_color",
"post_effect_color_shaded",
"paramtype",
"paramtype2",
"sunlight_propagates",
"walkable",
"pointable",
"climbable",
"liquidtype",
"liquid_alternative_flowing",
"liquid_alternative_source",
"leveled",
"leveled_max",
"liquid_range",
"node_box",
"connects_to",
"connect_sides",
"mesh",
"selection_box",
"collision_box",
"waving"
}
for name, nodedef in pairs(minetest.registered_nodes) do
count = count + 1
local def = {}
for _, fieldname in ipairs(mapped_fields) do
def[fieldname] = nodedef[fieldname]
end
defs[name] = def
end
local function do_post()
mapserver.log("info", "posting " .. count .. " nodedefs")
mapserver.api.send_nodedefs(defs, function(res)
if not res.succeeded or res.code ~= 200 then
mapserver.log("info", "failed to post nodedef data, retrying later again")
minetest.after(30, do_post)
end
end)
end
do_post()
end