Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- minetest.register_node("testing:panel_sand_bottom", {
- description = description,
- drawtype = "nodebox",
- tiles = {"default_sand.png"},
- paramtype = "light",
- paramtype2 = "facedir",
- pointable = true,
- buildable_to = true,
- is_ground_content = false,
- sunlight_propagates = sunlight,
- groups = {dig_immediate=3, crumbly=3, falling_node=1, sand=1},
- sounds = default.node_sound_sand_defaults(),
- drop = "",
- node_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5},
- },
- })
- minetest.register_abm(
- {nodenames = {"default:sand"},
- interval = 2,
- chance = 1,
- action = function(pos)
- local x1 = minetest.get_node({x = pos.x + 1, y = pos.y, z = pos.z})
- local x1b = minetest.get_node({x = pos.x + 1, y = pos.y - 1, z = pos.z})
- local x1bd = minetest.registered_nodes[x1b.name]
- local x2 = minetest.get_node({x = pos.x - 1, y = pos.y, z = pos.z})
- local x2b = minetest.get_node({x = pos.x - 1, y = pos.y - 1, z = pos.z})
- local x2bd = minetest.registered_nodes[x2b.name]
- local z1 = minetest.get_node({x = pos.x, y = pos.y, z = pos.z + 1})
- local z1b = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z + 1})
- local z1bd = minetest.registered_nodes[z1b.name]
- local z2 = minetest.get_node({x = pos.x, y = pos.y, z = pos.z - 1})
- local z2b = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z - 1})
- local z2bd = minetest.registered_nodes[z2b.name]
- local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z})
- if x1.name == "air"
- and below.name ~= "air"
- and x1bd.drawtype == "normal"
- and x1b.name ~= "air"
- then
- print(dump(nodef))
- minetest.set_node({x = pos.x + 1, y = pos.y, z = pos.z}, {name = "testing:panel_sand_bottom",param2 = 3})
- end
- if x2.name == "air"
- and below.name ~= "air"
- and x2bd.drawtype == "normal"
- and x2b.name ~= "air"
- then
- minetest.set_node({x = pos.x - 1, y = pos.y, z = pos.z}, {name = "testing:panel_sand_bottom",param2 = 1})
- end
- if z1.name == "air"
- and below.name ~= "air"
- and z1bd.drawtype == "normal"
- and z1b.name ~= "air"
- then
- minetest.set_node({x = pos.x, y = pos.y, z = pos.z + 1}, {name = "testing:panel_sand_bottom",param2 = 2})
- end
- if z2.name == "air"
- and below.name ~= "air"
- and z2bd.drawtype == "normal"
- and z2b.name ~= "air"
- then
- minetest.set_node({x = pos.x, y = pos.y, z = pos.z - 1}, {name = "testing:panel_sand_bottom",param2 = 0})
- end
- end
- })
- minetest.register_node("testing:panel_dirt_bottom", {
- description = description,
- drawtype = "nodebox",
- tiles = {"default_dirt.png"},
- paramtype = "light",
- paramtype2 = "facedir",
- pointable = true,
- buildable_to = true,
- is_ground_content = false,
- sunlight_propagates = sunlight,
- groups = {dig_immediate=3, crumbly=3, falling_node=1, dirt=1},
- sounds = default.node_sound_dirt_defaults(),
- drop = "",
- node_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5},
- },
- })
- minetest.register_abm(
- {nodenames = {"default:dirt"},
- interval = 2,
- chance = 1,
- action = function(pos)
- local x1 = minetest.get_node({x = pos.x + 1, y = pos.y, z = pos.z})
- local x1b = minetest.get_node({x = pos.x + 1, y = pos.y - 1, z = pos.z})
- local x1bd = minetest.registered_nodes[x1b.name]
- local x2 = minetest.get_node({x = pos.x - 1, y = pos.y, z = pos.z})
- local x2b = minetest.get_node({x = pos.x - 1, y = pos.y - 1, z = pos.z})
- local x2bd = minetest.registered_nodes[x2b.name]
- local z1 = minetest.get_node({x = pos.x, y = pos.y, z = pos.z + 1})
- local z1b = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z + 1})
- local z1bd = minetest.registered_nodes[z1b.name]
- local z2 = minetest.get_node({x = pos.x, y = pos.y, z = pos.z - 1})
- local z2b = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z - 1})
- local z2bd = minetest.registered_nodes[z2b.name]
- local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z})
- if x1.name == "air"
- and below.name ~= "air"
- and x1bd.drawtype == "normal"
- and x1b.name ~= "air"
- then
- print(dump(nodef))
- minetest.set_node({x = pos.x + 1, y = pos.y, z = pos.z}, {name = "testing:panel_dirt_bottom",param2 = 3})
- end
- if x2.name == "air"
- and below.name ~= "air"
- and x2bd.drawtype == "normal"
- and x2b.name ~= "air"
- then
- minetest.set_node({x = pos.x - 1, y = pos.y, z = pos.z}, {name = "testing:panel_dirt_bottom",param2 = 1})
- end
- if z1.name == "air"
- and below.name ~= "air"
- and z1bd.drawtype == "normal"
- and z1b.name ~= "air"
- then
- minetest.set_node({x = pos.x, y = pos.y, z = pos.z + 1}, {name = "testing:panel_dirt_bottom",param2 = 2})
- end
- if z2.name == "air"
- and below.name ~= "air"
- and z2bd.drawtype == "normal"
- and z2b.name ~= "air"
- then
- minetest.set_node({x = pos.x, y = pos.y, z = pos.z - 1}, {name = "testing:panel_dirt_bottom",param2 = 0})
- end
- end
- })
- minetest.register_node("testing:panel_dirt_with_grass_bottom", {
- description = description,
- drawtype = "nodebox",
- tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
- paramtype = "light",
- paramtype2 = "facedir",
- pointable = true,
- buildable_to = true,
- is_ground_content = false,
- sunlight_propagates = sunlight,
- groups = {dig_immediate=3, crumbly=3, falling_node=1, dirt_with_grass=1},
- sounds = default.node_sound_dirt_defaults(),
- drop = "",
- node_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5},
- },
- })
- minetest.register_abm(
- {nodenames = {"default:dirt_with_grass"},
- interval = 2,
- chance = 1,
- action = function(pos)
- local x1 = minetest.get_node({x = pos.x + 1, y = pos.y, z = pos.z})
- local x1b = minetest.get_node({x = pos.x + 1, y = pos.y - 1, z = pos.z})
- local x1bd = minetest.registered_nodes[x1b.name]
- local x2 = minetest.get_node({x = pos.x - 1, y = pos.y, z = pos.z})
- local x2b = minetest.get_node({x = pos.x - 1, y = pos.y - 1, z = pos.z})
- local x2bd = minetest.registered_nodes[x2b.name]
- local z1 = minetest.get_node({x = pos.x, y = pos.y, z = pos.z + 1})
- local z1b = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z + 1})
- local z1bd = minetest.registered_nodes[z1b.name]
- local z2 = minetest.get_node({x = pos.x, y = pos.y, z = pos.z - 1})
- local z2b = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z - 1})
- local z2bd = minetest.registered_nodes[z2b.name]
- local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z})
- if x1.name == "air"
- and below.name ~= "air"
- and x1bd.drawtype == "normal"
- and x1b.name ~= "air"
- then
- print(dump(nodef))
- minetest.set_node({x = pos.x + 1, y = pos.y, z = pos.z}, {name = "testing:panel_dirt_with_grass_bottom",param2 = 3})
- end
- if x2.name == "air"
- and below.name ~= "air"
- and x2bd.drawtype == "normal"
- and x2b.name ~= "air"
- then
- minetest.set_node({x = pos.x - 1, y = pos.y, z = pos.z}, {name = "testing:panel_dirt_with_grass_bottom",param2 = 1})
- end
- if z1.name == "air"
- and below.name ~= "air"
- and z1bd.drawtype == "normal"
- and z1b.name ~= "air"
- then
- minetest.set_node({x = pos.x, y = pos.y, z = pos.z + 1}, {name = "testing:panel_dirt_with_grass_bottom",param2 = 2})
- end
- if z2.name == "air"
- and below.name ~= "air"
- and z2bd.drawtype == "normal"
- and z2b.name ~= "air"
- then
- minetest.set_node({x = pos.x, y = pos.y, z = pos.z - 1}, {name = "testing:panel_dirt_with_grass_bottom",param2 = 0})
- end
- end
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement