minetest.register_globalstep(function() for _, player in ipairs(minetest.get_connected_players()) do if player:get_player_name() ~= "singleplayer" then return end local item = player:get_wielded_item():get_name() if item == "default:torch" or item == "decoblocks:lantern" then local pos = player:getpos() local item = player:get_wielded_item() item:add_wear(2000) pos.y = pos.y+1.2 if minetest.get_node(pos).name == "air" then minetest.set_node(pos, {name="tools:light"}) end for i=1,2 do local remove_node = minetest.find_node_near(pos, 1, {"tools:light"}, false) if remove_node then minetest.remove_node(remove_node) end end end end return item end) minetest.register_node("tools:light", { drawtype = "airlike", groups = {not_in_creative_inventory=1}, walkable = false, pointable = false, light_source = 10, }) minetest.register_abm({ nodenames = {"tools:light"}, interval = 1, chance = 1, action = function(pos, node) minetest.remove_node(pos) end, }) minetest.register_craftitem("tools:watering_can", { description = "Watering Can", inventory_image = "tools_watering_can.png", liquids_pointable = true, on_use = function(item, placer, pointed_thing) local pos = pointed_thing.under pos.y = pos.y+1 local mg_name = minetest.get_mapgen_setting("mg_name") local node = minetest.get_node(pos) if node.name == "default:sapling" then minetest.log("action", "A sapling grows into a tree at ".. minetest.pos_to_string(pos)) if mg_name == "v6" then default.grow_tree(pos, random(1, 4) == 1) else default.grow_new_apple_tree(pos) end elseif node.name == "default:junglesapling" then minetest.log("action", "A jungle sapling grows into a tree at ".. minetest.pos_to_string(pos)) if mg_name == "v6" then default.grow_jungle_tree(pos) else default.grow_new_jungle_tree(pos) end elseif node.name == "default:pine_sapling" then minetest.log("action", "A pine sapling grows into a tree at ".. minetest.pos_to_string(pos)) local snow = minetest.find_node_near(pos, 1, {"group:snowy"}) if mg_name == "v6" then default.grow_pine_tree(pos, snow) elseif snow then default.grow_new_snowy_pine_tree(pos) else default.grow_new_pine_tree(pos) end elseif node.name == "default:acacia_sapling" then minetest.log("action", "An acacia sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_acacia_tree(pos) elseif node.name == "default:aspen_sapling" then minetest.log("action", "An aspen sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_aspen_tree(pos) elseif node.name == "default:bush_sapling" then minetest.log("action", "A bush sapling grows into a bush at ".. minetest.pos_to_string(pos)) default.grow_bush(pos) elseif node.name == "default:acacia_bush_sapling" then minetest.log("action", "An acacia bush sapling grows into a bush at ".. minetest.pos_to_string(pos)) default.grow_acacia_bush(pos) elseif node.name == "default:palmtree_sapling" then minetest.log("action", "A palm tree sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_palm_tree(pos) elseif node.name == "default:baobab_sapling" then minetest.log("action", "A baobab tree sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_baobab_tree(pos) elseif node.name == "default:ipe_sapling" then minetest.log("action", "A yellow ipe tree sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_ipe_tree(pos) elseif node.name == "default:big_pine_sapling" then minetest.log("action", "A big pine tree sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_big_pine_tree(pos) elseif node.name == "default:willow_sapling" then minetest.log("action", "A willow tree sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_willow_tree(pos) elseif node.name == "default:bamboo_sapling" then minetest.log("action", "A bamboo sapling grows into a tree at ".. minetest.pos_to_string(pos)) default.grow_new_bamboo_tree(pos) end end, }) minetest.register_craftitem("tools:superpick", { description = "Super Pickaxe", inventory_image = "default_tool_diamondpick.png^[colorize:red:100", liquids_pointable = true, on_use = function(item, placer, pointed_thing) if pointed_thing.under == nil then return end if minetest.get_node(pointed_thing.under) ~= nil then minetest.remove_node(pointed_thing.under) end end, }) minetest.register_tool("tools:bigstone_sword", { description = "Big Stone Sword", inventory_image = "tools_bigstone_sword.png", wield_scale = {x=2, y=2, z=2}, tool_capabilities = { full_punch_interval = 1.2, max_drop_level=0, groupcaps={ snappy={times={[2]=1.4, [3]=0.40}, uses=25, maxlevel=1}, }, damage_groups = {fleshy=5, choppy=4}, }, sound = {breaks = "default_tool_breaks"}, }) minetest.register_tool("tools:big_iron_battleaxe", { description = "Big Iron Battleaxe", inventory_image = "tools_big_iron_battleaxe.png", wield_scale = {x=2, y=2, z=2}, tool_capabilities = { full_punch_interval = 1.2, max_drop_level=0, groupcaps={ snappy={times={[2]=1.4, [3]=0.40}, uses=25, maxlevel=1}, }, damage_groups = {fleshy=5, choppy=4}, }, sound = {breaks = "default_tool_breaks"}, }) minetest.register_tool("tools:sword_crystal", { description = "Crystal Sword", inventory_image = "tools_sword_crystal.png", wield_scale = {x=2, y=2, z=2}, tool_capabilities = { full_punch_interval = 1.2, max_drop_level=0, groupcaps={ snappy={times={[2]=1.4, [3]=0.40}, uses=25, maxlevel=1}, }, damage_groups = {fleshy=5, choppy=4}, }, sound = {breaks = "default_tool_breaks"}, }) minetest.register_craftitem("tools:gameboy", { description = "GameBoy", inventory_image = "tools_gameboy.png", })