From 4cfa301cea3ea571c2c696a67aefa1b3d16ab7ac Mon Sep 17 00:00:00 2001 From: Duane Date: Sun, 10 Jul 2016 05:57:36 -0500 Subject: [PATCH] Add apple pie. Allow digging bombs. --- nodes.lua | 42 ++++++++++++++++++++++ spec_bomb.lua | 25 +++++++++++-- textures/fun_caves_apple_pie.png | Bin 0 -> 2248 bytes textures/fun_caves_apple_pie_slice.png | Bin 0 -> 2134 bytes textures/fun_caves_apple_pie_uncooked.png | Bin 0 -> 2231 bytes 5 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 textures/fun_caves_apple_pie.png create mode 100644 textures/fun_caves_apple_pie_slice.png create mode 100644 textures/fun_caves_apple_pie_uncooked.png diff --git a/nodes.lua b/nodes.lua index aa18029..9dfbea7 100644 --- a/nodes.lua +++ b/nodes.lua @@ -229,3 +229,45 @@ minetest.register_craft({ {'fun_caves:dry_fiber', '', 'fun_caves:dry_fiber'}, } }) + +minetest.register_craftitem("fun_caves:apple_pie_slice", { + description = "Apple Pie", + inventory_image = "fun_caves_apple_pie_slice.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craft({ + output = 'fun_caves:apple_pie_slice 6', + type = 'shapeless', + recipe = { + 'fun_caves:apple_pie', + } +}) + +minetest.register_craftitem("fun_caves:apple_pie", { + description = "Apple Pie", + inventory_image = "fun_caves_apple_pie.png", +}) + +minetest.register_craftitem("fun_caves:apple_pie_uncooked", { + description = "Uncooked Apple Pie", + inventory_image = "fun_caves_apple_pie_uncooked.png", +}) + +minetest.register_craft({ + output = 'fun_caves:apple_pie_uncooked', + type = 'shapeless', + recipe = { + 'default:apple', + 'default:apple', + 'farming:flour', + 'mobs:honey', + } +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 15, + output = "fun_caves:apple_pie", + recipe = "fun_caves:apple_pie_uncooked" +}) diff --git a/spec_bomb.lua b/spec_bomb.lua index 967c185..549c9e2 100644 --- a/spec_bomb.lua +++ b/spec_bomb.lua @@ -59,7 +59,7 @@ local function floor(pos, blocks, node_name, user_name) p.x = pos.x + x local node = minetest.get_node_or_nil(p) - if node and node.name == 'air' and not minetest.is_protected(p, user_name) then + if node and (node.name == 'air' or node.name == 'default:water_source') and not minetest.is_protected(p, user_name) then minetest.set_node(p, {name = node_name}) count = count + 1 if count > blocks then @@ -83,16 +83,26 @@ for _, node in pairs(nodes) do end local newnode = fun_caves.clone_node(node_name) local _, d_name = node_name:match('(.*:)(.*)') + local bomb_name = "fun_caves:"..d_name..'_bomb' local d_name_u = d_name:gsub("(%l)(%w*)", function(a,b) return string.upper(a)..b end) newnode.description = d_name_u.." Bomb" + newnode.tiles = {'tnt_top.png', 'tnt_bottom.png', newnode.tiles[1]} newnode.inventory_image = '[inventorycube{tnt_top.png{'..node_texture..'{tnt_side.png' + newnode.drop = bomb_name newnode.on_punch = function(pos, node, puncher, pointed_thing) + if puncher:get_wielded_item():get_name() ~= "default:torch" then + return + end minetest.after(5, function() + local pos_node = minetest.get_node_or_nil(pos) + if pos_node.name ~= bomb_name then + return + end disintigrate(pos, 5, node_name, puncher:get_player_name(), comp) minetest.remove_node(pos) end) end - minetest.register_node("fun_caves:"..d_name..'_bomb', newnode) + minetest.register_node(bomb_name, newnode) minetest.register_craft({ output = "fun_caves:"..d_name..'_bomb', @@ -115,18 +125,27 @@ for _, node in pairs(nodes) do node_texture = node_texture[1] end local _, d_name = node_name:match('(.*:)(.*)') + local bomb_name = "fun_caves:"..d_name..'_floor_bomb' local d_name_u = d_name:gsub("(%l)(%w*)", function(a,b) return string.upper(a)..b end) local newnode = fun_caves.clone_node(node_name) newnode.description = d_name_u.." Floor Bomb" newnode.inventory_image = '[inventorycube{'..node_texture..'{'..node_texture..'{'..node_texture..'^fun_caves_expand.png' + newnode.drop = bomb_name newnode.on_punch = function(pos, node, puncher, pointed_thing) + if puncher:get_wielded_item():get_name() ~= "default:torch" then + return + end minetest.after(5, function() + local pos_node = minetest.get_node_or_nil(pos) + if pos_node.name ~= bomb_name then + return + end floor(pos, 100, node_name, puncher:get_player_name()) minetest.set_node(pos, {name = node_name}) end) end - minetest.register_node("fun_caves:"..d_name..'_floor_bomb', newnode) + minetest.register_node(bomb_name, newnode) if not minetest.registered_items[comp] then newnode = fun_caves.clone_node(node_name) diff --git a/textures/fun_caves_apple_pie.png b/textures/fun_caves_apple_pie.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2eca9318921c201b1f88ee0348d179b7f7571d GIT binary patch literal 2248 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 FV1iRTLOK8d literal 0 HcmV?d00001