fun_caves.armor_expire = {} local function armor(user, factor) local player_name = user:get_player_name() user:set_armor_groups({fleshy=factor}) --print(dump(user:get_armor_groups())) minetest.chat_send_player(player_name, 'Your skin feels harder...') fun_caves.armor_expire[player_name] = minetest.get_gametime() + 3600 end local descs = { {'wood', 95, 'group:wood'}, {'stone', 90, 'group:stone'}, {'steel', 80, 'default:steel_ingot'}, {'copper', 85, 'default:copper_ingot'}, {'bronze', 70, 'default:bronze_ingot'}, {'gold', 60, 'default:gold_ingot'}, {'diamond', 50, 'default:diamond'}, {'silver', 40, 'fun_caves:silver_ingot'}, {'mese', 30, 'default:mese_crystal'}, --{'', 20, ''}, --{'adamant', 10, 'fun_caves:adamant'}, } for _, desc in pairs(descs) do local name = desc[1] local value = desc[2] local cap = name:gsub('^%l', string.upper) minetest.register_craftitem("fun_caves:liquid_"..name, { description = 'Dr Robertson\'s Patented Liquid '..cap..' Elixir', drawtype = "plantlike", paramtype = "light", tiles = {'fun_caves_liquid_'..name..'.png'}, inventory_image = 'fun_caves_liquid_'..name..'.png', groups = {dig_immediate = 3, vessel = 1}, sounds = default.node_sound_glass_defaults(), on_use = function(itemstack, user, pointed_thing) armor(user, value) itemstack:take_item() return itemstack end, }) minetest.register_craft({ type = "shapeless", output = 'fun_caves:liquid_'..name, recipe = { "mobs_slimes:green_slimeball", desc[3], "vessels:glass_bottle", }, }) end