From a15260481673bb26085175aafdc3021a29ecd3b9 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 6 Feb 2017 19:25:15 +0100 Subject: [PATCH] Add grass path --- mods/mcl_core/nodes.lua | 18 ++++++++++++ .../textures/mcl_core_grass_path_side.png | Bin 0 -> 1596 bytes .../textures/mcl_core_grass_path_top.png | Bin 0 -> 1442 bytes mods/mcl_core/tools.lua | 26 ++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 mods/mcl_core/textures/mcl_core_grass_path_side.png create mode 100644 mods/mcl_core/textures/mcl_core_grass_path_top.png diff --git a/mods/mcl_core/nodes.lua b/mods/mcl_core/nodes.lua index 64bbee56..be19b1b4 100644 --- a/mods/mcl_core/nodes.lua +++ b/mods/mcl_core/nodes.lua @@ -262,6 +262,24 @@ minetest.register_node("mcl_core:dirt_with_grass", { }), }) +minetest.register_node("mcl_core:grass_path", { + tiles = {"mcl_core_grass_path_top.png", "mcl_core_grass_path_side.png"}, + description = "Grass Path", + drop = "mcl_core:dirt", + is_ground_content = true, + drawtype = "nodebox", + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + -- 15/16 of the normal height + {-0.5, -0.5, -0.5, 0.5, 0.4375, 0.5}, + } + }, + groups = { crumbly=3, not_in_creative_inventory=1, soil=2, soil_sapling=1 }, + sounds = mcl_core.node_sound_dirt_defaults(), +}) + -- TODO: Add particles minetest.register_node("mcl_core:mycelium", { description = "Mycelium", diff --git a/mods/mcl_core/textures/mcl_core_grass_path_side.png b/mods/mcl_core/textures/mcl_core_grass_path_side.png new file mode 100644 index 0000000000000000000000000000000000000000..488a8d764294ae7ffe73c6ae601576af8641ecfb GIT binary patch literal 1596 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0WWg+Z8+Vb&Z81_lQ95>H=O_WSIzLTt?M<*sQlFtDEVba4!cIQ%q>GkCT; z&)uOzYSV`A4}jd3s-0YZ#C z-~9T{tEy^Jnf>|S_y13FK3Zh((Mi=dXvHL1-6?NB8hQG&JXO1`VgK#_1w+#)mF&Na zo_t~_V!jtoeSB2QGG1fy-jhL7dnYDY#&CG2EpeE(d)~>jb&JofFTellPtoFA^5*Sa zN17j>UTbwzet+qlQigALYBsKS$Sa$jq9`|EYNON6TWh9Ie%di-O^A2Z4iCHYtye!r z)lW=0-u?9S9dAqjU4L7r7tLHVt^0}g&9c7hkAA+YS*#zw?bzwkJrVsoHitGn*z2?C zi0d<+Gwn}KNbdBxe)3#M0Aq@<>!v5iUZ07+DWg5Lud992RE^2`d@h$758Ya3Jj-v& zsfS5RZ)=zKv^@Ro7V_`jx~Z?%O5L2xcd{)xH~mekjFo(Qv7%+{+F#-hSzBBd@4vHd zdhPLJ`>YE#MrvDkCjHzdHo18wSL93WDc3H=r*3(+l38-v>X5lIXWMHT7SyIM3fX7z zTz$1*>Vwxo5qdHc?#`SrXT7_sb)=r;^h4+MY#AC4D8}VqRrWnNKXt!n^oPbJZCzgu zd|z8N^L>TVO#jqPccdpYzB+DnOJd5|#Bl9%nPo;Awo@yM9-Mo3-s;($$;HqA96u** zS(Gzp$E_V6N1w!g)IY^^?VR9GucdQ#Zq)v=o9*dYQ_)xQF4wOIt?pjk_igjn8Goi` z7JP1C4%K*EdR~O(+jjL+rFUNQoxHbZ@=Gq(LWAgqFD**X%vD<~6;Q6>f1c@$*ZS2P zKi&>G^#020nvZ^LtDgot@B6ZKZ?Nb0J(ms#G%-psvkSxaR}AH5uBvy#)>RdBY?ctLEVuB#t|(`gFr{O`k*&=Y z5rN9K1%0;jSUGw;sPiyvD-QFs;z6{~#YxXfUBrx(RIB*@5ndr#b^gn@< zDb?Z)*IlbTe!DLR72g-|3B)W`n7aLCk485a1II&#mkos$hvsZaeC|f?8f4U3iR_EC!=CJCzq0?k?S$+p?VUINpV{?WXY>59;PuSk8$R?Mm?J)0 zbav4H>H~E>N%L0l|9HPs*Ue%}x%K`@m7E)`7v#t9^+|7iwejxF|9Aeg-@0e;TzOiG R9RmXcgQu&X%Q~loCIHLX13mx% literal 0 HcmV?d00001 diff --git a/mods/mcl_core/textures/mcl_core_grass_path_top.png b/mods/mcl_core/textures/mcl_core_grass_path_top.png new file mode 100644 index 0000000000000000000000000000000000000000..90ee0eb59f80ccc2653043e04cc14dfc244b36e7 GIT binary patch literal 1442 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0uqAoByD4K7akK_k}lm^$Ko&>#LvpcT2a^tF?t`-M_DdO_S>`F@E>U@|Qxa z^;4Cgl*x|QuI?>UsMddH;G%!7 zSE@4L(299RpXGFq>q#|M-raxod|RqK!y22*UAxPkx&EIPJgH~m^Xs2BPFnKurug2f zd9zKO-R4D`HT&;<(SPvu+(N5WELEJ(KU}lTW=Z>cAXfd4eZ#cR3;w))a7S;)+p2`i z^|og=zs}1E5`AK^c3DiZrpU*T)-blXra#{Va&-tn^I=h1w z&E4@juGe;UzE$D!Y0GvOwugSnj6A>KL1-S|{;kT7qY`2S8w^)+UU;=mdUx=m*>O2H zx%#`#tavm%Kg0WpTk646)dE*G=={0bulRdgecGKO`(xtEPBgRp^Yy)ybt&`d-KhrzcP;OI5M=jK<)!Dz z+x{1y>ArgUB%57ANBZB~pWFUDO^6WGc;K_jZq7B`&*z^U{(f-w?!VDL+g#_*OLlkd z*ZbtgxBl%thXd=`@2(DS?g>6!xcZ%^@ymBhGyVvjTF|NZY{LO*$+W9HC&Jw?Jr(@2 zoPp^SLxtJ7|J&?!q7@%B-rCZa_nE)wU8{)8UWN!WXK&3F%lqW6-l(+>`crhnck|^{ z`{#br(3FaCcaX zI#P~2T*r=jSc|Qlp!sVVuj9#0Wv%Y|UyAN1obNr&bW2?2!ra4?*4Mth#T@eQ$J)xu zFGh9tD>*J}*{}X|;6Q57H{B&4oUGh}uC%`S`$SP<#v%qD({~zmb}yDl+Mbq(?4OkQ zW|H`2W}&QUp~gMa5)Uq}e7a}>rxnlQ)z5!s-t9Nr@qXSJZKhou8>cOPG=KdB+4O&( z6Te<&WO%~Tds&O4;^%I*{bA=ONUiO>r5^f!#|dV))0^(LR2Q5M)^I%EI9J>@FTA!` zb3;zMT56&m>+-1&cF9JcHr%~OJY9`7Yd-%3**ewZu@+a4%sVx?a^q&bD?GOyxK&^7 zE|WOiG4pNe3|rwMafQgKYnXAme@Sc^KWkOx!OjX9tCDQ5)ac}xJh~1IC?x*eip6&gDvvLhr?t6Y`cYXDK z$?s;RujQBiI!^p${qo-ekH2$E>I0Vi^V?;w5mc{!S6*c0{>kt7yGT;rU(a|nK2_oA U#@qWC7#J8lUHx3vIVCg!0HJZk5C8xG literal 0 HcmV?d00001 diff --git a/mods/mcl_core/tools.lua b/mods/mcl_core/tools.lua index 545ea4dc..514c03b3 100644 --- a/mods/mcl_core/tools.lua +++ b/mods/mcl_core/tools.lua @@ -105,6 +105,27 @@ minetest.register_tool("mcl_core:pick_diamond", { }, }) +local make_grass_path = function(itemstack, placer, pointed_thing) + if minetest.get_node(pointed_thing.under).name == "mcl_core:dirt_with_grass" and pointed_thing.above.y == pointed_thing.under.y then + local above = table.copy(pointed_thing.under) + above.y = above.y + 1 + if minetest.get_node(above).name == "air" then + if not minetest.setting_getbool("creative_mode") then + -- Add wear, as if digging a level 0 crumbly node + local def = minetest.registered_items[itemstack:get_name()] + local base_uses = def.tool_capabilities.groupcaps.crumbly.uses + local maxlevel = def.tool_capabilities.groupcaps.crumbly.maxlevel + local uses = base_uses * math.pow(3, maxlevel) + local wear = math.ceil(65535 / uses) + itemstack:add_wear(wear) + end + minetest.sound_play({name="default_dirt_footstep", gain=1.1}, {pos = above}) + minetest.swap_node(pointed_thing.under, {name="mcl_core:grass_path"}) + end + end + return itemstack +end + -- Shovels minetest.register_tool("mcl_core:shovel_wood", { description = "Wooden Shovel", @@ -119,6 +140,7 @@ minetest.register_tool("mcl_core:shovel_wood", { }, damage_groups = {fleshy=2}, }, + on_place = make_grass_path, }) minetest.register_tool("mcl_core:shovel_stone", { description = "Stone Shovel", @@ -133,6 +155,7 @@ minetest.register_tool("mcl_core:shovel_stone", { }, damage_groups = {fleshy=3}, }, + on_place = make_grass_path, }) minetest.register_tool("mcl_core:shovel_steel", { description = "Iron Shovel", @@ -147,6 +170,7 @@ minetest.register_tool("mcl_core:shovel_steel", { }, damage_groups = {fleshy=4}, }, + on_place = make_grass_path, }) minetest.register_tool("mcl_core:shovel_gold", { description = "Golden Shovel", @@ -161,6 +185,7 @@ minetest.register_tool("mcl_core:shovel_gold", { }, damage_groups = {fleshy=2}, }, + on_place = make_grass_path, }) minetest.register_tool("mcl_core:shovel_diamond", { description = "Diamond Shovel", @@ -175,6 +200,7 @@ minetest.register_tool("mcl_core:shovel_diamond", { }, damage_groups = {fleshy=5}, }, + on_place = make_grass_path, }) -- Axes