From 8311c7d87d816ed21f51fad73614137136553dfd Mon Sep 17 00:00:00 2001 From: kilbith Date: Mon, 11 May 2015 14:02:57 +0200 Subject: [PATCH] Add soda vending machine --- homedecor/crafts.lua | 38 ++++++++++++++++++ homedecor/misc-nodes.lua | 32 +++++++++++++++ homedecor/models/homedecor_soda_machine.obj | 34 ++++++++++++++++ homedecor/sounds/insert_coin.ogg | Bin 0 -> 9497 bytes homedecor/textures/homedecor_coin.png | Bin 0 -> 331 bytes homedecor/textures/homedecor_soda_can.png | Bin 0 -> 177 bytes homedecor/textures/homedecor_soda_machine.png | Bin 0 -> 1398 bytes 7 files changed, 104 insertions(+) create mode 100644 homedecor/models/homedecor_soda_machine.obj create mode 100644 homedecor/sounds/insert_coin.ogg create mode 100644 homedecor/textures/homedecor_coin.png create mode 100644 homedecor/textures/homedecor_soda_can.png create mode 100644 homedecor/textures/homedecor_soda_machine.png diff --git a/homedecor/crafts.lua b/homedecor/crafts.lua index eac206af..45e0c345 100644 --- a/homedecor/crafts.lua +++ b/homedecor/crafts.lua @@ -118,6 +118,17 @@ minetest.register_craftitem("homedecor:chainlink_brass", { inventory_image = "homedecor_chainlink_brass.png" }) +minetest.register_craftitem("homedecor:soda_can", { + description = "Soda Can", + inventory_image = "homedecor_soda_can.png", + on_use = minetest.item_eat(2), +}) + +minetest.register_craftitem("homedecor:coin", { + description = "Gold Coin", + inventory_image = "homedecor_coin.png", +}) + -- alternate crafting if mesecons is/isn't installed if not minetest.get_modpath("mesecons") then @@ -3198,6 +3209,33 @@ minetest.register_craft({ }, }) +minetest.register_craft({ + output = "homedecor:soda_machine", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "dye:red", "default:steel_ingot"}, + {"default:steel_ingot", "default:copperblock", "default:steel_ingot"}, + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:coin 5", + recipe = {"moreblocks:micro_goldblock_1", "default:sword_stone"} +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:coin 15", + recipe = {"default:gold_ingot", "default:sword_steel"} +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:coin 50", + recipe = {"default:goldblock", "default:sword_mese"} +}) + for i in ipairs(homedecor.banister_materials) do local name = homedecor.banister_materials[i][1] diff --git a/homedecor/misc-nodes.lua b/homedecor/misc-nodes.lua index 72c52526..1a02e198 100644 --- a/homedecor/misc-nodes.lua +++ b/homedecor/misc-nodes.lua @@ -828,3 +828,35 @@ minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack end end) +local svm_cbox = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5} +} + +homedecor.register("soda_machine", { + description = "Soda Vending Machine", + mesh = "homedecor_soda_machine.obj", + tiles = {"homedecor_soda_machine.png"}, + groups = {snappy=3}, + selection_box = svm_cbox, + collision_box = svm_cbox, + expand = { top="air" }, + sounds = default.node_sound_wood_defaults(), + on_punch = function(pos, node, puncher, pointed_thing) + local wielditem = puncher:get_wielded_item() + local wieldname = wielditem:get_name() + local fdir_to_fwd = { {0, -1}, {-1, 0}, {0, 1}, {1, 0} } + local fdir = node.param2 + local pos_drop = { x=pos.x+fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+fdir_to_fwd[fdir+1][2] } + if wieldname == "homedecor:coin" then + wielditem:take_item() + puncher:set_wielded_item(wielditem) + minetest.spawn_item(pos_drop, "homedecor:soda_can") + minetest.sound_play("insert_coin", { + pos=pos, max_hear_distance = 5 + }) + else + minetest.chat_send_player(puncher:get_player_name(), "Please insert a coin in the machine.") + end + end +}) diff --git a/homedecor/models/homedecor_soda_machine.obj b/homedecor/models/homedecor_soda_machine.obj new file mode 100644 index 00000000..66d651f6 --- /dev/null +++ b/homedecor/models/homedecor_soda_machine.obj @@ -0,0 +1,34 @@ +# Blender v2.72 (sub 0) OBJ File: '' +# www.blender.org +mtllib vending_machine.mtl +o Cube +v 0.499998 -0.499998 -0.499998 +v 0.499998 -0.499998 0.499998 +v -0.499998 -0.499998 0.499998 +v -0.499998 -0.499998 -0.499998 +v 0.499998 1.499994 -0.499998 +v 0.499998 1.499994 0.499998 +v -0.499998 1.499994 0.499998 +v -0.499998 1.499994 -0.499998 +vt 0.250050 0.250050 +vt 0.000100 0.250050 +vt 0.000100 0.000100 +vt 0.250050 0.000100 +vt 0.250050 0.749950 +vt 0.250050 0.999900 +vt 0.000100 0.999900 +vt 0.000100 0.749950 +vt 0.999900 0.250049 +vt 0.999900 0.749949 +vt 0.749950 0.749950 +vt 0.749950 0.250050 +vt 0.500000 0.749950 +vt 0.500000 0.250050 +usemtl Material +s off +f 1/1 2/2 3/3 4/4 +f 5/5 8/6 7/7 6/8 +f 1/1 5/5 6/8 2/2 +f 2/9 6/10 7/11 3/12 +f 3/12 7/11 8/13 4/14 +f 5/5 1/1 4/14 8/13 diff --git a/homedecor/sounds/insert_coin.ogg b/homedecor/sounds/insert_coin.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2ee99d5f2cbee84141c0d6be0235a61b4ce0e348 GIT binary patch literal 9497 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 V><;EhwR=Ee;_2$=vd$@?2>=lhhAjX9 literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_soda_can.png b/homedecor/textures/homedecor_soda_can.png new file mode 100644 index 0000000000000000000000000000000000000000..2797b6e2934ce09fc0c865af4f1dfae64161d234 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=2up=FFLyK$3xB=FFM@ z|1S5deoO^QGnNGT1v5B2yO9RuIC{D`hHzX@c3^69U|1x%oNa10SA)bc zy{D@L+ProdwLD}=-jU)U;pQc2u#zWyMUsRw=P3gwql8@{tPjEt=mKqI|G<|bahh)~ P&@cv1S3j3^P6RvZU literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_soda_machine.png b/homedecor/textures/homedecor_soda_machine.png new file mode 100644 index 0000000000000000000000000000000000000000..82f0ab90efb91852a1c1f2f626459f1a3dd6c874 GIT binary patch literal 1398 zcmV-+1&R8JP)*U7G+@h@1ZhFyHT+T^R2o4Iw2M61Hg@GIz=i}+$vANfinBt9-*^83T zdxX$6K}IAZ;TaRG4Gr1K&Dy%dyt}#Kc6-iobkbdB#w#zyA09~-6ITxoG7b%g2MFHN z+1}08<)x_MmYL**f}(wQ+FNJVP+!$ILCQWr)+jO6BOuQc9=aG7XAlt22nOoc)#tIb z*`lMA92q4Q64?_FeF_P;2MFP-x7o6^(w?i%g^az7isNQv-!(CbC@bF$2g$LpvZke> zY-+GjPMJnSq$41{mzBYJcyDrTy=rCTPDr^*M>aP!ZX_eICl*zmt&>|=OK2xCo51r}os1s*?nUVp2bN!^$0i#Mm!L=IL7Kw~`Q7|7M!TwP~0{q3z?aF3p zbTL$OlICcZ;wXy7Ehd6UfFOi*OE8IVp(~96zj{$@53b=16kMypE1QY%WZyVjlLl9E z4-^5&md>C+%}E-LpM_r({N|=J*j}~m3a;2G>U<$f11gWK}?=)-$8Cu#KW;U01vdQ1d3=PaMl*=^@s+?^KG<^m;WXDHd%2 zMYAkN&o*&OaIYOMoO=RD;A$S%rC}H3O4ny`%Z-9-G%)RW2+MZR?Q|glyaZX2+OfMf zD8mM7PSWUo0FHn|CFqGD?6ECb>^93XK0;G2Gz+b-t-MFKS^Su}nl4Ik8G4^Ra2@``y=bRt3i=m`EjgMtJKuDu5td#oe+r-ELsExqKoTQ{Pza)&kJ+GT<{+W{_^Gg6At>a#f