From d18e98bfa2a537bd8f580b0635ae85e77b2997e9 Mon Sep 17 00:00:00 2001 From: Duane Date: Thu, 7 Jul 2016 04:52:36 -0500 Subject: [PATCH] Make the liquid recipes work without functions. --- elixir.lua | 50 +++++++++++------------------ fungal_tree.lua | 60 +++-------------------------------- mobs.lua | 2 +- spec_bomb.lua | 6 ++-- textures/fun_caves_amber.png | Bin 0 -> 659 bytes treegen.lua | 21 ++++++++++++ 6 files changed, 48 insertions(+), 91 deletions(-) create mode 100644 textures/fun_caves_amber.png 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 0000000000000000000000000000000000000000..fee1682f6c2a6bb1e36adb5d10385cce23499fd5 GIT binary patch literal 659 zcmV;E0&M+>P)|w4@vRBWYJ|&w3s63GEdw$$uk6K`h#xz0O_qej_r|1b#ZN{ zhy-l}eE@lmDDU6D`x%7ZgVq}KpabqBB1WwzPNxHz$u#XTD}VqU5VY18pd(_GQa}s= zYQ4~V;65|YkEkl=^S?y2dl;Y`kDpkUZ@4X0Ap%4cfZl`N12e}=faG}m`^)=?imIZj z>~=pcW&^|Uz&Os=a=~om&6{`2!^0!0g@{H(C8DC!v?rpGnLI!Ly1sh#w73tL4X7Gs zg>jsy^{@5y>z@`gXBcLtY0ot6QTKt&PDG{FGl#>6br`-~Zd}Y95ktf{o&H>RyQf7} za363VP(g5a%nBk##0%^CVclSHhXtM9gTvwD3Uc3tE38sBJ+)qdywlF?lwxFdYCRKC zF&nt&05UtOP>K;@WCXRIxm*%R+-CqTm(TQ`xDR&=GN;ve*bpK>|_S5Ra$FAym0vE!#dC3FWXnX zGN|>1%tTcY5mb%y>5p}T8&?bECX(mpkL#^%fN~3Gb|5z}<{*ZukeOsAAc)xgUu<_! tZsVyMn}x5&IrGHv_~|~*U&7l&{s*Zw77|G$8N2`h002ovPDHLkV1i4gF6{sS literal 0 HcmV?d00001 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",