From 3af4a5b513a0534375e2e1839652089d4fa87c55 Mon Sep 17 00:00:00 2001 From: sys4-fr Date: Sat, 8 Sep 2018 16:51:46 +0200 Subject: [PATCH] Version MFF. --- init.lua | 189 ++++++++++++++------------------- oldinit.lua | 103 ------------------ textures/iron_sponge.png | Bin 942 -> 0 bytes textures/sponge.png | Bin 942 -> 0 bytes textures/sponge_sponge.png | Bin 0 -> 2221 bytes textures/sponge_sponge_wet.png | Bin 0 -> 2235 bytes 6 files changed, 80 insertions(+), 212 deletions(-) mode change 100644 => 100755 init.lua delete mode 100644 oldinit.lua delete mode 100644 textures/iron_sponge.png delete mode 100644 textures/sponge.png create mode 100755 textures/sponge_sponge.png create mode 100644 textures/sponge_sponge_wet.png diff --git a/init.lua b/init.lua old mode 100644 new mode 100755 index f4b7099..8715ce4 --- a/init.lua +++ b/init.lua @@ -1,132 +1,103 @@ minetest.register_node("sponge:sponge", { - description = "Sponge", + description = "Sponge Dry", drawtype = "normal", - tiles = {"sponge.png"}, + tiles = {"sponge_sponge.png"}, paramtype = 'light', - sunlight_propagates = true, walkable = true, pointable = true, diggable = true, buildable_to = false, - groups = {snappy=2, flammable=1}, + stack_max = 99, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3}, + after_place_node = function(pos, placer, itemstack, pointed_thing) + local pn = placer:get_player_name() + if pointed_thing.type ~= "node" then + return + end + if minetest.is_protected(pointed_thing.above, pn) then + return + end + local change = false + local on_water = false + local p, n + -- verifier si il est dans l'eau ou a cotée + if string.find(minetest.get_node(pointed_thing.above).name, "water_source") + or string.find(minetest.get_node(pointed_thing.above).name, "water_flowing") then + on_water = true + end + for i=-1,1 do + p = {x=pos.x+i, y=pos.y, z=pos.z} + n = minetest.get_node(p) + -- On verifie si il y a de l'eau + if (n.name=="default:water_flowing") or (n.name == "default:water_source") + or (n.name == "default:river_water_flowing") or (n.name == "default:river_water_source") then + on_water = true + end + end + for i=-1,1 do + p = {x=pos.x, y=pos.y+i, z=pos.z} + n = minetest.get_node(p) + -- On verifie si il y a de l'eau + if (n.name=="default:water_flowing") or (n.name == "default:water_source") + or (n.name == "default:river_water_flowing") or (n.name == "default:river_water_source") then + on_water = true + end + end + for i=-1,1 do + p = {x=pos.x, y=pos.y, z=pos.z+i} + n = minetest.get_node(p) + -- On verifie si il y a de l'eau + if (n.name=="default:water_flowing") or (n.name == "default:water_source") + or (n.name == "default:river_water_flowing") or (n.name == "default:river_water_source") then + on_water = true + end + end + + if on_water == true then + for i=-3,3 do + for j=-3,3 do + for k=-3,3 do + p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} + n = minetest.get_node(p) + -- On Supprime l'eau + if (n.name=="default:water_flowing") or (n.name == "default:water_source") + or (n.name == "default:river_water_flowing") or (n.name == "default:river_water_source") then + minetest.add_node(p, {name="air"}) + change = true + end + end + end + end + end + if change then + minetest.add_node(pos, {name = "sponge:sponge_wet"}) + end + end }) -minetest.register_node("sponge:iron_sponge", { - description = "Iron Sponge", +minetest.register_node("sponge:sponge_wet", { + description = "Wet Sponge", drawtype = "normal", - tiles = {"iron_sponge.png"}, + tiles = {"sponge_sponge_wet.png"}, paramtype = 'light', - sunlight_propagates = true, walkable = true, pointable = true, diggable = true, buildable_to = false, - groups = {cracky=2}, + stack_max = 99, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, }) - -minetest.register_node("sponge:fake_air", { - description = "Fake Air", - drawtype = "airlike", - paramtype = 'light', - sunlight_propagates = true, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - groups = {not_in_creative_inventory=1}, -}) - -minetest.register_abm({ - nodenames = {"default:water_source", "default:water_flowing"}, - neighbors = {"sponge:sponge", "sponge:iron_sponge"}, - interval = 1.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.env:add_node(pos, {name="sponge:fake_air"}) - end -}) - -minetest.register_abm( -{nodenames = {"sponge:sponge"}, -interval = 1.0, -chance = 1, -action = function(pos, node, active_object_count, active_object_count_wider) - for i=-1,1 do - for j=-1,1 do - for k=-1,1 do - p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} - n = minetest.env:get_node(p) - if (n.name=="default:water_flowing") - or (n.name == "default:water_source") then - minetest.env:add_node(p, {name="sponge:fake_air"}) - end - end - end - end -end -}) - -minetest.register_abm( -{nodenames = {"sponge:iron_sponge"}, -interval = 1.0, -chance = 1, -action = function(pos, node, active_object_count, active_object_count_wider) - for i=-2,2 do - for j=-2,2 do - for k=-2,2 do - p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} - n = minetest.env:get_node(p) - if (n.name=="default:water_flowing") - or (n.name == "default:water_source") - or (n.name == "default:lava_source") - or (n.name == "default:lava_flowing") then - minetest.env:add_node(p, {name="sponge:fake_air"}) - end - end - end - end -end -}) - -minetest.register_abm( -{nodenames = {"sponge:fake_air"}, -interval = 1.0, -chance = 1, -action = function(pos, node, active_object_count, active_object_count_wider) - spongecount=0 - for i=-2,2 do - for j=-2,2 do - for k=-2,2 do - p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} - n = minetest.env:get_node(p) - if (n.name=="sponge:iron_sponge") or (n.name == "sponge:sponge") then - spongecount=spongecount+1 - end - end - end - end - if (spongecount==0) then - minetest.env:add_node(pos, {name="air"}) - end -end +-- Sponge wet back to Sponge Dry if coocked in a furnace +minetest.register_craft({ + type = "cooking", output = "sponge:sponge", recipe = "sponge:sponge_wet", }) minetest.register_craft({ output = "sponge:sponge", recipe = { - {'default:leaves', 'default:leaves', 'default:leaves'}, - {'default:leaves', 'default:mese', 'default:leaves'}, - {'default:leaves', 'default:leaves', 'default:leaves'}, - } + {"", "dye:black", ""}, + {"dye:yellow", "wool:white", "dye:yellow"}, + {"", "farming:wheat", ""}, + }, }) - -minetest.register_craft({ - output = "sponge:iron_sponge", - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'sponge:sponge', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - } -}) - diff --git a/oldinit.lua b/oldinit.lua deleted file mode 100644 index 49c6844..0000000 --- a/oldinit.lua +++ /dev/null @@ -1,103 +0,0 @@ -minetest.register_node("sponge:sponge", { - description = "Sponge", - drawtype = "normal", - tiles = {"sponge.png"}, - paramtype = 'light', - sunlight_propagates = true, - walkable = true, - pointable = true, - diggable = true, - buildable_to = false, - groups = {snappy=2, flammable=1}, - after_destruct = function(pos) - for i=-1,1 do - for j=-1,1 do - for k=-1,1 do - p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} - n = minetest.env:get_node(p) - if (n.name=="sponge:fake_air") then - minetest.env:add_node(p, {name="air"}) - end - end - end - end - end, -}) - -minetest.register_node("sponge:iron_sponge", { - description = "Iron Sponge", - drawtype = "normal", - tiles = {"iron_sponge.png"}, - paramtype = 'light', - sunlight_propagates = true, - walkable = true, - pointable = true, - diggable = true, - buildable_to = false, - groups = {cracky=2}, - after_destruct = function(pos) - for i=-1,1 do - for j=-1,1 do - for k=-1,1 do - p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} - n = minetest.env:get_node(p) - if (n.name=="sponge:fake_air") then - minetest.env:add_node(p, {name="air"}) - end - end - end - end - end, -}) - - -minetest.register_node("sponge:fake_air", { - description = "Fake Air", - drawtype = "airlike", - paramtype = 'light', - sunlight_propagates = true, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - groups = {not_in_creative_inventory=1}, -}) - -minetest.register_abm({ - nodenames = {"default:water_source", "default:water_flowing"}, - neighbors = {"sponge:sponge", "sponge:iron_sponge"}, - interval = 1.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.env:add_node(pos, {name="sponge:fake_air"}) - end -}) - -minetest.register_abm({ - nodenames = {"default:lava_source", "default:lava_flowing"}, - neighbors = {"sponge:iron_sponge"}, - interval = 1.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.env:add_node(pos, {name="sponge:fake_air"}) - end -}) - -minetest.register_craft({ - output = "sponge:sponge", - recipe = { - {'default:leaves', 'default:leaves', 'default:leaves'}, - {'default:leaves', 'default:mese', 'default:leaves'}, - {'default:leaves', 'default:leaves', 'default:leaves'}, - } -}) - -minetest.register_craft({ - output = "sponge:iron_sponge", - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'sponge:sponge', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - } -}) - diff --git a/textures/iron_sponge.png b/textures/iron_sponge.png deleted file mode 100644 index 55296b0c002f1a7e8fab2f9d519ab09f7ee015d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 942 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 literal 0 HcmV?d00001 diff --git a/textures/sponge_sponge_wet.png b/textures/sponge_sponge_wet.png new file mode 100644 index 0000000000000000000000000000000000000000..910f5bd2352f946b2332ef242927875f9d28304d GIT binary patch literal 2235 zcmV;s2t@aZP)YMjF^OhI6lOMvS+Zq^mUjzxzsml` zQ(M)(mNawwbe}%m_o^C=K)L3|@U2Zx&g3VbY%Nt?_{^8=)rJQrD!f!`vd3!8*=pg) zUaC5aMQ5SlV3mKbPuzRpym8BM{g(aCUC-Tn9*bqity``Kk3Da`xf_7BZt(Eot?kvx zMk`RQdGbYEdli!bN+lNnM2bCm68QMzmn&6ArQ*)zT#Jjobk>?k7^89B>C-&}1L}lm z6hwpkOH?0?=^`;*GGks`_O{v~To;OtV%b@*`}+Ge7{Nh?s#^5`r2urh!FtnMYj|_{ zATDAFLqam)uD@UH@ujlmGnZTTh;Z>J1+WsQ{sd#gda8TbNO5ShkTk>67@WQ|iqOphzdBfgC1$t+pp2>b7rJ6Fc7h{w*YW;zaN0C@J=^E<^^d z-?Y_Re)NVxj0!ywe!gI@RHq0TgJ|M)yVb1Gn0|g?2zStZ<_wTJK{7_7+VF*exjF4Z zWS9)#v#+lQ_*l#kPr#UQ{mHwiw$}8Kgi4Wlq3lYg%!Ct(=mrMxPDJe40>yt!pZM+f zzH{eKDliMt;f2T$ALi$Wcz3+P+@y?%##C5nP4y1)rV{t=_Y9$PkWMqvejLFRS zm22*D<&{P=P^!38G+w^oyl~+(DMPwa15q*(5&4G0r!LH%o|zrQHBNcq@L@GZ5WGgn z(Ws7e`HYA$K{QH|Rlr13qYMiw z9fbE-LN6xGskDV32M4#{g}f>LZ@(X(p6;8E%DIY?0c?e5`VQwRhT8b}?qKl$Fj^^< zF*9(8F_ktVI6|JCA0)Z(>;UmXl(H%=$e7~)Hr@B*PX~Yc^~iL%p9Ta#smk5^9we&D z=WQm_HU)rAL2!u#t}TM7BUs*Ei0G7##WneX%F~2kLiM~!X5sL_k3S#&?uP@vO`iY& zV}kKQ`l7X1b*gCKOx7|!-fOWiEVZOB2xb^0Iz&R&@Bq=&pFFT^miil#DI+ZLmEvLN z!Y9v%PoXqaOWBn-Maj&VQ1N&3mV*uH46sA-_;8F65++0i`@D_O&jhP%!#kbD2b--I zqk*X(Ul*csis%Xz+3h@HH0`WZ-SV(oTnr>+PKlkU4T>X_hj_@BZ3u?1d?qJRGy|s0 z5>$XRSQ&Ft%78{m3!brHu=n%N554im%Q66?d{emw?0*1gUrPpXMb_vC0E*AxWD+1{ z3@>A2SPv_}WR|@+!iaP@dM73{%=T}-Ir{3W8hIAg>t}IIcJPjVU^$gGkr3=}w$jk< z-D*r81L={>rSWXmMxAkY@zO~4lJ(LRs|=8`W-pE3xalUi$w>{8dHd}>g@Tbja5Y-K zWXizg5k-R4p_5obW*Kt807(H*GT?Z@a7W1Lj9E->jyW1zp!k3}vRNyPIi3Gst#h`I zsE!}k96P3|RJ?+u+qttBeg(k*KMVkBzy|>2;tRvHD@ni@V-9TOuyw1Nrzj0mw8wVh z%Vdq^ioaU5VJf_H;G8}C(yiNe!bdaYtCUy9hz#Q>5*dufhX7+%Qy68YDvgFI0DNU! z%00iJy?%3i<4LI9_H?@e)rTL-0I$CKahd?Cz_Vq|9 z6VrmI>0}Iz(~^pDX3$~^Ey`FW0}c_&^>c4NLL3zEBFbJH7)4G~BniY8E)^ zi*^7!R;#8|v907rA1zwB{yll|dZ+sulOqxx3}5JndH{$HqTmDxa$J)HMmA`VAmXC& z(@z!NeeI5y%O@8Ji$$}NA6M0zK2FVCVf@jOmC>}NVs zPc(}BhlVuxC2+_|XUz{DxJo5|t>II6UtROH+Fr=v6i{xGD()BD>{fE)4<4HCJuocg zM#&DChl?gq8HLSu=%bJJE-wd*#k2L+8{Lh!yWQ71tFNwYywT}SvAx|667`d(fwiu` z)$&%VuJ_*4Kn|A`Otrc`g-0%4x9<$Y6-n?6n7a@3pi--5Cn(?1YCbNOfBoy5|NhVW z|N7VKfBsA8>5HlM+60&CRx8+DpXfdbtZz(mr)LY4V8qR}<-e3qU#s!E++qL#002ov JPDHLkV1hQURhIw& literal 0 HcmV?d00001