64 lines
1.8 KiB
Lua
64 lines
1.8 KiB
Lua
minetest.register_node("zythias_lantern:lantern",{
|
|
|
|
description="Lantern",
|
|
drawtype="plantlike",
|
|
tiles={name="zythias_lantern_lantern.png"},
|
|
wield_image = "zythias_lantern_lantern.png",
|
|
paramtype="light",
|
|
paramtype2="wallmounted",
|
|
sunlight_propagates=true,
|
|
walkable=false,
|
|
liquids_pointable=false,
|
|
light_source=15,
|
|
groups={choppy=2, dig_immediate=3, flammable=1, attach_node=1, torch=1},
|
|
drop="zythias_lantern:lantern",
|
|
inventory_image="zythias_lantern_lantern.png",
|
|
stack_max=1,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
output="zythias_lantern:lantern",
|
|
recipe= {
|
|
{"default:steel_ingot", "default:obsidian_shard", "default:steel_ingot"},
|
|
{"default:glass", "default:torch", "default:glass",},
|
|
{"default:steel_ingot", "default:diamond", "default:steel_ingot",},
|
|
},
|
|
})
|
|
|
|
minetest.register_node("zythias_lantern:airlight",{
|
|
|
|
description="Air Light",
|
|
inventory_image="zythias_lantern_airlight.png",
|
|
drawtype="airlike",
|
|
walkable=false,
|
|
diggable=false,
|
|
pointable=false,
|
|
buildable_to=true,
|
|
sunlight_propagates=true,
|
|
light_source=14,
|
|
on_timer=function(pos)
|
|
minetest.set_node(pos,{name="air"})
|
|
end
|
|
})
|
|
|
|
minetest.register_globalstep(function(dtime)
|
|
|
|
for _,player in ipairs( minetest.get_connected_players() )do
|
|
|
|
if player:get_wielded_item():get_name()=="zythias_lantern:lantern"then
|
|
local node = minetest.get_node(player:getpos())
|
|
if node.name ~= "air" then
|
|
local vpos = vector.new(player:getpos().x, player:getpos().y+1, player:getpos().z)
|
|
node = minetest.get_node(vpos)
|
|
if node.name == "air" then
|
|
minetest.set_node(vpos,{name="zythias_lantern:airlight"})
|
|
minetest.get_node_timer(vpos):set(0.2, 0)
|
|
end
|
|
else
|
|
minetest.set_node(player:getpos(),{name="zythias_lantern:airlight"})
|
|
minetest.get_node_timer(player:getpos()):set(0.2, 0)
|
|
end
|
|
end
|
|
end
|
|
end) |