Add files via upload

master
AiTechEye 2022-04-24 14:49:50 +02:00 committed by GitHub
parent 617f1536b9
commit 824ec8dda9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 4 deletions

View File

@ -80,15 +80,37 @@ nodeextractor.set=function(pos,filepath)
minetest.emerge_area(vector.add(pos,dat.size),vector.subtract(pos,dat.size))
local vox = minetest.get_voxel_manip()
local min, max = vox:read_from_map(vector.add(pos,dat.size), vector.subtract(pos,dat.size))
local area = VoxelArea:new({MinEdge = min, MaxEdge = max})
local data = vox:get_data()
local contens = {}
for i,v in pairs(dat.nodes) do
local p = i.split(i,",")
local pos2 = vector.add(pos,vector.new(tonumber(p[1]),tonumber(p[2]),tonumber(p[3])))
minetest.set_node(pos2,v.node)
local meta = minetest.get_meta(pos2)
local m = minetest.deserialize(v)
local id = area:index(pos2.x,pos2.y,pos2.z)
contens[v.node.name] = contens[v.node.name] or minetest.get_content_id(v.node.name)
data[id] = contens[v.node.name]
end
vox:set_data(data)
vox:write_to_map()
vox:update_map()
vox:update_liquids()
for i,v in pairs(dat.nodes) do
local p = i.split(i,",")
local pos2 = vector.add(pos,vector.new(tonumber(p[1]),tonumber(p[2]),tonumber(p[3])))
local meta
if v.node.param1 or v.node.param2 then
minetest.set_node(pos2,v.node)
end
if v.inventory then
meta = minetest.get_meta(pos2)
for l,v1 in pairs(v.inventory) do
local stacks = {}
for i,v2 in pairs(v1) do
@ -98,6 +120,7 @@ nodeextractor.set=function(pos,filepath)
end
end
if v.fields then
meta = meta or minetest.get_meta(pos2)
for i,v in pairs(v.fields) do
if type(v) == "string" then
meta:set_string(i,v:gsub("´½`","\n"))