Puts dirt under the schematics now works
This commit is contained in:
parent
80d63106dd
commit
74d21241b3
70
init.lua
70
init.lua
@ -187,49 +187,51 @@ minetest.register_node("nssb:web_cocoon", {
|
|||||||
|
|
||||||
function nssb_register_buildings (build, numerone, blocco, giu, bloccogiu, deep, bloccodeep, raggio, near, lato)
|
function nssb_register_buildings (build, numerone, blocco, giu, bloccogiu, deep, bloccodeep, raggio, near, lato)
|
||||||
|
|
||||||
minetest.register_on_generated(function(minp, maxp, seed)
|
minetest.register_on_generated(function(minp, maxp, seed)
|
||||||
local i, j, k
|
local i, j, k
|
||||||
local flag=0
|
local flag=0
|
||||||
i = math.random(minp.x, maxp.x)
|
local posd
|
||||||
k = math.random(minp.z, maxp.z)
|
i = math.random(minp.x, maxp.x)
|
||||||
for j=minp.y,maxp.y do
|
k = math.random(minp.z, maxp.z)
|
||||||
local pos1 = {x=i, y=j, z=k}
|
for j=minp.y,maxp.y do
|
||||||
local pos2 = {x=i+giu, y=j-1, z=k+giu}
|
local pos1 = {x=i, y=j, z=k}
|
||||||
local pos3 = {x=i, y=j+deep, z=k}
|
local pos2 = {x=i+giu, y=j-1, z=k+giu}
|
||||||
local n = minetest.env:get_node(pos1).name
|
local pos3 = {x=i, y=j+deep, z=k}
|
||||||
local d = minetest.env:get_node(pos3).name
|
local n = minetest.env:get_node(pos1).name
|
||||||
local u = minetest.env:get_node(pos2).name
|
local d = minetest.env:get_node(pos3).name
|
||||||
if n== blocco and u== bloccogiu and d==bloccodeep and flag==0 and math.random(1,numerone)==1 then
|
local u = minetest.env:get_node(pos2).name
|
||||||
if minetest.find_node_near(pos3, raggio, near) then
|
if n== blocco and u== bloccogiu and d==bloccodeep and flag==0 and math.random(1,numerone)==1 then
|
||||||
minetest.place_schematic(pos1, minetest.get_modpath("nssb").."/schems/".. build ..".mts", "0", {}, true)
|
if minetest.find_node_near(pos3, raggio, near) then
|
||||||
--minetest.chat_send_all("Added schematic in "..(minetest.pos_to_string(pos1)))
|
minetest.place_schematic(pos1, minetest.get_modpath("nssb").."/schems/".. build ..".mts", "0", {}, true)
|
||||||
flag=1
|
minetest.chat_send_all("Added schematic in "..(minetest.pos_to_string(pos1)))
|
||||||
end
|
posd=pos1
|
||||||
end
|
flag=1
|
||||||
|
|
||||||
for dx = 0,lato do
|
|
||||||
for dz = 0,lato do
|
|
||||||
for dy = j-1,-lato do
|
|
||||||
local f = {x = pos1.x+dx, y=pos1.y+dy, z=pos1.z+dz}
|
|
||||||
local fg = minetest.env:get_node(f).name
|
|
||||||
if fg == "air" then
|
|
||||||
minetest.env:set_node(f, {name="default:dirt"})
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
if flag==1 and lato>0 then
|
||||||
|
for dx = 0,lato do
|
||||||
end
|
for dz = 0,lato do
|
||||||
|
local dy=posd.y-1
|
||||||
end)
|
local f = {x = posd.x+dx, y=dy, z=posd.z+dz}
|
||||||
|
local fg = minetest.env:get_node(f).name
|
||||||
|
while fg=="air" do
|
||||||
|
minetest.env:set_node(f, {name="default:dirt"})
|
||||||
|
f.y=f.y-1
|
||||||
|
fg = minetest.env:get_node(f).name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--Codice di riempimento sotto i formicai: deve scorrere tutti i blocchi per 30 almeno e mettere dirt ogni volta
|
--Codice di riempimento sotto i formicai: deve scorrere tutti i blocchi per 30 almeno e mettere dirt ogni volta
|
||||||
|
|
||||||
|
|
||||||
--(nome della costruzione, numerone (tra 1 e numerone viene fatto il math.random), blocco sul quale viene messa la schematica, distanza a cui verrà calcolato bloccogiù, bloccogiù (serve per mettere le schematiche in luoghi pianeggianti), deep è il numero di un nesimo blocco sopra la pos1 per mettere le costruzioni profonde, bloccodeep è il blocco in alto, raggio in cui cerca i blocchi simili, blocco simile da trovare, misura del lato della schematica sotto cui mettere dirt)
|
--(nome della costruzione, numerone (tra 1 e numerone viene fatto il math.random), blocco sul quale viene messa la schematica, distanza a cui verr<EFBFBD> calcolato bloccogi<67>, bloccogi<67> (serve per mettere le schematiche in luoghi pianeggianti), deep <20> il numero di un n-esimo blocco sopra la pos1 per mettere le costruzioni profonde, bloccodeep <20> il blocco in alto, raggio in cui cerca i blocchi simili, blocco simile da trovare, misura del lato della schematica sotto cui mettere dirt)
|
||||||
nssb_register_buildings ('spiaggiagranchius', 1, "default:sand", 3, "default:sand", 2, "air", 3, "air", 0)
|
nssb_register_buildings ('spiaggiagranchius', 1, "default:sand", 3, "default:sand", 2, "air", 3, "air", 0)
|
||||||
nssb_register_buildings ('acquagranchius', 1, "default:sand", 3, "default:sand", 12,"default:water_source", 3, "default:water_source", 0)
|
nssb_register_buildings ('acquagranchius', 1, "default:sand", 3, "default:sand", 12,"default:water_source", 3, "default:water_source", 0)
|
||||||
nssb_register_buildings ('ooteca', 1, "default:dirt_with_grass",4, "default:dirt", 2, "air", 24, "default:tree", 8)
|
nssb_register_buildings ('ooteca', 1, "default:dirt_with_grass",4, "default:dirt", 2, "air", 24, "default:tree", 8)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user