From 2981890e6d2b7222f6e6a857a222a5bbf9050ad5 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Wed, 13 Aug 2014 11:15:57 -0400 Subject: [PATCH] add well --- homedecor/crafts.lua | 9 ++ homedecor/misc-nodes.lua | 127 ++++++++++++++++++ homedecor/textures/homedecor_well_inv.png | Bin 0 -> 5290 bytes .../textures/homedecor_well_roof_side1.png | Bin 0 -> 681 bytes .../textures/homedecor_well_roof_side2.png | Bin 0 -> 674 bytes .../textures/homedecor_well_roof_side3.png | Bin 0 -> 664 bytes .../textures/homedecor_well_roof_top.png | Bin 0 -> 629 bytes .../textures/homedecor_well_roof_wood.png | Bin 0 -> 629 bytes 8 files changed, 136 insertions(+) create mode 100644 homedecor/textures/homedecor_well_inv.png create mode 100644 homedecor/textures/homedecor_well_roof_side1.png create mode 100644 homedecor/textures/homedecor_well_roof_side2.png create mode 100644 homedecor/textures/homedecor_well_roof_side3.png create mode 100644 homedecor/textures/homedecor_well_roof_top.png create mode 100644 homedecor/textures/homedecor_well_roof_wood.png diff --git a/homedecor/crafts.lua b/homedecor/crafts.lua index b20b1911..2c733653 100644 --- a/homedecor/crafts.lua +++ b/homedecor/crafts.lua @@ -2394,3 +2394,12 @@ minetest.register_craft( { { "farming:string", "", "farming:string" } }, }) + +minetest.register_craft( { + output = "homedecor:well_base", + recipe = { + { "homedecor:shingles_wood", "homedecor:shingles_wood", "homedecor:shingles_wood" }, + { "group:wood", "group:stick", "group:wood" }, + { "default:cobble", "", "default:cobble" } + }, +}) diff --git a/homedecor/misc-nodes.lua b/homedecor/misc-nodes.lua index a48912ba..d970f49f 100644 --- a/homedecor/misc-nodes.lua +++ b/homedecor/misc-nodes.lua @@ -944,3 +944,130 @@ minetest.register_node("homedecor:cobweb", { end }) +minetest.register_node("homedecor:well_base", { + tiles = { "default_cobble.png" }, + inventory_image = "homedecor_well_inv.png", + description = "Water well", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = { snappy = 3 }, + node_box = { + type = "fixed", + fixed = { + {-0.3125, -0.5, -0.4375, 0.3125, 0.5, -0.3125}, -- NodeBox1 + {0.3125, -0.5, -0.3125, 0.4375, 0.5, 0.3125}, -- NodeBox2 + {-0.4375, -0.5, -0.3125, -0.3125, 0.5, 0.3125}, -- NodeBox3 + {-0.3125, -0.5, 0.3125, 0.3125, 0.5, 0.4375}, -- NodeBox4 + {0.25, -0.5, -0.375, 0.375, 0.5, -0.25}, -- NodeBox5 + {0.25, -0.5, 0.25, 0.375, 0.5, 0.375}, -- NodeBox6 + {-0.375, -0.5, -0.375, -0.25, 0.5, -0.25}, -- NodeBox7 + {-0.375, -0.5, 0.25, -0.25, 0.5, 0.375}, -- NodeBox8 + {-0.3125, -0.5, -0.5, 0.3125, -0.3125, -0.4375}, -- NodeBox9 + {0.4375, -0.5, -0.3125, 0.5, -0.3125, 0.3125}, -- NodeBox10 + {-0.3125, -0.5, 0.4375, 0.3125, -0.3125, 0.5}, -- NodeBox11 + {-0.5, -0.5, -0.3125, -0.4375, -0.3125, 0.3125}, -- NodeBox12 + {0.3125, -0.5, -0.4375, 0.4375, -0.3125, -0.3125}, -- NodeBox13 + {0.3125, -0.5, 0.3125, 0.4375, -0.3125, 0.4375}, -- NodeBox14 + {-0.4375, -0.5, 0.3125, -0.3125, -0.3125, 0.4375}, -- NodeBox15 + {-0.4375, -0.5, -0.4375, -0.3125, -0.3125, -0.3125}, -- NodeBox16 + } + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } + }, + on_place = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.under + local pnode = minetest.get_node(pointed_thing.under) + local rnodedef = minetest.registered_nodes[pnode.name] + + if not rnodedef["buildable_to"] then + pos = pointed_thing.above + end + + local fdir = minetest.dir_to_facedir(placer:get_look_dir()) + local pos2 = { x = pos.x, y=pos.y + 1, z = pos.z } + + local tnode = minetest.get_node(pos) + local tnode2 = minetest.get_node(pos2) + + if homedecor.get_nodedef_field(tnode.name, "buildable_to") + and homedecor.get_nodedef_field(tnode2.name, "buildable_to") + and not minetest.is_protected(pos, placer:get_player_name()) + and not minetest.is_protected(pos2, placer:get_player_name()) then + minetest.add_node(pos, { name = "homedecor:well_base", param2 = fdir }) + minetest.add_node(pos2, { name = "homedecor:well_top", param2 = fdir }) + if not homedecor.expect_infinite_stacks then + itemstack:take_item() + return itemstack + end + end + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + local pos2 = { x = pos.x, y=pos.y + 1, z = pos.z } + if minetest.get_node(pos2).name == "homedecor:well_top" then + minetest.remove_node(pos2) + end + end +}) + +minetest.register_node("homedecor:well_top", { + tiles = { + "homedecor_well_roof_top.png", + "homedecor_well_roof_wood.png", + "homedecor_well_roof_side3.png", + "homedecor_well_roof_side3.png", + "homedecor_well_roof_side2.png", + "homedecor_well_roof_side1.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = { snappy = 3 }, + node_box = { + type = "fixed", + fixed = { + {-0.0625, -0.5, 0.375, 0.0625, 0.4375, 0.4375}, -- NodeBox1 + {-0.0625, -0.5, -0.4375, 0.0625, 0.4375, -0.375}, -- NodeBox2 + {-0.125, 0.375, -0.5, 0.125, 0.4375, 0.5}, -- NodeBox3 + {0.125, 0.3125, -0.5, 0.1875, 0.375, 0.5}, -- NodeBox4 + {-0.1875, 0.3125, -0.5, -0.125, 0.375, 0.5}, -- NodeBox5 + {0.1875, 0.25, -0.5, 0.25, 0.3125, 0.5}, -- NodeBox6 + {-0.25, 0.25, -0.5, -0.1875, 0.3125, 0.5}, -- NodeBox7 + {0.25, 0.1875, -0.5, 0.3125, 0.25, 0.5}, -- NodeBox8 + {-0.3125, 0.1875, -0.5, -0.25, 0.25, 0.5}, -- NodeBox9 + {0.3125, 0.125, -0.5, 0.375, 0.1875, 0.5}, -- NodeBox10 + {-0.375, 0.125, -0.5, -0.3125, 0.1875, 0.5}, -- NodeBox11 + {0.375, 0.0625, -0.5, 0.4375, 0.125, 0.5}, -- NodeBox12 + {-0.375, 0.0625, -0.5, -0.4375, 0.125, 0.5}, -- NodeBox13 + {0.4375, 0, -0.5, 0.5, 0.0625, 0.5}, -- NodeBox14 + {-0.5, 0, -0.5, -0.4375, 0.0625, 0.5}, -- NodeBox15 + {-0.0625, 0.4375, -0.5, 0.0625, 0.5, 0.5}, -- NodeBox16 + {-0.125, 0.125, -0.4375, 0.125, 0.1875, -0.375}, -- NodeBox17 + {0.125, 0.1875, -0.4375, 0.1875, 0.25, -0.375}, -- NodeBox18 + {-0.1875, 0.1875, -0.4375, -0.125, 0.25, -0.375}, -- NodeBox19 + {-0.125, 0.125, 0.375, 0.125, 0.1875, 0.4375}, -- NodeBox20 + {0.125, 0.1875, 0.375, 0.1875, 0.25, 0.4375}, -- NodeBox21 + {-0.1875, 0.1875, 0.375, -0.125, 0.25, 0.4375}, -- NodeBox22 + {-0.0165975, -0.159751, -0.375, 0.0165974, -0.125, 0.375}, -- NodeBox23 + {-0.00414942, -0.5, -0.00414942, 0.00829884, -0.159751, 0.0124482}, -- NodeBox24 + {-0.0625, -0.0625, -0.5, 0.0625, 0, -0.4646}, -- NodeBox25 + {0.0625, -0.125, -0.5, 0.125, -0.0625, -0.4646}, -- NodeBox26 + {0.125, -0.25, -0.5, 0.1875, -0.125, -0.4646}, -- NodeBox27 + {0.0625, -0.3125, -0.5, 0.125, -0.25, -0.4646}, -- NodeBox28 + {-0.0625, -0.375, -0.5, 0.0625, -0.3125, -0.4646}, -- NodeBox29 + {-0.0625, -0.3125, -0.5, -0.125, -0.25, -0.4646}, -- NodeBox30 + {-0.1875, -0.25, -0.5, -0.125, -0.125, -0.4646}, -- NodeBox31 + {-0.125, -0.125, -0.5, -0.0625, -0.0625, -0.4646}, -- NodeBox32 + {-0.016598, -0.3125, -0.48, 0.020747, -0.0625, -0.49}, -- NodeBox33 + {-0.125, -0.209544, -0.48, 0.125, -0.172199, -0.49}, -- NodeBox34 + {-0.0165975, -0.200, -0.477178, 0.020747, -0.175349, -0.435685}, -- NodeBox35 + } + }, + selection_box = { + type = "fixed", + fixed = { 0, 0, 0, 0, 0, 0 } + }, +}) + diff --git a/homedecor/textures/homedecor_well_inv.png b/homedecor/textures/homedecor_well_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..77cb80f0dcfc1df2e23851e6fc8476fed35cdac2 GIT binary patch literal 5290 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 literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_well_roof_side1.png b/homedecor/textures/homedecor_well_roof_side1.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1e2892950ff4a1f91daffe8ac3d72c90f7f680 GIT binary patch literal 681 zcmV;a0#^NrP)BjTRVOu`zdL#tIVWu^GMH0jk#rWqse$YLkb7MMBWXOPVL=3n}YuSeE5@WKg;=8ZzpEt0p767mXMi-SeGWw;v zZQ6cnn>L$Ltxo@V6|p*r%KZHDhKMwolu|#0C}j$as{T~1q*g3w72N#mpKqB($~lH5 zGyneb%@1FHW@}rlSJS*8SvX0R==Z`Hg#}vADG*+*-o8HR@MR;<*SaKfbd^pTn>+QYm zG>5BqSL)lRoBi#iv`9iuE^&rFDL)?H_fgyO&fOE1X}_O7Tpx0$y+g P00000NkvXXu0mjf10O$; literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_well_roof_side2.png b/homedecor/textures/homedecor_well_roof_side2.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca3df767a25322d35e14ccac580ec4f606e9449 GIT binary patch literal 674 zcmV;T0$u%yP)q_TB zN~jnkm&AoiQ*SPIDFwY`=DlF|&f?lQdeS;D*DoAD8~v z7hTEb^4E{aT)6lyAi_3@z_mBPE;WlwY9l;eHCGKJDlDF((C`2I$R5O^HT zs*-3P*X_^0AFtvaE9_c_*RQ@kAA7aoC_t@rW=j6}@|m;gaGY`}-Dyghw%c~AvrGBO z4(I+{wc2HPc<8K4)x}o6cxo6?%5mstZB)D4j6wL*8G*Y}CRHzTU~_ z&o|onOX`!B!ZcJGdsIY%xDoqPZBZZ#9==TpH&ITMGdlp10U3Q+l!@_hA-DN&o_7&vv#n#u7L zFK?R|GE>oRVk}b0EK2Dgi_~zn(Z+HPTmm{AvifvWolB#!?J1C$N*#diTgw@GiLA<@(TF4vY`Gu^Z=S%QOTbSYnZ4NHKtr zC?5+YDFN4uY>YwhU`%K`CNuOkd!EdW0L0}M){_wcT!lGgYE$j|@w06o53*%+fp2UmGz+~#5by&F6= zK=AXdv#XP4yVnb0BgwvA;VdLYEeMoY_DP@SukueBFbo99fd*_L+PDm7dM}^+p8E3naoxH5 zj}MThuRp@$hh3R|5xf0??yMiT7E=E9%8&mH^J&`e_Za8uoVy&)F-Fn|3X@OFoO5P_ zP(ZadhODIUstrMCShM%u&++!k8t#pjWP1WSp5On2ReruSt(7X;+3J(E7ITH=61t9E z(@HIhdjJ4tOY*SE4_Em2l{RjbL$!^m*)fhAvO7n4|7QKyOdN*&e0n*l7*hLJ-(C>xU0~tRwXAwSmw)c zy{$l^G`E9H5wuAu0W-nd6C3(##~}5kjv;Cx6p^$95G|lJ>oPB7w+ck5gvTgdi#}w? zP(p~yDVMtHN2MeuZ<-!dThQbJ3Jn{=-KO)ks;c_25m32QsRaO$9FkKtY1SY(+}z~p zAgSPH(}y6az^<=C2u~CJJl5~8fC`*tR4g$Wwo;QDw<1D*K8eV9-Jf0$?J(YPwCb2t z*k4=>iVRnsC5JQ}Yp%AnI3445xAujMRW(LS$}ckjfIZukCnZkon4Hm5Kz-dLSOE;XIs-p8Kn zG%Z>G`@ix(o=QSQL+8W!=Kj8b0RUo0inOzcAhn2ysKSV!Zo3b?GDiOfgwgwvA;VdLYEeMoY_DP@SukueBFbo99fd*_L+PDm7dM}^+p8E3naoxH5 zj}MThuRp@$hh3R|5xf0??yMiT7E=E9%8&mH^J&`e_Za8uoVy&)F-Fn|3X@OFoO5P_ zP(ZadhODIUstrMCShM%u&++!k8t#pjWP1WSp5On2ReruSt(7X;+3J(E7ITH=61t9E z(@HIhdjJ4tOY*SE4_Em2l{RjbL$!^m*)fhAvO7n4|7QKyOdN*&e0n*l7*hLJ-(C>xU0~tRwXAwSmw)c zy{$l^G`E9H5wuAu0W-nd6C3(##~}5kjv;Cx6p^$95G|lJ>oPB7w+ck5gvTgdi#}w? zP(p~yDVMtHN2MeuZ<-!dThQbJ3Jn{=-KO)ks;c_25m32QsRaO$9FkKtY1SY(+}z~p zAgSPH(}y6az^<=C2u~CJJl5~8fC`*tR4g$Wwo;QDw<1D*K8eV9-Jf0$?J(YPwCb2t z*k4=>iVRnsC5JQ}Yp%AnI3445xAujMRW(LS$}ckjfIZukCnZkon4Hm5Kz-dLSOE;XIs-p8Kn zG%Z>G`@ix(o=QSQL+8W!=Kj8b0RUo0inOzcAhn2ysKSV!Zo3b?GDiOfgw