diff --git a/elixir.lua b/elixir.lua index 5808ed9..fdb716e 100644 --- a/elixir.lua +++ b/elixir.lua @@ -91,37 +91,23 @@ if fun_caves.elixir_armor then end, }) - for _, solvent in pairs({'mobs_slimes:green_slimeball', 'fun_caves:bucket_sap'}) do - minetest.register_craft({ - type = "shapeless", - output = 'fun_caves:liquid_'..name, - recipe = { - solvent, - desc[3], - "vessels:glass_bottle", - }, - }) - end + minetest.register_craft({ + type = "shapeless", + output = 'fun_caves:liquid_'..name, + recipe = { + 'mobs_slimes:green_slimeball', + desc[3], + "vessels:glass_bottle", + }, + }) + + minetest.register_craft({ + type = "shapeless", + output = 'fun_caves:liquid_'..name, + recipe = { + 'fun_caves:syrup', + desc[3], + }, + }) end - - minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) - local name = itemstack:get_name() - if not (name and name:find('^fun_caves:liquid_')) then - return - end - - local bucket - local index - for i = 1, player:get_inventory():get_size("craft") do - if (old_craft_grid[i]:get_name()):find('^fun_caves:bucket') then - bucket = old_craft_grid[i] - index = i - end - end - if not bucket then - return - end - - craft_inv:set_stack("craft", index, 'bucket:bucket_empty') - end) end diff --git a/fungal_tree.lua b/fungal_tree.lua index e3f3e58..436243b 100644 --- a/fungal_tree.lua +++ b/fungal_tree.lua @@ -156,64 +156,12 @@ minetest.register_craft({ 'group:water_bucket', 'group:bowl', }, + replacements = { + {'bucket:bucket_water', 'bucket:bucket_water'}, + {'bucket:bucket_river_water', 'bucket:bucket_river_water'}, + }, }) --- complicated function to keep from wasting water... ---minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) --- if itemstack:get_name() ~= "fun_caves:disgusting_gruel_raw" then --- return --- end --- --- local bucket --- local index --- for i = 1, player:get_inventory():get_size("craft") do --- if (old_craft_grid[i]:get_name()):find('^bucket') then --- bucket = old_craft_grid[i] --- index = i --- end --- end --- if not bucket then --- return --- end --- --- local data = minetest.deserialize(bucket:get_metadata()) --- if not data then --- data = {} --- end --- if not data.gruels then --- data.gruels = 20 --- end --- data.gruels = data.gruels - 1 --- if data.gruels > 0 then --- bucket:set_metadata(minetest.serialize(data)) --- craft_inv:set_stack("craft", index, bucket) --- else --- craft_inv:set_stack("craft", index, 'bucket:bucket_empty') --- end ---end) - --- less complicated function to keep from wasting water... --- Just return the bucket and don't worry about it. -minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) - if itemstack:get_name() ~= "fun_caves:disgusting_gruel_raw" then - return - end - - local bucket - local index - for i = 1, player:get_inventory():get_size("craft") do - if (old_craft_grid[i]:get_name()):find('^bucket') then - bucket = old_craft_grid[i] - index = i - end - end - if not bucket then - return - end - - craft_inv:set_stack("craft", index, bucket) -end) - minetest.register_craftitem("fun_caves:wooden_bowl", { description = "Wooden Bowl", drawtype = "plantlike", diff --git a/mobs.lua b/mobs.lua index 14b9b77..ec762fa 100644 --- a/mobs.lua +++ b/mobs.lua @@ -388,7 +388,7 @@ if minetest.registered_entities["mobs:bee"] then drops = { {name = "mobs:honey", chance = 2, min = 1, max = 2}, }, - water_damage = 1, + water_damage = 0, lava_damage = 5, light_damage = 0, fall_damage = 0, diff --git a/spec_bomb.lua b/spec_bomb.lua index c0e1ef4..96abcc4 100644 --- a/spec_bomb.lua +++ b/spec_bomb.lua @@ -72,7 +72,8 @@ local function floor(pos, blocks, node_name, user) end -local nodes = {{'fun_caves:pyramid_1', 'default:sandstone'},} +-- Bombs +local nodes = {{'fun_caves:pyramid_1', 'default:sandstone'}, {'fun_caves:tree', 'fun_caves:tree'},} for _, node in pairs(nodes) do local node_name = node[1] local comp = node[2] or node_name @@ -104,7 +105,8 @@ for _, node in pairs(nodes) do end -local nodes = {{'default:sandstone', 'default:sandstone'},} +-- Floor bombs +local nodes = {{'default:sandstone', 'default:sandstone'}, {'default:wood', 'default:wood'},} for _, node in pairs(nodes) do local node_name = node[1] local comp = node[2] or node_name diff --git a/textures/fun_caves_amber.png b/textures/fun_caves_amber.png new file mode 100644 index 0000000..fee1682 Binary files /dev/null and b/textures/fun_caves_amber.png differ diff --git a/treegen.lua b/treegen.lua index df6c4d3..fa64ff2 100644 --- a/treegen.lua +++ b/treegen.lua @@ -150,6 +150,20 @@ bucket.register_liquid( {} ) +minetest.register_node("fun_caves:amber", { + description = "Amber", + drawtype = "glasslike", + paramtype = "light", + sunlight_propagates = true, + tiles = {"fun_caves_amber.png"}, + inventory_image = minetest.inventorycube("fun_caves_amber.png"), + light_source = 1, + use_texture_alpha = true, + is_ground_content = false, + groups = {cracky = 3, level=2}, + sounds = default.node_sound_stone_defaults(), +}) + minetest.register_node("fun_caves:syrup", { description = "Syrup", drawtype = "plantlike", @@ -257,6 +271,13 @@ minetest.register_craft({ replacements = {{'fun_caves:bucket_sap', 'bucket:bucket_empty'},}, }) +minetest.register_craft({ + type = "cooking", + output = "fun_caves:amber", + recipe = "fun_caves:bucket_sap", + replacements = {{'fun_caves:bucket_sap', 'bucket:bucket_empty'},}, +}) + --minetest.register_craft( { -- output = "vessels:glass_bottle 10",