From c3b26a9b55054de201b593a695740d86b0805c9d Mon Sep 17 00:00:00 2001 From: cale Date: Tue, 12 Jan 2016 18:41:55 +0100 Subject: [PATCH] updated furnace and added some things to farming mod --- mods/farming/depends.txt | 1 + mods/farming/depends.txt~ | 1 + mods/farming/init.lua | 62 ++++++++++++++++++ mods/farming/init.lua~ | 62 ++++++++++++++++++ mods/farming/textures/farming_bowl.png | Bin 0 -> 280 bytes .../textures/farming_bowl_with_water.png | Bin 0 -> 278 bytes .../textures/farming_slice_of_bread.png | Bin 0 -> 287 bytes mods/farming/textures/farming_sugar.png | Bin 0 -> 233 bytes mods/furnace/depends.txt | 1 + mods/furnace/depends.txt~ | 1 + mods/furnace/init.lua | 62 ++++++++++++++---- mods/furnace/init.lua~ | 62 ++++++++++++++---- 12 files changed, 224 insertions(+), 28 deletions(-) create mode 100644 mods/farming/depends.txt create mode 100644 mods/farming/depends.txt~ create mode 100644 mods/farming/textures/farming_bowl.png create mode 100644 mods/farming/textures/farming_bowl_with_water.png create mode 100644 mods/farming/textures/farming_slice_of_bread.png create mode 100644 mods/farming/textures/farming_sugar.png create mode 100644 mods/furnace/depends.txt create mode 100644 mods/furnace/depends.txt~ diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/farming/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/farming/depends.txt~ b/mods/farming/depends.txt~ new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/farming/depends.txt~ @@ -0,0 +1 @@ +default diff --git a/mods/farming/init.lua b/mods/farming/init.lua index 06cf4b9..14b954b 100644 --- a/mods/farming/init.lua +++ b/mods/farming/init.lua @@ -44,7 +44,69 @@ farming.register_plant("wheat", 5, { drop_texture = "farming_wheat_seeds.png", }) +minetest.override_item("default:plant_grass", {drop = { + max_items = 1, + items = { + {items = {'farming:wheat_seeds'},rarity = 5}, + {items = {'default:plant_grass'}}, + } +}}) + minetest.register_craftitem("farming:flour", { description = "Flour", inventory_image = "farming_flour.png", }) + +minetest.register_craftitem("farming:sugar", { + description = "Sugar", + inventory_image = "farming_sugar.png", +}) + +minetest.register_craftitem("farming:bowl", { + description = "Bowl", + inventory_image = "farming_bowl.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.above then + if minetest.get_node(pointed_thing.under).name == "default:water_source" then + itemstack:replace("farming:bowl_with_water") + end + end + return itemstack + end, +}) + +minetest.register_craftitem("farming:bowl_with_water", { + description = "Bowl with Water", + inventory_image = "farming_bowl_with_water.png", + stack_max = 1, +}) + +minetest.register_craftitem("farming:slice_of_bread", { + description = "Slice of Bread", + inventory_image = "farming_slice_of_bread.png", + on_use = minetest.item_eat(5), +}) + + + +minetest.register_craft({ + type = "shapeless", + output = "farming:flour", + recipe = {"farming:wheat_seeds", "farming:wheat_seeds", "farming:wheat_seeds"} +}) + +minetest.register_craft({ + output = "farming:bowl", + recipe = { + {"default:wood", "", "default:wood"}, + {"", "default:wood", ""}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:slice_of_bread 10", + recipe = {"farming:flour", "farming:flour", "farming:bowl_with_water"} +}) diff --git a/mods/farming/init.lua~ b/mods/farming/init.lua~ index 06cf4b9..14b954b 100644 --- a/mods/farming/init.lua~ +++ b/mods/farming/init.lua~ @@ -44,7 +44,69 @@ farming.register_plant("wheat", 5, { drop_texture = "farming_wheat_seeds.png", }) +minetest.override_item("default:plant_grass", {drop = { + max_items = 1, + items = { + {items = {'farming:wheat_seeds'},rarity = 5}, + {items = {'default:plant_grass'}}, + } +}}) + minetest.register_craftitem("farming:flour", { description = "Flour", inventory_image = "farming_flour.png", }) + +minetest.register_craftitem("farming:sugar", { + description = "Sugar", + inventory_image = "farming_sugar.png", +}) + +minetest.register_craftitem("farming:bowl", { + description = "Bowl", + inventory_image = "farming_bowl.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.above then + if minetest.get_node(pointed_thing.under).name == "default:water_source" then + itemstack:replace("farming:bowl_with_water") + end + end + return itemstack + end, +}) + +minetest.register_craftitem("farming:bowl_with_water", { + description = "Bowl with Water", + inventory_image = "farming_bowl_with_water.png", + stack_max = 1, +}) + +minetest.register_craftitem("farming:slice_of_bread", { + description = "Slice of Bread", + inventory_image = "farming_slice_of_bread.png", + on_use = minetest.item_eat(5), +}) + + + +minetest.register_craft({ + type = "shapeless", + output = "farming:flour", + recipe = {"farming:wheat_seeds", "farming:wheat_seeds", "farming:wheat_seeds"} +}) + +minetest.register_craft({ + output = "farming:bowl", + recipe = { + {"default:wood", "", "default:wood"}, + {"", "default:wood", ""}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:slice_of_bread 10", + recipe = {"farming:flour", "farming:flour", "farming:bowl_with_water"} +}) diff --git a/mods/farming/textures/farming_bowl.png b/mods/farming/textures/farming_bowl.png new file mode 100644 index 0000000000000000000000000000000000000000..48b07656dd58f0c10825c92abdb0ca5ee8305655 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNBafi8h2giknLr`Q64!_l=ltB<)VvY~=c3falGGH1 z^30M91$R&1fbd2>aiF3GPZ!4!i_^&o60D0G8XE;?Zmx|omS$#dW(Hz)ZtiTxU61VR z>--ZE5^kJ3aG>CT@#=5lKsjdaO-y29*XIAoX_ks=$g%8VJRiTeakJ`C7XzM#lf{J_ zlD{(nRUO{5>&}0joHrJ+2ag^+ClGY$RL5n88HzWK{QU7Fz=R*@g)no;Yd@Rg)&bqZ N;OXk;vd$@?2>|wIT)O}O literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_bowl_with_water.png b/mods/farming/textures/farming_bowl_with_water.png new file mode 100644 index 0000000000000000000000000000000000000000..c18267aa212548d396426b499a406ee6dbd9ab52 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNBafggqs7Wi&w)acC9V-A&iT2ysd*&~&PAz-C8;S2 z<(VZJ3hti10pX2&;y^`po-U3d7N?UFBv=Lc)!62M!b*Fkbylyp1u|y6>O*wP!~B*=}q=AeQ3TY5e-(8*#NpiCGDsVr1Uj z*n0p74A$#?x966&_M5%a;)bM?SCnL-6oWC#YzujL`L1V)Obl)=Qd_q*tjY(vgu&C* K&t;ucLK6TK8(H80 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_slice_of_bread.png b/mods/farming/textures/farming_slice_of_bread.png new file mode 100644 index 0000000000000000000000000000000000000000..92daad8151508ace523820f0a3b2ebf545bc5f91 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNBafiC%t8mVEkGg364!_l=ltB<)VvY~=c3falGGH1 z^30M91$R&1fbd2>aiF4hPZ!4!i_^&o5*Y_N&fK(H`_tZVmd)lYNkg6+K+gZ?^Z$2j znmTFVdQ&MBb@0I$bn5dZ)H literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_sugar.png b/mods/farming/textures/farming_sugar.png new file mode 100644 index 0000000000000000000000000000000000000000..226cba992bb5f722ea01d88227259fd9e2d859bb GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNBafgcyQJ{kTRaiF3=PZ!4!i_^&o60D08A{g9qn#$kL`OTlKy;{O>QVPSSv?QLy zLuw~Z9Xog6q-w|Y03PuN!AF3+55KSbuUVJalG&#D=!sCukAH7%V;HUE??y9Rvy(r( U@#~!RK*Je4UHx3vIVCg!0Lv{+j{pDw literal 0 HcmV?d00001 diff --git a/mods/furnace/depends.txt b/mods/furnace/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/furnace/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/furnace/depends.txt~ b/mods/furnace/depends.txt~ new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/furnace/depends.txt~ @@ -0,0 +1 @@ +default diff --git a/mods/furnace/init.lua b/mods/furnace/init.lua index 133b00b..5820f3c 100644 --- a/mods/furnace/init.lua +++ b/mods/furnace/init.lua @@ -1,41 +1,75 @@ +local furnace_form = "size[8,9]" +local furnace_form = furnace_form..default.gui_colors +local furnace_form = furnace_form..default.gui_bg +local furnace_form = furnace_form.."list[current_name;main;2,0.3;4,4;]" +local furnace_form = furnace_form..default.itemslot_bg(2,0.3,4,4) +local furnace_form = furnace_form.."list[current_player;main;0,4.85;8,1;]" +local furnace_form = furnace_form..default.itemslot_bg(0,4.85,8,1) +local furnace_form = furnace_form.."list[current_player;main;0,6.08;8,3;8]" +local furnace_form = furnace_form..default.itemslot_bg(0,6,8,3) + minetest.register_node("furnace:furnace", { description = "Furnace", tiles = {"furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png","furnace_stone_tile.png","furnace_stone_front.png"}, groups = {cracky = 2}, paramtype2 = "facedir", + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec",furnace_form) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("main", 4*4) + end, }) minetest.register_abm({ nodenames = {"furnace:furnace"}, neighbors = {"group:pattern"}, - interval = 1.0, + interval = 10.0, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) - local lavapos = pos - lavapos.y = lavapos.y - 2 - if minetest.get_node(lavapos).name == "lava:lava_source" then - local patternpos = pos - patternpos.y = patternpos.y + 1 - - local p = { - x = pos.x + math.random(0, 5)/5 - 0.5, - y = pos.y + 3, - z = pos.z + math.random(0, 5)/5 - 0.5 - } + local mymeta = minetest.get_meta(pos) + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "lava:lava_source" then + local dir = vector.multiply(minetest.facedir_to_dir(minetest.get_node({x = pos.x, y= pos.y+1, z=pos.z}).param2), -1) + local patternpos = vector.add(pos, dir) local pattern = minetest.get_node(patternpos).name if pattern == "furnace:pattern_rod" then - minetest.add_item(p, {name = "furnace:iron_rod"}) - print("rod") + local myinv = mymeta:get_inventory() + if myinv:contains_item("main", {name = "default:iron_lump"}) then + minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:iron_rod"}) + myinv:remove_item("main", {name = "default:iron_lump"}) + elseif myinv:contains_item("main", {name = "default:gold_lump"}) then + minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:gold_rod"}) + myinv:remove_item("main", {name = "default:gold_lump"}) + end end end end, }) +local pattern_form = "size[8,9]" +local pattern_form = pattern_form..default.gui_colors +local pattern_form = pattern_form..default.gui_bg +local pattern_form = pattern_form.."list[current_name;main;0,0.3;8,4;]" +local pattern_form = pattern_form..default.itemslot_bg(0,0.3,8,4) +local pattern_form = pattern_form.."list[current_player;main;0,4.85;8,1;]" +local pattern_form = pattern_form..default.itemslot_bg(0,4.85,8,1) +local pattern_form = pattern_form.."list[current_player;main;0,6.08;8,3;8]" +local pattern_form = pattern_form..default.itemslot_bg(0,6,8,3) + minetest.register_node("furnace:pattern_rod", { description = "Pattern for a Rod", tiles = {"furnace_pattern_rod.png", "default_wooden_planks.png"}, groups = {snappy = 3, pattern = 1}, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec",pattern_form) + meta:set_string("infotext", "Pattern"); + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, }) diff --git a/mods/furnace/init.lua~ b/mods/furnace/init.lua~ index 133b00b..5820f3c 100644 --- a/mods/furnace/init.lua~ +++ b/mods/furnace/init.lua~ @@ -1,41 +1,75 @@ +local furnace_form = "size[8,9]" +local furnace_form = furnace_form..default.gui_colors +local furnace_form = furnace_form..default.gui_bg +local furnace_form = furnace_form.."list[current_name;main;2,0.3;4,4;]" +local furnace_form = furnace_form..default.itemslot_bg(2,0.3,4,4) +local furnace_form = furnace_form.."list[current_player;main;0,4.85;8,1;]" +local furnace_form = furnace_form..default.itemslot_bg(0,4.85,8,1) +local furnace_form = furnace_form.."list[current_player;main;0,6.08;8,3;8]" +local furnace_form = furnace_form..default.itemslot_bg(0,6,8,3) + minetest.register_node("furnace:furnace", { description = "Furnace", tiles = {"furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png","furnace_stone_tile.png","furnace_stone_front.png"}, groups = {cracky = 2}, paramtype2 = "facedir", + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec",furnace_form) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("main", 4*4) + end, }) minetest.register_abm({ nodenames = {"furnace:furnace"}, neighbors = {"group:pattern"}, - interval = 1.0, + interval = 10.0, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) - local lavapos = pos - lavapos.y = lavapos.y - 2 - if minetest.get_node(lavapos).name == "lava:lava_source" then - local patternpos = pos - patternpos.y = patternpos.y + 1 - - local p = { - x = pos.x + math.random(0, 5)/5 - 0.5, - y = pos.y + 3, - z = pos.z + math.random(0, 5)/5 - 0.5 - } + local mymeta = minetest.get_meta(pos) + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "lava:lava_source" then + local dir = vector.multiply(minetest.facedir_to_dir(minetest.get_node({x = pos.x, y= pos.y+1, z=pos.z}).param2), -1) + local patternpos = vector.add(pos, dir) local pattern = minetest.get_node(patternpos).name if pattern == "furnace:pattern_rod" then - minetest.add_item(p, {name = "furnace:iron_rod"}) - print("rod") + local myinv = mymeta:get_inventory() + if myinv:contains_item("main", {name = "default:iron_lump"}) then + minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:iron_rod"}) + myinv:remove_item("main", {name = "default:iron_lump"}) + elseif myinv:contains_item("main", {name = "default:gold_lump"}) then + minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:gold_rod"}) + myinv:remove_item("main", {name = "default:gold_lump"}) + end end end end, }) +local pattern_form = "size[8,9]" +local pattern_form = pattern_form..default.gui_colors +local pattern_form = pattern_form..default.gui_bg +local pattern_form = pattern_form.."list[current_name;main;0,0.3;8,4;]" +local pattern_form = pattern_form..default.itemslot_bg(0,0.3,8,4) +local pattern_form = pattern_form.."list[current_player;main;0,4.85;8,1;]" +local pattern_form = pattern_form..default.itemslot_bg(0,4.85,8,1) +local pattern_form = pattern_form.."list[current_player;main;0,6.08;8,3;8]" +local pattern_form = pattern_form..default.itemslot_bg(0,6,8,3) + minetest.register_node("furnace:pattern_rod", { description = "Pattern for a Rod", tiles = {"furnace_pattern_rod.png", "default_wooden_planks.png"}, groups = {snappy = 3, pattern = 1}, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec",pattern_form) + meta:set_string("infotext", "Pattern"); + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, })