From 56e038adad0e05cc6f634ad8c475017799ba9b38 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Wed, 11 May 2016 01:13:59 -0400 Subject: [PATCH] update streets mod --- trafficlight/init.lua | 196 ++++++++++++++++-- trafficlight/textures/streets_pl_dontwalk.png | Bin 0 -> 631 bytes .../textures/streets_pl_flashingdontwalk.png | Bin 0 -> 798 bytes trafficlight/textures/streets_pl_off.png | Bin 0 -> 571 bytes trafficlight/textures/streets_pl_walk.png | Bin 0 -> 628 bytes 5 files changed, 177 insertions(+), 19 deletions(-) create mode 100644 trafficlight/textures/streets_pl_dontwalk.png create mode 100644 trafficlight/textures/streets_pl_flashingdontwalk.png create mode 100644 trafficlight/textures/streets_pl_off.png create mode 100644 trafficlight/textures/streets_pl_walk.png diff --git a/trafficlight/init.lua b/trafficlight/init.lua index 7f472e04..baaa9240 100644 --- a/trafficlight/init.lua +++ b/trafficlight/init.lua @@ -4,24 +4,58 @@ dofile(streets.modpath .. "/../trafficlight/old2new.lua") streets.tlBox = { - --[[ Thank you, rubenwardy, for your awesome NodeboxEditor! Not perfect, but still great! ]] - {-0.1875,-0.5,0.5,0.1875,0.5,0.75}, --nodebox1 - {-0.0625,0.375,0.3125,0.0625,0.4375,0.5}, --nodebox2 - {-0.0625,0.0625,0.3125,0.0625,0.125,0.5}, --nodebox3 - {-0.0625,-0.25,0.3125,0.0625,-0.1875,0.5}, --nodebox4 - {0.0625,0.3125,0.3125,0.125,0.38,0.5}, --nodebox5 - {-0.125,0.3125,0.3125,-0.0625,0.375,0.5}, --nodebox6 - {0.0625,0,0.3125,0.125,0.0625,0.5}, --nodebox7 - {-0.125,0,0.3125,-0.0625,0.0625,0.5}, --nodebox8 - {0.0625,-0.3125,0.3125,0.125,-0.25,0.5}, --nodebox9 - {-0.125,-0.3125,0.3125,-0.0625,-0.25,0.5}, --nodebox10 - {-0.125, -0.125, 0.85, 0.125, 0.125, 0.75}, -- NodeBox11 + {-0.1875,-0.5,0.5,0.1875,0.5,0.75}, --Box + + {-0.125, -0.125, 0.85, 0.125, 0.125, 0.75}, -- Pole Mounting Bracket + + {-0.125,0.3125,0.3125,-0.0625,0.375,0.5}, --Top Visor, Left + {-0.0625,0.375,0.3125,0.0625,0.4375,0.5}, --Top Visor, Center + {0.0625,0.3125,0.3125,0.125,0.38,0.5}, --Top Visor, Right + + {-0.125,0,0.3125,-0.0625,0.0625,0.5}, --Middle Visor, Left + {-0.0625,0.0625,0.3125,0.0625,0.125,0.5}, --Middle Visor, Center + {0.0625,0,0.3125,0.125,0.0625,0.5}, --Middle Visor, Right + + {-0.125,-0.3125,0.3125,-0.0625,-0.25,0.5}, --Bottom Visor, Left + {-0.0625,-0.25,0.3125,0.0625,-0.1875,0.5}, --Bottom Visor, Center + {0.0625,-0.3125,0.3125,0.125,-0.25,0.5}, --Bottom Visor, Right +} + +streets.plBox = { + {-0.1875,-0.5,0.5,0.1875,0.5,0.75}, --Box + + {-0.125, -0.125, 0.85, 0.125, 0.125, 0.75}, -- Pole Mounting Bracket + + {-0.1875,0.0625,0.3125,-0.1375,0.4375,0.5}, --Top Visor, Left + {-0.1375,0.3875,0.3125,0.1375,0.4375,0.5}, --Top Visor, Center + {0.1875,0.0625,0.3125,0.1375,0.4375,0.5}, --Top Visor, Right + + {-0.1875,-0.0625,0.3125,-0.1375,-0.4375,0.5}, --Bottom Visor, Left + {-0.1375,-0.0625,0.3125,0.1375,-0.1125,0.5}, --Bottom Visor, Center + {0.1875,-0.0625,0.3125,0.1375,-0.4375,0.5}, --Bottom Visor, Right +} + +streets.plRhythm = { + toRed = { + {name = "streets:pedlight_top_dontwalk", pauseBefore = 0} + }, + toFlashRed = { + {name = "streets:pedlight_top_flashingdontwalk", pauseBefore = 0} + }, + toGreen = { + {name = "streets:pedlight_top_walk", pauseBefore = 0} + }, + toOff = { + {name = "streets:pedlight_top_off", pauseBefore = 0} + }, } streets.tlRhythm = { toRed = { - {name = "streets:trafficlight_top_yellow", pauseBefore = 0}, - {name = "streets:trafficlight_top_red", pauseBefore = 3} + {name = "streets:trafficlight_top_red", pauseBefore = 0} + }, + toYellow = { + {name = "streets:trafficlight_top_yellow", pauseBefore = 0} }, toGreen = { {name = "streets:trafficlight_top_green", pauseBefore = 0} @@ -39,8 +73,10 @@ streets.tlRhythm = { streets.tlRhythm_left = { toRed = { - {name = "streets:trafficlight_top_left_yellow", pauseBefore = 0}, - {name = "streets:trafficlight_top_left_red", pauseBefore = 3} + {name = "streets:trafficlight_top_left_red", pauseBefore = 0} + }, + toYellow = { + {name = "streets:trafficlight_top_left_yellow", pauseBefore = 0} }, toGreen = { {name = "streets:trafficlight_top_left_green", pauseBefore = 0} @@ -58,8 +94,10 @@ streets.tlRhythm_left = { streets.tlRhythm_right = { toRed = { - {name = "streets:trafficlight_top_right_yellow", pauseBefore = 0}, - {name = "streets:trafficlight_top_right_red", pauseBefore = 3} + {name = "streets:trafficlight_top_right_red", pauseBefore = 0} + }, + toYellow = { + {name = "streets:trafficlight_top_right_yellow", pauseBefore = 0} }, toGreen = { {name = "streets:trafficlight_top_right_green", pauseBefore = 0} @@ -81,7 +119,9 @@ streets.tlSwitch = function(def) end local rhythm = {} local nodename = minetest.get_node(def.pos).name - if nodename:find("left") then + if nodename:find("pedlight") then + rhythm = streets.plRhythm + elseif nodename:find("left") then rhythm = streets.tlRhythm_left elseif nodename:find("right") then rhythm = streets.tlRhythm_right @@ -111,6 +151,7 @@ streets.on_digiline_receive = function(pos, node, channel, msg) return end -- Tl states + local ped = minetest.get_node(pos).name:find("pedlight") if msg == "OFF" then streets.tlSwitch({ pos = pos, @@ -127,10 +168,20 @@ streets.on_digiline_receive = function(pos, node, channel, msg) to = "toRed" }) elseif msg == "WARN" then + streets.tlSwitch({ + pos = pos, + to = ped and "toFlashRed" or "toWarn" + }) + elseif (not ped) and msg == "FLASHYELLOW" then streets.tlSwitch({ pos = pos, to = "toWarn" }) + elseif (not ped) and msg == "YELLOW" then + streets.tlSwitch({ + pos = pos, + to = "toYellow" + }) elseif msg == "FLASHRED" then streets.tlSwitch({ pos = pos, @@ -171,6 +222,113 @@ minetest.register_node(":streets:digiline_distributor",{ } }) +minetest.register_node(":streets:pedlight_top_off",{ + description = streets.S("Pedestrian Light"), + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2}, + inventory_image = "streets_trafficlight_inv.png", + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.plBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_pl_off.png"}, + digiline = { + receptor = {}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + minetest.get_meta(pos):set_string("state", "Off") + end + end, +}) + +minetest.register_node(":streets:pedlight_top_dontwalk",{ + drop = "streets:pedlight_top_off", + groups = {cracky = 1, not_in_creative_inventory = 1}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + drawtype = "nodebox", + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_pl_dontwalk.png"}, + node_box = { + type = "fixed", + fixed = streets.plBox + }, + light_source = 6, + digiline = { + receptor = {}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, +}) + +minetest.register_node(":streets:pedlight_top_walk",{ + drop = "streets:pedlight_top_off", + groups = {cracky = 1, not_in_creative_inventory = 1}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + drawtype = "nodebox", + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_pl_walk.png"}, + node_box = { + type = "fixed", + fixed = streets.plBox + }, + light_source = 6, + digiline = { + receptor = {}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, +}) + +minetest.register_node(":streets:pedlight_top_flashingdontwalk",{ + drop = "streets:pedlight_top_off", + groups = {cracky = 1, not_in_creative_inventory = 1}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + drawtype = "nodebox", + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png",{ + name="streets_pl_flashingdontwalk.png", + animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}, + }}, + node_box = { + type = "fixed", + fixed = streets.plBox + }, + light_source = 6, + digiline = { + receptor = {}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, +}) + + for _,i in pairs({"","_left","_right"}) do minetest.register_node(":streets:trafficlight_top"..i.."_off",{ description = streets.S((i == "" and "Traffic Light") or (i == "_left" and "Traffic Light (Left Turn)") or (i == "_right" and "Traffic Light (Right Turn)")), diff --git a/trafficlight/textures/streets_pl_dontwalk.png b/trafficlight/textures/streets_pl_dontwalk.png new file mode 100644 index 0000000000000000000000000000000000000000..3abc77699f6f943f72c26065f070d31a4ff57556 GIT binary patch literal 631 zcmV--0*L*IP)j5ff#(JQd4>6;4c)-s0WqCU+0c20PG>;dZyX!|02&71a=EZkw@mUpXQLMx z@CZ1w>S;5t`Nn z?dt(=0;novxZ4P|6lkYN(Dqbk3;>_m&H=K9_xpXV`_1Qb_d7wH4*&;v!~t?WU)SWh zLSz5{008ZAfR1pn*=(3!c22NrU*Wtah!Ow*4s(D`ZLL>FWxd%R|HNjqS*7K!1nYD<>}8zcR5} R?q&c0002ovPDHLkV1iXB6ypE@ literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_flashingdontwalk.png b/trafficlight/textures/streets_pl_flashingdontwalk.png new file mode 100644 index 0000000000000000000000000000000000000000..4fbed1e852ef51c2562ce693b784d7107b52a5e7 GIT binary patch literal 798 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3HFEH|A#nDYhhUcNYdh5WGD7%@3dmXMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_z{({eE0!C@bDe>KX|<<|V@SoVw{!019Wvl)oxSZ3 z2TRBFn}^>pemAHV%G<%fsj>fNsA`fZn~Cr2Uz3Q%^s= zbZ@=;;)$PseXT0J7CFuG_35XN)_k@pzqb17soT@HUQ=6n{_OFzV>48Ir_8QmD7s%? zU?5@f`tr*!CAKnr^Vj8XmzD!MO+b+SL~-5z`}Vc_ZN5MKz5H@!3`0m{pon~Jo{gL^ z(_Z!ib@gAl8+1<3d409lo+-&}wq^JixeMQ9+nE^_Br=?PzPb1+@8riHU&QSF&`{L; zDP3CT;z|Jx^ZdHHuSE_g&YDl+TAul;^z$Y)iM{MLyACgWU$a{A!nL%M%uWRdQj7|( z?Y_J2-pPdA|27L=t;v5asd)Vyqay=H;LVpj47cB2i#$DR-WyRd*NGCzlQy~kjPEu0 zS9O3nD0{WLq@Cca2xGJNho)!zTEWfLpklMr^5*NwrOr3QSA5QKRO0~pZ60&VUB7eO z5!sV}?_4rT`PBWDGx%3nab11FSm1Eq(&5;K8ncS)V%@HPW-5GUEND>Tn{fVfsqZ<_ zM~uLbDZI-3>e`o-xJGs$r(`y>-CS<2so@VmQi-pDs?GQ-RINi;57gMzzb*`KDz%V# zw2u8m-26AfCn_0#?s_uiY#K8=LxVrVtv6@4=U$8YFQef3Huf)rXI1ZcuEp{UoRc`K zOusO5Ffv>?%lLvlL;~W3ie-`?Iz7)ee68vQTRelg<~!T$3p@vyffmnt%y9qz=k|liiESL?{puoc5V9vfk-T@d~Ul}YMHnZ=UB)f`<;V;k#3%1?74P}2D Z><>&pIsl}kiKCdN0efq{YXgr|#RNX4zUQMcDM83-&X>UEpa za=Q8d|NK2!i|)Lvv{Em7e2_^rYG$qULAJKLnbxssntd8wKa9WC#_zaSI=3PBwphXK zZA@h{?guL88BaaGd$XCGLc(hni&g9;vEc_wWBHTLe`YJZ|NR7m00WcBMTT=fZ&yFE z5c}}>qr{&1=YD_rcle>fFG-2y`HBfyQ&KHo);kI;U~y>hlTrwd&YY!Hd*Ja$i=F!> zGAb~z=-Bg``7SQmvuf1@5LaRen4-fnx%1CAH>_OlexB>}rY#c5V$bg+_3Zu15nA2UJ^etv{(@UCE=+6K z8dnm^8&SO~*sbBr_0yYjK0JL9DgTy#!C&T*d`5qP*9-y+wsQpW_kZIqIQReApY+}z ze{+TZGOlmQF@DXEabSBk!`g?p- zTfA-elr@Vq&U|AAy2)03!C$5?R#&II{>sG*@_Xzbh9>6;e($0cJ~04+r>mdKI;Vst E0L}pJ`Tzg` literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_walk.png b/trafficlight/textures/streets_pl_walk.png new file mode 100644 index 0000000000000000000000000000000000000000..392f0248efe3035797a0d8bf2aaec3d933974cfb GIT binary patch literal 628 zcmV-)0*n2LP)&iPeR}iJpLQi%PEbVD>(xhRQWQn4P zzv`>iN_bw^wV*E+3qil#Zi4POj-Ve72PSjAwq>{g0Mh|*WDn@NuApBomsWkbT(;`> z`yCbl004j{9KbpM_|9&(6ZAaKTi>T~pT56dufLuHV{8}zewDH;fBK*2d2j&$pc4ml z@vS(HrA~0O+5GI^umAu60LBl4*Xvd4cvV%w0ssI2m=Fipwp>hUO%N6U004mA9N_!D zpr6m@UgLGi|6u_DKqD7;Cu3B0MggFUKW?{ML8mo6dRJJMrNtPtIOi5)>|>2kc1>_} z7ie05>_UgO0H|81QVviZ>ZAeCW%rUKX>!bYvw10r+7N`m08~_0HCP7-mqx}M$ z^S_w?$`Q}sjOY(|M`XsF1Hb`u=K$)%r_-s|cwrb$|0Ib10B}IFWLaiqSvDUIp!s}X zp?!t3%LZxkWJEgr&g4}AVXIhtk|h5YtcnMu*96lv74%Pig3sM=0)U