From 8e62d892b950448943cc925f5ea7a8597ed466a9 Mon Sep 17 00:00:00 2001 From: palige Date: Sat, 29 Aug 2015 17:31:01 +0200 Subject: [PATCH] Change a craft, new textures for temporarygate (by @Ataron), and add dual delayer object. --- moremesecons_dual_delayer/depends.txt | 1 + moremesecons_dual_delayer/init.lua | 82 ++++++++++++++++++ moremesecons_dual_delayer/init.lua~ | 62 +++++++++++++ .../textures/moremesecons_dual_delayer_00.png | Bin 0 -> 179 bytes .../textures/moremesecons_dual_delayer_01.png | Bin 0 -> 181 bytes .../textures/moremesecons_dual_delayer_10.png | Bin 0 -> 180 bytes .../textures/moremesecons_dual_delayer_11.png | Bin 0 -> 177 bytes .../moremesecons_dual_delayer_ends.png | Bin 0 -> 169 bytes .../moremesecons_dual_delayer_side_left.png | Bin 0 -> 161 bytes .../moremesecons_dual_delayer_side_right.png | Bin 0 -> 164 bytes moremesecons_signalchanger/init.lua | 4 +- .../moremesecons_temporarygate_ends_off.png | Bin 226 -> 242 bytes .../moremesecons_temporarygate_ends_on.png | Bin 228 -> 245 bytes .../moremesecons_temporarygate_off.png | Bin 562 -> 533 bytes .../moremesecons_temporarygate_on.png | Bin 635 -> 539 bytes .../moremesecons_temporarygate_sides_off.png | Bin 229 -> 241 bytes .../moremesecons_temporarygate_sides_on.png | Bin 234 -> 243 bytes 17 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 moremesecons_dual_delayer/depends.txt create mode 100644 moremesecons_dual_delayer/init.lua create mode 100644 moremesecons_dual_delayer/init.lua~ create mode 100644 moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png create mode 100644 moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png create mode 100644 moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png create mode 100644 moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png create mode 100644 moremesecons_dual_delayer/textures/moremesecons_dual_delayer_ends.png create mode 100644 moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_left.png create mode 100644 moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_right.png diff --git a/moremesecons_dual_delayer/depends.txt b/moremesecons_dual_delayer/depends.txt new file mode 100644 index 0000000..acaa924 --- /dev/null +++ b/moremesecons_dual_delayer/depends.txt @@ -0,0 +1 @@ +mesecons diff --git a/moremesecons_dual_delayer/init.lua b/moremesecons_dual_delayer/init.lua new file mode 100644 index 0000000..f24f1f3 --- /dev/null +++ b/moremesecons_dual_delayer/init.lua @@ -0,0 +1,82 @@ +local function dual_delayer_get_input_rules(node) + local rules = {{x=-1, y=0, z=0}} + for i = 0, node.param2 do + rules = mesecon.rotate_rules_left(rules) + end + return rules +end + +local function dual_delayer_get_output_rules(node) + local rules = {{x=0, y=0, z=-1}, {x=0, y=0, z=1}} + for i = 0, node.param2 do + rules = mesecon.rotate_rules_left(rules) + end + return rules +end + +local dual_delayer_activate = function(pos, node) + mesecon.receptor_on(pos, {dual_delayer_get_output_rules(node)[1]}) -- Turn on the port 1 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_10", param2 = node.param2}) + minetest.after(0.4, function(pos, node) + mesecon.receptor_on(pos, {dual_delayer_get_output_rules(node)[2]}) -- Turn on the port 2 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_11", param2 = node.param2}) + end, pos, node) +end + +local dual_delayer_deactivate = function(pos, node, link) + mesecon.receptor_off(pos, {dual_delayer_get_output_rules(node)[2]}) -- Turn off the port 2 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_10", param2 = node.param2}) + minetest.after(0.4, function(pos, node) + mesecon.receptor_off(pos, {dual_delayer_get_output_rules(node)[1]}) -- Turn off the port 1 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_00", param2 = node.param2}) + end, pos, node) +end + + +local groups = {} +for i1=0, 1 do +for i2=0, 1 do + +if not(i1 == 0 and i2 == 1) then +if i1 == 0 and i2 == 0 then + groups = {dig_immediate = 2} +else + groups = {dig_immediate = 2, not_in_creative_inventory = 1} +end +minetest.register_node("moremesecons_dual_delayer:dual_delayer_"..tostring(i1)..tostring(i2), { + description = "Dual Delayer", + drop = "moremesecons_dual_delayer:dual_delayer_00", + inventory_image = "moremesecons_dual_delayer_00.png", + wield_image = "moremesecons_dual_delayer_00.png", + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-6/16, -8/16, -1/16, 6/16, -7/16, 8/16 }, + {-8/16, -8/16, 1/16, -6/16, -7/16, -1/16}, + {8/16, -8/16, -1/16, 6/16, -7/16, 1/16}} + }, + groups = groups, + tiles = {"moremesecons_dual_delayer_"..tostring(i1)..tostring(i2)..".png", "moremesecons_dual_delayer_bottom.png", "moremesecons_dual_delayer_side_left.png", "moremesecons_dual_delayer_side_right.png", "moremesecons_dual_delayer_ends.png", "moremesecons_dual_delayer_ends.png"}, + mesecons = { + receptor = { + state = mesecon.state.off, + rules = dual_delayer_get_output_rules + }, + effector = { + rules = dual_delayer_get_input_rules, + action_on = dual_delayer_activate, + action_off = dual_delayer_deactivate + } + } +}) +end +end +end + +minetest.register_craft({ + type = "shapeless", + output = "moremesecons_dual_delayer:dual_delayer_00 2", + recipe = {"mesecons_delayer:delayer_off", "mesecons_delayer:delayer_off"} +}) diff --git a/moremesecons_dual_delayer/init.lua~ b/moremesecons_dual_delayer/init.lua~ new file mode 100644 index 0000000..7039836 --- /dev/null +++ b/moremesecons_dual_delayer/init.lua~ @@ -0,0 +1,62 @@ +-- The ADJUSTBALE_BLINKY_PLANT +-- File copy on blinky_plant by Jeija + +local toggle_timer = function (pos, restart) + local timer = minetest.get_node_timer(pos) + local meta = minetest.get_meta(pos) + if timer:is_started() and not restart then + timer:stop() + else + timer:start(tonumber(meta:get_int("interval"))) + end +end + +local on_timer = function (pos) + local node = minetest.get_node(pos) + if(mesecon.flipstate(pos, node) == "on") then + mesecon.receptor_on(pos) + else + mesecon.receptor_off(pos) + end + toggle_timer(pos, false) +end + +mesecon.register_node("moremesecons_adjustable_blinkyplant:adjustable_blinky_plant", { + description="Adjustable Blinky Plant", + drawtype = "plantlike", + inventory_image = "jeija_blinky_plant_off.png", + paramtype = "light", + walkable = false, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3}, + }, + on_timer = on_timer, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[interval;interval;${interval}]") + toggle_timer(pos, true) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.get_meta(pos) + if not fields.interval then return end + meta:set_string("interval", fields.interval) + toggle_timer(pos, true) + end, +},{ + tiles = {"jeija_blinky_plant_off.png"}, + groups = {dig_immediate=3}, + mesecons = {receptor = { state = mesecon.state.off }} +},{ + tiles = {"jeija_blinky_plant_on.png"}, + groups = {dig_immediate=3, not_in_creative_inventory=1}, + mesecons = {receptor = { state = mesecon.state.on }}, +}) + + +minetest.register_craft({ + output = "moremesecons_adjustable_blinkyplant:adjustable_blinky_plant_off 1", + recipe = { {"mesecons_blinkyplant:blinky_plant_off"}, + {"default:mese_crystal_fragment"},} +}) diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png new file mode 100644 index 0000000000000000000000000000000000000000..efb03948c35579173a3fa8e67d584bcde77dd2a1 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf;RHof6*TmLT@a~yN>g+YUR!%aysqDbu?DFo#U52Tr zdR4A|UD22;v)}o@s7kA1qC@o86Fd{1xw6f0i|5O){J6AC!RYq7wNdLfU#|MHvH#2E a22rIoTIQRUU-San%HZkh=d#Wzp$PyGmP4Qb literal 0 HcmV?d00001 diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png new file mode 100644 index 0000000000000000000000000000000000000000..12deba18242a0a038101c985db07f288d8a66c5f GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfV-lvH-r=My(kz>7GYv(z?)fbQ3 cUGisEdtId^6K9+p2DF#K)78&qol`;+0JFVB7XSbN literal 0 HcmV?d00001 diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png new file mode 100644 index 0000000000000000000000000000000000000000..60f667e420fbab246b97c034d4a09eedd82003e8 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf+)?eZsgEEAqt^}?>!jS36Ch=J;`mB51Ec4h^(n=fOPFnTs>a1(c{k2Qx aORagdT+=+M+%OAhErX}4pUXO@geCy$cRy_a literal 0 HcmV?d00001 diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce5cffae9c97548e25f49697dd19edaba756f97 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfEZzkxv|` zNZHfHF@)oK=!t`Z3<3fy8* zk+i3aV+hCfu0aYc&h?!w#Jcl0d qm3DcgBG!tC;G9EMdA+ZA-|z*N&MQFM1l>je0000v1@CX@$C-cEGMaT%5)9iq?mJkBlE}_nsT^)}mq+x}K;GCnBLMesC tGGWY@CE?XkYej2~QVJ1ay?J7-;|E>8EUH_vU{C-6002ovPDHLkV1jL7Q@a2F delta 200 zcmV;(05|{j0ptOYB!3BTNLh0L01Qq501FcVbuGES00007bV*G`2iyn@01gk`va*r@ z004tYL_t(I%k9Bk3W7isfYEOThtbeww1k4Jgf`$-+>om%f_~mYNVgN>L*4Fe8$Eaq z%x1Iy;BNQYu9qck+v2_F(bc5Un5Hjzkui=h(pVt+0dwriBS9eqnx&s9&@f@9d!Y`v^)o~y8{I4T0q(N$ z3x;WCpsTuG%0)9xntVX+>QQiS-S_T=`-a&MbzSF_65e~tvZU{OVvGRHW;0Zk5CYCQ zj4{mTe{%z1Ms9gaCkukaK3eUQ<;S&N;fSBc(Jt7zL`TVzb#GB8UiA%{7*a zL`NdBE$)m(GJ1%WLk2LOCue&FT1Bb;;OoJRrK52}iY@U8jF z2^ZXu_`_!a0$ZMQ&d*Q(P}S)QXJ_Q10Pj5^e*`Qgfi0c~03^cb0>D~}s&aWb7_oqHLO*Jp4EuP3dt|JmKvq_=ClmOkEE= zxos`y%4>(rU4+vh=^c}K~?eIqpB1|!EU!>wOUP^xJTQzIOm8lj+M?i)Av0hLX2?|B!3BTNLh0L01Qq501FcVbuGES00007bV*G`2iyn@024XwWJ?zS z00GfSL_t(I%f*sEYg17e#((F}O>Vqs(l&Hxhl&mbojdsr%;ex_C@nY?97{_w*{L8n z722hf2!4Wsm4YC;bZ{}yH9&#Bod% zMU2N|oO8ts3P2pk3^E>VKPcAS2aD6@1V0SlVX}Qh%`X{{i zb6*g9djzGRUVp=AG$Kjfv9mMyr{X6kHL~m#X_`{4z9j_EwHkO2&N+k-)N1;_mfhY? zH8ar2;uou{isR!PfPeGzh!8dkXPV9Fy+Q-6H6a9k z_ny<~YF1VtNjv~&X9+hqb(DHJC*T~wIfqgT?>))AZ30iR_C7~P4@lETRIA%_d0EK8 z)xiOSAJF*F0^s4s3#60?A@JU#^|ULckWwxJ0IE-5_NQV%x)*_|E7&B+% b-Pd1XRT9k8SMs*;00000NkvXXu0mjfF;nrI diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_on.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_on.png index 61f52f262978733ff8dd0c104651062a20344558..7fb81bb9d1c9912c66c6af6f9ca25f8c08007f35 100644 GIT binary patch delta 487 zcmV00F2;L_t(I z%f*tvY8yci#(y)ndv_A#AHty4kj_mYF5HEbCPf-QObQWnSLI>SxCn+oinwuOLmnWI z!c8Cq`COR0-5qTTp(8>M;IA5XncvQS-@s!_wnfu4Ii*BdmQ+zc0XP*qfwyY>`E zO`<2#Gg*Eogn)C77~?)*dnh8@wWrKE!iW@j0DdoPrXSAn-jj140lF>B3{~Y%`<6LJ zL>}n)vAH8M?=iF8FI-$4X782j>vCffe>Fy=8SeP_rvS9=Is+tnGHcctYa-8hHNJk! z&6v!|$)<1gz&S_GnOXCdzx<-WmODMz6NN}bQb^s002ovPDHLkV1n85->Lur delta 610 zcmV-o0-gPv1p5S#B!3BTNLh0L01Qq501FcVbuGES00007bV*G`2iyn@02Bd=CuL3m z00J6GL_t(I%f*vFPg7AC#((GBd)wPT1QUw1F)Aiv)PeY?#wHF-A|Jpn;oPmkiKQRH z-O0&;iD+UV5<#E|xPZby3KmmZ+uqxA?m5@N(4;nw#&>#__kWi+@AEwHzeik%YPA|0 zV~|p!l)`mgT-P0FV+=tM;QKy82o@I?1%P`2u-2lKLP|*-$K-NjWV4Dm&d_dK&dxNR z=V7g-)9DN@7y@XmNvG4~^JyNJ_8A`stqterg3p`NoSue6QG}Fo02rt^j`4k;Lg5nk z?tfq^U#H*y!GE=@H<`TLp!jHqLLoyUksykqQGn~ZOiW~$o&7@6Kc`+-v|B9z3R5Mr zS<8cmTjX*nlF0^bApCn45d0 z*4AclCnp`ED8?9rmw;^6|Ep!zhDb*ur9=p5wG6UY+(3kzSx;0Hno8jUU=*YD71)Il`R`UHSx>l4Nrwzr;e zdeT8DMY&woLpDk&34(yL?@4wxpOP!QBcE^5-+hDDdG>baIX?cq>^RP74&GNPwDw^B z^-G%V6k9mY==|&wX^SyqG@Bt|7?Mh*==FM|0D$qk&@1=QTGMXFcwPcy432Y-Qi?c^ whf+Ayg+FI$X~}b47a;`JS}K)_{wHnx1^X59&JYhVI{*Lx07*qoM6N<$f;8?J-v9sr diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_off.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_off.png index 79f3d59990d843e67e28d2094b5eb63908030831..4db9e72ab297c35d87f396b8044d4ce6e2550e9a 100644 GIT binary patch delta 187 zcmV;s07U=g0r3HlBo78+OGiWi{{a60|De66laV1Ff8Pil4huWw-rYO^004eTL_t(I z%k9mv2?8-3M)CL0#dx3~89}gc6iac144|On+z>W8jXOvu}DodG09;6yCI~e(jm#X?esel1M4xXLsy;*=n(Dc=bD`X+jbq1SC;P pA;w6~AsI=S+4pLOxf|m+@BvncE*o@6hKT?G002ovPDHLkV1gXLQXv2U delta 201 zcmV;)05<>e0p$UZB!3BTNLh0L01Qq501FcVbuGES00007bV*G`2iyn@01YuW{`~p? z004wZL_t(I%k9mv4T3-zhT-?WJ0TGoMzAn(6l+&t08O+rF2D?|q0_hoF&816_gT1v z1%!+zT=r{bmFs00000NkvXXu0mjf DC6!S_ diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_on.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_on.png index 1c8edaab9d4cc227cbe58729466711c26e8488dc..1778e26fb1a152c219f0ab246399f981396c9f1f 100644 GIT binary patch delta 189 zcmV;u07C!j0rLTnBo78+OGiWi{{a60|De66laV1Ff8Pil4hsz`WJsj|004kVL_t(I z%k9mv3Bo`eM)CI#F;2>dpye@gX)t6M00000NkvXXu0mjf!aGsK delta 206 zcmV;<05Sjb0qOyeB!3BTNLh0L01Qq501FcVbuGES00007bV*G`2iyn@01gk`va*r@ z0049j3aRN91`(OzJ$#{<>vMgh< zEU@EgrPO!XZiX~XgCv}DNFv6F_nr^}k}$L1YQ}6{@Ot0*0x1(Uax`0elmGw#07*qo IM6N<$g3BgYQUCw|