Replace the horribly outdated minetest.env stuff

This commit is contained in:
Wuzzy 2017-01-11 18:21:46 +01:00
parent c13823bcfc
commit bc0879911f
35 changed files with 335 additions and 335 deletions

View file

@ -292,8 +292,8 @@ function default.generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume
local y2 = y0+y1
local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2}
if minetest.env:get_node(p2).name == wherein then
minetest.env:set_node(p2, {name=name})
if minetest.get_node(p2).name == wherein then
minetest.set_node(p2, {name=name})
end
end
end
@ -307,10 +307,10 @@ end
function default.make_reeds(pos, size)
for y=0,size-1 do
local p = {x=pos.x, y=pos.y+y, z=pos.z}
local nn = minetest.env:get_node(p).name
local nn = minetest.get_node(p).name
if minetest.registered_nodes[nn] and
minetest.registered_nodes[nn].buildable_to then
minetest.env:set_node(p, {name="default:reeds"})
minetest.set_node(p, {name="default:reeds"})
else
return
end
@ -320,10 +320,10 @@ end
function default.make_cactus(pos, size)
for y=0,size-1 do
local p = {x=pos.x, y=pos.y+y, z=pos.z}
local nn = minetest.env:get_node(p).name
local nn = minetest.get_node(p).name
if minetest.registered_nodes[nn] and
minetest.registered_nodes[nn].buildable_to then
minetest.env:set_node(p, {name="default:cactus"})
minetest.set_node(p, {name="default:cactus"})
else
return
end
@ -341,17 +341,17 @@ minetest.register_on_generated(function(minp, maxp, seed)
for divz=0+1,divs-1-1 do
local cx = minp.x + math.floor((divx+0.5)*divlen)
local cz = minp.z + math.floor((divz+0.5)*divlen)
if minetest.env:get_node({x=cx,y=1,z=cz}).name == "default:water_source" and
minetest.env:get_node({x=cx,y=0,z=cz}).name == "default:sand" then
if minetest.get_node({x=cx,y=1,z=cz}).name == "default:water_source" and
minetest.get_node({x=cx,y=0,z=cz}).name == "default:sand" then
local is_shallow = true
local num_water_around = 0
if minetest.env:get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "default:water_source" then
if minetest.get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "default:water_source" then
if minetest.get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "default:water_source" then
if minetest.get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "default:water_source" then
if minetest.get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if num_water_around >= 2 then
is_shallow = false
@ -359,8 +359,8 @@ minetest.register_on_generated(function(minp, maxp, seed)
if is_shallow then
for x1=-divlen,divlen do
for z1=-divlen,divlen do
if minetest.env:get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sand" or minetest.env:get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sandstone" then
minetest.env:set_node({x=cx+x1,y=0,z=cz+z1}, {name="default:clay"})
if minetest.get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sand" or minetest.get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sandstone" then
minetest.set_node({x=cx+x1,y=0,z=cz+z1}, {name="default:clay"})
end
end
end
@ -369,7 +369,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
end
end
-- Generate reeds
local perlin1 = minetest.env:get_perlin(354, 3, 0.7, 100)
local perlin1 = minetest.get_perlin(354, 3, 0.7, 100)
-- Assume X and Z lengths are equal
local divlen = 8
local divs = (maxp.x-minp.x)/divlen+1;
@ -386,12 +386,12 @@ minetest.register_on_generated(function(minp, maxp, seed)
for i=0,reeds_amount do
local x = pr:next(x0, x1)
local z = pr:next(z0, z1)
if minetest.env:get_node({x=x,y=1,z=z}).name == "default:dirt_with_grass" and
minetest.env:find_node_near({x=x,y=1,z=z}, 1, "default:water_source") then
if minetest.get_node({x=x,y=1,z=z}).name == "default:dirt_with_grass" and
minetest.find_node_near({x=x,y=1,z=z}, 1, "default:water_source") then
default.make_reeds({x=x,y=2,z=z}, pr:next(2, 4))
end
local p = {x=x,y=1,z=z}
if minetest.env:get_node(p).name == "default:sand" then
if minetest.get_node(p).name == "default:sand" then
if math.random(0,1000) == 1 then -- 0,12000
random_struct.call_struct(p,2)
end
@ -401,7 +401,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
end
end
-- Generate cactuses
local perlin1 = minetest.env:get_perlin(230, 3, 0.6, 100)
local perlin1 = minetest.get_perlin(230, 3, 0.6, 100)
-- Assume X and Z lengths are equal
local divlen = 16
local divs = (maxp.x-minp.x)/divlen+1;
@ -421,20 +421,20 @@ minetest.register_on_generated(function(minp, maxp, seed)
-- Find ground level (0...15)
local ground_y = nil
for y=30,0,-1 do
if minetest.env:get_node({x=x,y=y,z=z}).name ~= "air" then
if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then
ground_y = y
break
end
end
-- If desert sand, make cactus
if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then
if ground_y and minetest.get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then
default.make_cactus({x=x,y=ground_y+1,z=z}, pr:next(3, 4))
end
end
end
end
-- Generate grass
local perlin1 = minetest.env:get_perlin(329, 3, 0.6, 100)
local perlin1 = minetest.get_perlin(329, 3, 0.6, 100)
-- Assume X and Z lengths are equal
local divlen = 5
local divs = (maxp.x-minp.x)/divlen+1;
@ -454,7 +454,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
-- Find ground level (0...15)
local ground_y = nil
for y=30,0,-1 do
if minetest.env:get_node({x=x,y=y,z=z}).name ~= "air" then
if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then
ground_y = y
break
end
@ -462,18 +462,18 @@ minetest.register_on_generated(function(minp, maxp, seed)
if ground_y then
local p = {x=x,y=ground_y+1,z=z}
local nn = minetest.env:get_node(p).name
local nn = minetest.get_node(p).name
-- Check if the node can be replaced
if minetest.registered_nodes[nn] and
minetest.registered_nodes[nn].buildable_to then
nn = minetest.env:get_node({x=x,y=ground_y,z=z}).name
nn = minetest.get_node({x=x,y=ground_y,z=z}).name
-- If desert sand, add dry shrub
if nn == "default:desert_sand" then
minetest.env:set_node(p,{name="default:dry_shrub"})
minetest.set_node(p,{name="default:dry_shrub"})
-- If dirt with grass, add grass
elseif nn == "default:dirt_with_grass" then
minetest.env:set_node(p,{name="default:grass"})
minetest.set_node(p,{name="default:grass"})
if math.random(0,12000) == 1 then
random_struct.call_struct(p,1)
end

View file

@ -1118,7 +1118,7 @@ minetest.register_node("default:vine", {
local ptr = 1
while next_find == true do
local pos2 = {x=pos.x, y=pos.y-ptr, z=pos.z}
local node = minetest.env:get_node(pos2)
local node = minetest.get_node(pos2)
if node.name == "default:vine" and check_attached_node(pos2, node) == false then
drop_attached_node(pos2)
nodeupdate(pos2)
@ -1318,16 +1318,16 @@ local function get_chest_neighborpos(pos, param2, side)
end
local function hacky_swap_node(pos,name, param2)
local node = minetest.env:get_node(pos)
local meta = minetest.env:get_meta(pos)
local node = minetest.get_node(pos)
local meta = minetest.get_meta(pos)
if node.name == name then
return
end
node.name = name
node.param2 = param2 or node.param2
local meta0 = meta:to_table()
minetest.env:set_node(pos,node)
meta = minetest.env:get_meta(pos)
minetest.set_node(pos,node)
meta = minetest.get_meta(pos)
meta:from_table(meta0)
end
@ -1341,10 +1341,10 @@ minetest.register_node("default:chest", {
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local param2 = minetest.env:get_node(pos).param2
local meta = minetest.env:get_meta(pos)
if minetest.env:get_node(get_chest_neighborpos(pos, param2, "right")).name == "default:chest" then
minetest.env:set_node(pos, {name="default:chest_right",param2=param2})
local param2 = minetest.get_node(pos).param2
local meta = minetest.get_meta(pos)
if minetest.get_node(get_chest_neighborpos(pos, param2, "right")).name == "default:chest" then
minetest.set_node(pos, {name="default:chest_right",param2=param2})
local p = get_chest_neighborpos(pos, param2, "right")
meta:set_string("formspec",
"size[9,11.5]"..
@ -1358,7 +1358,7 @@ minetest.register_node("default:chest", {
"listring[current_name;main]")
meta:set_string("infotext", "Large Chest")
hacky_swap_node(p, "default:chest_left", param2)
local m = minetest.env:get_meta(p)
local m = minetest.get_meta(p)
m:set_string("formspec",
"size[9,11.5]"..
"list[current_name;main;0,0;9,3;]"..
@ -1370,8 +1370,8 @@ minetest.register_node("default:chest", {
"listring[current_player;main]"..
"listring[nodemeta:"..pos.x..","..pos.y..","..pos.z..";main]")
m:set_string("infotext", "Large Chest")
elseif minetest.env:get_node(get_chest_neighborpos(pos, param2, "left")).name == "default:chest" then
minetest.env:set_node(pos, {name="default:chest_left",param2=param2})
elseif minetest.get_node(get_chest_neighborpos(pos, param2, "left")).name == "default:chest" then
minetest.set_node(pos, {name="default:chest_left",param2=param2})
local p = get_chest_neighborpos(pos, param2, "left")
meta:set_string("formspec",
"size[9,11.5]"..
@ -1385,7 +1385,7 @@ minetest.register_node("default:chest", {
"listring[nodemeta:"..p.x..","..p.y..","..p.z..";main]")
meta:set_string("infotext", "Large Chest")
hacky_swap_node(p, "default:chest_right", param2)
local m = minetest.env:get_meta(p)
local m = minetest.get_meta(p)
m:set_string("formspec",
"size[9,11.5]"..
"list[nodemeta:"..pos.x..","..pos.y..","..pos.z..";main;0,0;9,3;]"..
@ -1413,7 +1413,7 @@ minetest.register_node("default:chest", {
inv:set_size("main", 9*3)
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
local meta2 = meta
meta:from_table(oldmetadata)
local inv = meta:get_inventory()
@ -1421,7 +1421,7 @@ minetest.register_node("default:chest", {
local stack = inv:get_stack("main", i)
if not stack:is_empty() then
local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5}
minetest.env:add_item(p, stack)
minetest.add_item(p, stack)
end
end
meta:from_table(meta2:to_table())
@ -1449,16 +1449,16 @@ minetest.register_node("default:chest_left", {
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_destruct = function(pos)
local m = minetest.env:get_meta(pos)
local m = minetest.get_meta(pos)
if m:get_string("infotext") == "Chest" then
return
end
local param2 = minetest.env:get_node(pos).param2
local param2 = minetest.get_node(pos).param2
local p = get_chest_neighborpos(pos, param2, "left")
if not p or minetest.env:get_node(p).name ~= "default:chest_right" then
if not p or minetest.get_node(p).name ~= "default:chest_right" then
return
end
local meta = minetest.env:get_meta(p)
local meta = minetest.get_meta(p)
meta:set_string("formspec",
"size[9,8.75]"..
"background[-0.19,-0.25;9.41,10.48;crafting_inventory_chest.png]"..
@ -1472,7 +1472,7 @@ minetest.register_node("default:chest_left", {
hacky_swap_node(p, "default:chest")
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
local meta2 = meta
meta:from_table(oldmetadata)
local inv = meta:get_inventory()
@ -1480,7 +1480,7 @@ minetest.register_node("default:chest_left", {
local stack = inv:get_stack("main", i)
if not stack:is_empty() then
local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5}
minetest.env:add_item(p, stack)
minetest.add_item(p, stack)
end
end
meta:from_table(meta2:to_table())
@ -1508,16 +1508,16 @@ minetest.register_node("default:chest_right", {
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_destruct = function(pos)
local m = minetest.env:get_meta(pos)
local m = minetest.get_meta(pos)
if m:get_string("infotext") == "Chest" then
return
end
local param2 = minetest.env:get_node(pos).param2
local param2 = minetest.get_node(pos).param2
local p = get_chest_neighborpos(pos, param2, "right")
if not p or minetest.env:get_node(p).name ~= "default:chest_left" then
if not p or minetest.get_node(p).name ~= "default:chest_left" then
return
end
local meta = minetest.env:get_meta(p)
local meta = minetest.get_meta(p)
meta:set_string("formspec",
"size[9,8.75]"..
"background[-0.19,-0.25;9.41,10.48;crafting_inventory_chest.png]"..
@ -1531,7 +1531,7 @@ minetest.register_node("default:chest_right", {
hacky_swap_node(p, "default:chest")
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
local meta2 = meta
meta:from_table(oldmetadata)
local inv = meta:get_inventory()
@ -1539,7 +1539,7 @@ minetest.register_node("default:chest_right", {
local stack = inv:get_stack("main", i)
if not stack:is_empty() then
local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5}
minetest.env:add_item(p, stack)
minetest.add_item(p, stack)
end
end
meta:from_table(meta2:to_table())
@ -1585,7 +1585,7 @@ minetest.register_node("default:furnace", {
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", default.furnace_inactive_formspec)
meta:set_string("infotext", "Furnace")
local inv = meta:get_inventory()
@ -1594,7 +1594,7 @@ minetest.register_node("default:furnace", {
inv:set_size("dst", 4)
end,
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("fuel") then
return false
@ -1606,7 +1606,7 @@ minetest.register_node("default:furnace", {
return true
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
if listname == "fuel" then
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
@ -1624,7 +1624,7 @@ minetest.register_node("default:furnace", {
end
end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local stack = inv:get_stack(from_list, from_index)
if to_list == "fuel" then
@ -1655,7 +1655,7 @@ minetest.register_node("default:furnace_active", {
groups = {cracky=2, not_in_creative_inventory=1},
sounds = default.node_sound_stone_defaults(),
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", default.furnace_inactive_formspec)
meta:set_string("infotext", "Furnace");
local inv = meta:get_inventory()
@ -1664,7 +1664,7 @@ minetest.register_node("default:furnace_active", {
inv:set_size("dst", 4)
end,
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("fuel") then
return false
@ -1676,7 +1676,7 @@ minetest.register_node("default:furnace_active", {
return true
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
if listname == "fuel" then
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
@ -1694,7 +1694,7 @@ minetest.register_node("default:furnace_active", {
end
end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local stack = inv:get_stack(from_list, from_index)
if to_list == "fuel" then
@ -1715,16 +1715,16 @@ minetest.register_node("default:furnace_active", {
})
function hacky_swap_node(pos,name)
local node = minetest.env:get_node(pos)
local meta = minetest.env:get_meta(pos)
local node = minetest.get_node(pos)
local meta = minetest.get_meta(pos)
local meta0 = meta:to_table()
if node.name == name then
return
end
node.name = name
local meta0 = meta:to_table()
minetest.env:set_node(pos,node)
meta = minetest.env:get_meta(pos)
minetest.set_node(pos,node)
meta = minetest.get_meta(pos)
meta:from_table(meta0)
end
@ -1733,7 +1733,7 @@ minetest.register_abm({
interval = 1.0,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local meta = minetest.env:get_meta(pos)
local meta = minetest.get_meta(pos)
for i, name in ipairs({
"fuel_totaltime",
"fuel_time",
@ -2020,13 +2020,13 @@ minetest.register_node("default:sponge", {
local on_water = false
local pos = pointed_thing.above
-- verifier si il est dans l'eau ou a cotée
if string.find(minetest.env:get_node(pointed_thing.above).name, "water_source")
or string.find(minetest.env:get_node(pointed_thing.above).name, "water_flowing") then
if string.find(minetest.get_node(pointed_thing.above).name, "water_source")
or string.find(minetest.get_node(pointed_thing.above).name, "water_flowing") then
on_water = true
end
for i=-1,1 do
local p = {x=pos.x+i, y=pos.y, z=pos.z}
local n = minetest.env:get_node(p)
local n = minetest.get_node(p)
-- On verifie si il y a de l'eau
if (n.name=="default:water_flowing") or (n.name == "default:water_source") then
on_water = true
@ -2034,7 +2034,7 @@ minetest.register_node("default:sponge", {
end
for i=-1,1 do
local p = {x=pos.x, y=pos.y+i, z=pos.z}
local n = minetest.env:get_node(p)
local n = minetest.get_node(p)
-- On verifie si il y a de l'eau
if (n.name=="default:water_flowing") or (n.name == "default:water_source") then
on_water = true
@ -2042,7 +2042,7 @@ minetest.register_node("default:sponge", {
end
for i=-1,1 do
local p = {x=pos.x, y=pos.y, z=pos.z+i}
local n = minetest.env:get_node(p)
local n = minetest.get_node(p)
-- On verifie si il y a de l'eau
if (n.name=="default:water_flowing") or (n.name == "default:water_source") then
on_water = true
@ -2054,10 +2054,10 @@ minetest.register_node("default:sponge", {
for j=-3,3 do
for k=-3,3 do
p = {x=pos.x+i, y=pos.y+j, z=pos.z+k}
n = minetest.env:get_node(p)
n = minetest.get_node(p)
-- On Supprime l'eau
if (n.name=="default:water_flowing") or (n.name == "default:water_source")then
minetest.env:add_node(p, {name="air"})
minetest.add_node(p, {name="air"})
change = true
end
end
@ -2065,11 +2065,11 @@ minetest.register_node("default:sponge", {
end
end
local p = {x=pos.x, y=pos.y, z=pos.z}
local n = minetest.env:get_node(p)
local n = minetest.get_node(p)
if change == true then
minetest.env:add_node(pointed_thing.above, {name = "default:sponge_wet"})
minetest.add_node(pointed_thing.above, {name = "default:sponge_wet"})
else
minetest.env:add_node(pointed_thing.above, {name = "default:sponge"})
minetest.add_node(pointed_thing.above, {name = "default:sponge"})
end
return itemstack

View file

@ -306,7 +306,7 @@ minetest.register_tool("default:pole", {
liquids_pointable = true,
on_use = function (itemstack, user, pointed_thing)
if pointed_thing and pointed_thing.under then
local node = minetest.env:get_node(pointed_thing.under)
local node = minetest.get_node(pointed_thing.under)
if string.find(node.name, "default:water") then
if math.random(1, 100) > 50 then
local inv = user:get_inventory()
@ -348,8 +348,8 @@ minetest.register_craftitem("default:snowball", {
on_use = snow_shoot_snowball,
on_construct = function(pos)
pos.y = pos.y - 1
if minetest.env:get_node(pos).name == "default:dirt_with_grass" then
minetest.env:set_node(pos, {name="default:dirt_with_snow"})
if minetest.get_node(pos).name == "default:dirt_with_grass" then
minetest.set_node(pos, {name="default:dirt_with_snow"})
end
end,
})