From 013ab59da99efd7b97cbf86588cca99b9e7f313d Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Mon, 26 Oct 2015 11:22:40 +0000 Subject: [PATCH] Added grape bush, grapes and trellis for growing --- README.txt | 1 + grapes.lua | 288 +++++++++++++++++++++++++++++++++ init.lua | 3 +- mapgen.lua | 2 + textures/farming_grapebush.png | Bin 0 -> 144 bytes textures/farming_grapes.png | Bin 0 -> 175 bytes textures/farming_grapes_1.png | Bin 0 -> 255 bytes textures/farming_grapes_2.png | Bin 0 -> 290 bytes textures/farming_grapes_3.png | Bin 0 -> 307 bytes textures/farming_grapes_4.png | Bin 0 -> 330 bytes textures/farming_grapes_5.png | Bin 0 -> 338 bytes textures/farming_grapes_6.png | Bin 0 -> 347 bytes textures/farming_grapes_7.png | Bin 0 -> 358 bytes textures/farming_grapes_8.png | Bin 0 -> 350 bytes textures/farming_trellis.png | Bin 0 -> 227 bytes 15 files changed, 293 insertions(+), 1 deletion(-) create mode 100644 grapes.lua create mode 100644 textures/farming_grapebush.png create mode 100644 textures/farming_grapes.png create mode 100644 textures/farming_grapes_1.png create mode 100644 textures/farming_grapes_2.png create mode 100644 textures/farming_grapes_3.png create mode 100644 textures/farming_grapes_4.png create mode 100644 textures/farming_grapes_5.png create mode 100644 textures/farming_grapes_6.png create mode 100644 textures/farming_grapes_7.png create mode 100644 textures/farming_grapes_8.png create mode 100644 textures/farming_trellis.png diff --git a/README.txt b/README.txt index 12ea62d..6792338 100644 --- a/README.txt +++ b/README.txt @@ -13,6 +13,7 @@ This mod works by adding your new plant to the {growing=1} group and numbering t Changelog: +1.22 - Added grape bushes at high climates which can be cultivated into grape vines using trellis (9 sticks). 1.21 - Added auto-refill code for planting crops (thanks crabman77), also fixed a few bugs 1.20b- Tidied code, made api compatible with new 0.4.13 changes and changed to soil texture overlays 1.20 - NEW growing routine added that allows crops to grow while player is away doing other things (thanks prestidigitator) diff --git a/grapes.lua b/grapes.lua new file mode 100644 index 0000000..28060f4 --- /dev/null +++ b/grapes.lua @@ -0,0 +1,288 @@ +-- Grapes + +minetest.register_craftitem("farming:grapes", { + description = "Grapes", + inventory_image = "farming_grapes.png", + on_use = minetest.item_eat(2), + on_place = function(itemstack, placer, pointed_thing) + local nod = minetest.get_node_or_nil(pointed_thing.under) + if nod and nod.name == "farming:trellis" then + minetest.set_node(pointed_thing.under, {name="farming:grapes_1"}) + else + return + end + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + -- check for refill + if itemstack:get_count() == 0 then + minetest.after(0.20, + farming.refill_plant, + placer, + "farming:grapes", + placer:get_wield_index() + ) + end -- END refill + end + return itemstack + end +}) + +-- Grapes can be used for violet dye +minetest.register_craft({ + output = "dye:violet", + recipe = { + {'farming:grapes'}, + } +}) + +-- Trellis + +minetest.register_node("farming:trellis", { + description = "Trellis (place on soil before planting grapes)", + drawtype = "plantlike", + tiles = {"farming_trellis.png"}, + inventory_image = "farming_trellis.png", + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, attached_node = 1, + not_in_creative_inventory = 1 + }, + sounds = default.node_sound_leaves_defaults(), + on_place = function(itemstack, placer, pointed_thing) + local nod = minetest.get_node_or_nil(pointed_thing.under) + if nod and minetest.get_item_group(nod.name, "soil") < 2 then + return + end + local top = { + x = pointed_thing.above.x, + y = pointed_thing.above.y + 1, + z = pointed_thing.above.z + } + nod = minetest.get_node_or_nil(top) + if nod and nod.name ~= "air" then return end + minetest.set_node(pointed_thing.above, {name = "farming:trellis"}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end +}) + +minetest.register_craft({ + output = "farming:trellis", + recipe = { + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + } +}) + +-- Define Grapes growth stages + +minetest.register_node("farming:grapes_1", { + drawtype = "plantlike", + tiles = {"farming_grapes_1.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 3, not_in_creative_inventory = 1, + attached_node = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:grapes_2", { + drawtype = "plantlike", + tiles = {"farming_grapes_2.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:grapes_3", { + drawtype = "plantlike", + tiles = {"farming_grapes_3.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:grapes_4", { + drawtype = "plantlike", + tiles = {"farming_grapes_4.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:grapes_5", { + drawtype = "plantlike", + tiles = {"farming_grapes_5.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:grapes_6", { + drawtype = "plantlike", + tiles = {"farming_grapes_6.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:grapes_7", { + drawtype = "plantlike", + tiles = {"farming_grapes_7.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of growth does not have growing group so abm never checks these + +minetest.register_node("farming:grapes_8", { + drawtype = "plantlike", + tiles = {"farming_grapes_8.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:trellis'}, rarity = 1}, + {items = {'farming:grapes 3'}, rarity = 1}, + {items = {'farming:grapes 1'}, rarity = 2}, + {items = {'farming:grapes 1'}, rarity = 3}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1 + }, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Wild Grape Vine (this is what you find on the map) + +minetest.register_node("farming:grapebush", { + drawtype = "plantlike", + tiles = {"farming_grapebush.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + sunlight_propagates = true, + drop = { + items = { + {items = {'farming:grapes 1'}, rarity = 1}, + {items = {'farming:grapes 1'}, rarity = 2}, + {items = {'farming:grapes 1'}, rarity = 3}, + } + }, + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory=1 + }, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/init.lua b/init.lua index e523148..4a1a3dd 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,5 @@ --[[ - Minetest Farming Redo Mod 1.21 (29th August 2015) + Minetest Farming Redo Mod 1.22 (26th October 2015) by TenPlus1 NEW growing routine by prestidigitator auto-refill by crabman77 @@ -65,6 +65,7 @@ dofile(farming.path.."/raspberry.lua") dofile(farming.path.."/blueberry.lua") dofile(farming.path.."/rhubarb.lua") dofile(farming.path.."/beanpole.lua") +dofile(farming.path.."/grapes.lua") dofile(farming.path.."/donut.lua") dofile(farming.path.."/mapgen.lua") dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility diff --git a/mapgen.lua b/mapgen.lua index f799222..00d4fd1 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -34,6 +34,7 @@ function farming.register_mgv6_decorations() register_plant("rhubarb_3", 3, 15, "group:tree", 1) register_plant("blueberry_4", 3, 10, "", -1) register_plant("beanbush", 18, 35, "", -1) + register_plant("grapebush", 25, 45, "", -1) end -- v7 maps have a beach so plants growing near water is limited to 6- high @@ -51,6 +52,7 @@ function farming.register_mgv7_decorations() register_plant("rhubarb_3", 3, 15, "group:tree", 1) register_plant("blueberry_4", 3, 10, "", -1) register_plant("beanbush", 18, 35, "", -1) + register_plant("grapebush", 25, 45, "", -1) end -- detect mapgen diff --git a/textures/farming_grapebush.png b/textures/farming_grapebush.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e662059176174f47bee9064eb63c9c36d99f1a GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?bO)b&w;GE`WBGV|}qcBlN ztRl(*D8*P366&XcY3~p)~x=Jbv3`rdl*4ENZu5)^OeI1;7 z90c7vrgR#*oH}xYMdzqO&k~6>ZH_l?Na`>L@g^ELnKZU6P~z!nGWadpAi*&43dhd! T=tKX3CNp@t`njxgN@xNA6R|Z; literal 0 HcmV?d00001 diff --git a/textures/farming_grapes_1.png b/textures/farming_grapes_1.png new file mode 100644 index 0000000000000000000000000000000000000000..64a935d27a6b088bfb71470cb180119014a75862 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*FXja7h@SObLkj&)ii%y z`H4FHMYc;DeAcuF>q)B$1C=qB1o;IsI6S+N2INfgba4#PIG>!rz+}eE$1af4&{(w9 z7@SE6XK-xcVmB#I_%Y43F_3|!aJ9s#hYwG!<7(m% yWz1o8C}%mq8o?XUShhhahcl2vguzijnnA2f{mewspshgHF?hQAxvXVS)S49Q}7h@SObLkj&)ii%y z`H4FHMYc;DeAcuF=cyL|1S(@J3GxeOaCmkj4anK*>EaloasKE8L;gbw0%4 zyU+22%6L|FC?7j!u`A;bb69=j%k$H`A3NsE*_*GZKmEI0xJY5kI^Cd}XB+qYy1wqa zN{%!`hO|PXrkbEo%Q_t=r%Ev?#l$lwg528AByYNy-}d#a4KL?D(+A3$uD&)}txI@+ zUrqjWJLs&+r|QS?-#NBEo|gXIg7VS)*Fpvc7h@SObLkj&)ii%y z`H4FHMYc;DeAcuFPx@566R3=_B*-tA!Qt7BG$7}gr;B5V#`(Du4EdW31X>N3wr=FE z7N2X~P^z+UYoDpW;}eTM@^}1WI(&Yc_@k{(F>kh;=<9!f7dPq0@sv2`lh19&6uQ@f743&i) z3a)In6}!GH>1gBqzW=`sG)iozuKD$<`P?s!j_gY5yN`;T_iBGBl=Bxa<*%Kw?2_AU zy(Jyfgx$Lg4yR-*#JryIxz<8tMT_mCDSk4R4FApT7HZl5weSlA`iQ~P)z4*}Q$iB} Dz?m zGaO1c8(c>vW=}02kt~mLJ*9w5tcO!@Z;nO)0004WQchCe3 zyAFad6vdRbj9uKj=-dIsu?ekpEP)^+i^LxQ{Q-@iZ5y?>%01i3&3Pq>J0ddak$msE z9nIr7n?M|LrBs!xKp>8oM<9rx(jyS*K!isi-X4+5TOra|e9Zgj?o!^$K$xmj#sOUT zLW6P-_>g}&7Hw0$vMW|cU5ZTivXA!YMsq(-(H^Z*x+)+Cb~!LZ76@^Y)KVRYcEExZ zKYQT6J=VxJtckkVOk?*2d-TulTu!iu&!ClQ!G$+21zLlKrW+4vYl(Gx#7TXQ$fe~q ct3P|Z09FVrZ1Y1n!TUtP)vW=}02kt~mLJ*9w5tcO!>C3E=z0004WQchCe( zvChIE6oqT>mX0jlS$^jZ);f|DejKl9qa9r|zJS#i(D>Lw8ZTGnY+nfH@MT#zc~zL0 z?0v3_lYeYRPvC!Pt!R>I?3+#=b8{_)9Iybk5fNvY? zLkNKGlqf|>U@&_v|0ELV4a6PDmO|(Nwp7n>tG4Vfb>RjxFdw^NB!XgzI>DdJJm5CSUBKI$KkmvW=}02kt~mLJ*9w5tcO!>C3E=z0004WQchCGx zv5vwp42F9OPBV64&vG|sps+?FxiA_vYBREccmWD8a3>xcN2iNZ?Cp;gfBu?=N*ZNz zH~)42x`f}u97^!Lan9{Gt^`6u2c1}#U^FdGw)G`|lk7($u>=a02MfGKtOflsbUfh| zy(gZSQ`%mq$F2lnm|Tc~IY19YQE?Grebwb6o+HHS1{Rn4)|A9(DJ%prT_Q_XQ7 zFX88Kt9(S~{JyU_@-2e5fFT=L`G_at=%wLnEiA3m9XKp}yc?U-b3E^E>?1RHGQwN3 t53GDBPd2FeT9ml(0q;Jd&Nlvhya0u2Fp(z*et-Y~002ovPDHLkV1h~pi$nkb literal 0 HcmV?d00001 diff --git a/textures/farming_grapes_7.png b/textures/farming_grapes_7.png new file mode 100644 index 0000000000000000000000000000000000000000..9e70b6d559fe4dec85b6800cec67d983055021cb GIT binary patch literal 358 zcmV-s0h#`ZP)Gx zu};G<5Qc-X7@Jruc~l_ zlIF72b@mTCe|VXE2G2`t?bFg`z<}ejMFxYa!)R)kK{E?IC@~j6I&K;Q?8KmfR|3*W zlT4%>Q;e(g__5Bwccb;aryLwQOi|>BW`ufChYWhdl~96!P#n8*`f?9^F*duh(FQKH4IGy zu};G<5I_?Y+c#p#LX027O(y2OpAf;s%H3KVJ{HCC`5AQcZ(L2nJM-pHYY1=7B^a>lblh3^7@z}x#WRj`#Z z+s9ozVlLs7qj+e{IE;-)@daUoR6+KdEsOxe0QhU}a+eldP<9YdIh3Zye2Jg#TRdJ| z2(OOBV{lw#Qt}r)agEgU$RF%MO%J$wG}YCpQs(=}j`UlsG2P<6p5s^JVJT3s#|qwT wMwL!Zp5cLOjJ*IgnZ!LLvi{#AVS)S4Rd07h@SObLkj&)f7LS zj6nVVBHN`6K5N>8n{0mQ0F^P81o;IsI6S+N2IQ1^x;TbtoKH?*U@~LwV-QGbXe`=l z^4+Z8sC-Am>`w0v?+u