From 638c3a33e062fdd8fb90eaac7ae356dbd7ce0123 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Thu, 26 Jul 2018 15:58:50 +0200 Subject: [PATCH 01/36] pandorabox custom --- technic/config.lua | 2 +- technic/machines/HV/quarry.lua | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/technic/config.lua b/technic/config.lua index bb748ec..64c09f8 100644 --- a/technic/config.lua +++ b/technic/config.lua @@ -8,7 +8,7 @@ local defaults = { enable_flashlight = "false", enable_wind_mill = "false", enable_frames = "false", - enable_corium_griefing = "true", + enable_corium_griefing = "false", enable_radiation_protection = "true", enable_entity_radiation_damage = "true", enable_longterm_radiation_damage = "true", diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 86ca395..6aba877 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -161,10 +161,11 @@ local function quarry_run(pos, node) end if can_dig then + -- test above blocks if diggable for ay = startpos.y, digpos.y+1, -1 do local checkpos = {x=digpos.x, y=ay, z=digpos.z} local checknode = technic.get_or_load_node(checkpos) or minetest.get_node(checkpos) - if checknode.name ~= "air" then + if checknode.name ~= "air" and checknode.name ~= "vacuum:vacuum" then can_dig = false break end From fe917c7b23b1ea86d517f50ee1d13a5f06e61f8c Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Tue, 28 Aug 2018 12:06:29 +0200 Subject: [PATCH 02/36] config --- technic/config.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/technic/config.lua b/technic/config.lua index 64c09f8..5108475 100644 --- a/technic/config.lua +++ b/technic/config.lua @@ -3,8 +3,8 @@ technic.config = technic.config or Settings(minetest.get_worldpath().."/technic. local conf_table = technic.config:to_table() local defaults = { - enable_mining_drill = "true", - enable_mining_laser = "true", + enable_mining_drill = "false", + enable_mining_laser = "false", enable_flashlight = "false", enable_wind_mill = "false", enable_frames = "false", From ebf4ad0fd767c07008d094b0464500a972d4ab34 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 15 Oct 2018 20:21:30 +0200 Subject: [PATCH 03/36] custom --- technic/config.lua | 2 +- technic/machines/switching_station.lua | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/technic/config.lua b/technic/config.lua index 5108475..a1d3777 100644 --- a/technic/config.lua +++ b/technic/config.lua @@ -8,7 +8,7 @@ local defaults = { enable_flashlight = "false", enable_wind_mill = "false", enable_frames = "false", - enable_corium_griefing = "false", + enable_corium_griefing = "true", enable_radiation_protection = "true", enable_entity_radiation_damage = "true", enable_longterm_radiation_damage = "true", diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index d645847..7f5cf31 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -234,6 +234,7 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) if not technic.powerctrl_state then return end + local t0 = minetest.get_us_time() local meta = minetest.get_meta(pos) local meta1 = nil local pos1 = {} @@ -444,6 +445,12 @@ minetest.register_abm({ meta1:set_int(eu_input_str, 0) end + local t1 = minetest.get_us_time() + local diff = t1 - t0 + if diff > 100000 then -- 100ms + minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) + end + end, }) From 5ab0b6383a9c66061040458dc4a1159c8649d827 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 15 Oct 2018 20:23:11 +0200 Subject: [PATCH 04/36] enable drill --- technic/config.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technic/config.lua b/technic/config.lua index a1d3777..67f4984 100644 --- a/technic/config.lua +++ b/technic/config.lua @@ -3,7 +3,7 @@ technic.config = technic.config or Settings(minetest.get_worldpath().."/technic. local conf_table = technic.config:to_table() local defaults = { - enable_mining_drill = "false", + enable_mining_drill = "true", enable_mining_laser = "false", enable_flashlight = "false", enable_wind_mill = "false", From 26474b3f5c6d44f772d57ecfc2df03c2341c387a Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 15 Oct 2018 20:24:05 +0200 Subject: [PATCH 05/36] owner check --- technic_chests/register.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technic_chests/register.lua b/technic_chests/register.lua index 61d49d3..98f01eb 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -304,7 +304,7 @@ function technic.chests:definition(name, data) def.can_dig = function(pos,player) local meta = minetest.get_meta(pos); local inv = meta:get_inventory() - return inv:is_empty("main") and default.can_interact_with_node(player, pos) + return inv:is_empty("main") and player and player:is_player() and default.can_interact_with_node(player, pos) end def.on_skeleton_key_use = function(pos, player, newsecret) local meta = minetest.get_meta(pos) From 80e9e44099a573420c58eae034048ab1964179ac Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Tue, 16 Oct 2018 13:27:21 +0200 Subject: [PATCH 06/36] timeing info on switching station --- technic/machines/switching_station.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 7f5cf31..7434595 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -404,6 +404,12 @@ minetest.register_abm({ meta1:set_int(eu_input_str, math.floor(eu_demand * charge_factor)) --dprint("Charging battery:"..math.floor(eu_demand*charge_factor)) end + local t1 = minetest.get_us_time() + local diff = t1 - t0 + if diff > 50000 then + minetest.log("warning", "[technic] [+supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) + end + return end @@ -427,6 +433,11 @@ minetest.register_abm({ meta1:set_int(eu_input_str, math.floor(eu_supply * charge_factor)) --dprint("Discharging battery:"..math.floor(eu_supply*charge_factor)) end + local t1 = minetest.get_us_time() + local diff = t1 - t0 + if diff > 50000 then + minetest.log("warning", "[technic] [-supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) + end return end @@ -447,7 +458,7 @@ minetest.register_abm({ local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 100000 then -- 100ms + if diff > 50000 then -- 50ms minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end From 83a946410c8740d1b98e0f92caa2c266a2496924 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Wed, 24 Oct 2018 09:21:19 +0200 Subject: [PATCH 07/36] timing log --- technic/machines/switching_station.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 7434595..646b306 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -406,7 +406,7 @@ minetest.register_abm({ end local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 50000 then + if diff > 20000 then minetest.log("warning", "[technic] [+supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end @@ -435,7 +435,7 @@ minetest.register_abm({ end local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 50000 then + if diff > 20000 then minetest.log("warning", "[technic] [-supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end return @@ -458,7 +458,7 @@ minetest.register_abm({ local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 50000 then -- 50ms + if diff > 20000 then -- 50ms minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end From d129ecd48ae608e1f7cf3def8af8703486818484 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Wed, 24 Oct 2018 11:10:41 +0200 Subject: [PATCH 08/36] hv furnace --- technic/machines/HV/electric_furnace.lua | 13 +++++++++++++ technic/machines/HV/init.lua | 1 + .../technic_hv_electric_furnace_bottom.png | Bin 0 -> 427 bytes .../technic_hv_electric_furnace_front.png | Bin 0 -> 555 bytes .../technic_hv_electric_furnace_front_active.png | Bin 0 -> 536 bytes .../technic_hv_electric_furnace_side.png | Bin 0 -> 421 bytes .../technic_hv_electric_furnace_side_tube.png | Bin 0 -> 2449 bytes .../textures/technic_hv_electric_furnace_top.png | Bin 0 -> 1772 bytes 8 files changed, 14 insertions(+) create mode 100644 technic/machines/HV/electric_furnace.lua create mode 100644 technic/textures/technic_hv_electric_furnace_bottom.png create mode 100644 technic/textures/technic_hv_electric_furnace_front.png create mode 100644 technic/textures/technic_hv_electric_furnace_front_active.png create mode 100644 technic/textures/technic_hv_electric_furnace_side.png create mode 100644 technic/textures/technic_hv_electric_furnace_side_tube.png create mode 100644 technic/textures/technic_hv_electric_furnace_top.png diff --git a/technic/machines/HV/electric_furnace.lua b/technic/machines/HV/electric_furnace.lua new file mode 100644 index 0000000..50ed588 --- /dev/null +++ b/technic/machines/HV/electric_furnace.lua @@ -0,0 +1,13 @@ +-- HV Electric Furnace + +minetest.register_craft({ + output = 'technic:hv_electric_furnace', + recipe = { + {'technic:stainless_steel_ingot', 'technic:mv_electric_furnace', 'technic:stainless_steel_ingot'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_electric_furnace({tier="HV", upgrade=1, tube=1, demand={4000, 2000, 1000}, speed=8}) + diff --git a/technic/machines/HV/init.lua b/technic/machines/HV/init.lua index d7136b4..d2b2c32 100644 --- a/technic/machines/HV/init.lua +++ b/technic/machines/HV/init.lua @@ -15,4 +15,5 @@ dofile(path.."/generator.lua") -- Machines dofile(path.."/quarry.lua") dofile(path.."/forcefield.lua") +dofile(path.."/electric_furnace.lua") diff --git a/technic/textures/technic_hv_electric_furnace_bottom.png b/technic/textures/technic_hv_electric_furnace_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e445eeddbff990f73a4b7a809288ad0dd8ac41 GIT binary patch literal 427 zcmV;c0aX5pP)#)eJUQeyE4)MM1h*Q1EX!*1J1JS2O1Fp7n`M)N!$QR9eUac_b9t|u~({yvS- zb!>N~^kSivU|iMpC7XWx7-$Z_bTYY`O->80=hOLYHjGt*n9|Yi$UOj{>qQL!z5y3b Vm)vfxE-3&2002ovPDHLkV1iXctepS= literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_electric_furnace_front.png b/technic/textures/technic_hv_electric_furnace_front.png new file mode 100644 index 0000000000000000000000000000000000000000..821f3de949a81d3b8087b75025bd38bfdd1c1df7 GIT binary patch literal 555 zcmV+`0@VG9P)%&FAyroTI8L4u=E3nO?6)ysRHvxb@<=>a{k9>yK8i3R3^u-70_xotA z+3)v>^pVfr9AsGrz+f=IImh{Yeh7pR2q6HVwPrLLr9C62ltL+$#3KJqAc{mMA%qm@ zbJ$T#zAFNJet!NKVs!SrP6lv3pHnaqm`+wBk$@;s-iDnx|EV!>oGNg0U<^?IEw zgpksH9_JkQ`yJ;T0M^>HLcHU>N2;oN`66pAAq0#u-0ycn2t-a4GsfVY!#Rf>kH?pn z%d+Hpy>h$VFvehv;dZ;x>-8wh5`fKS^Yxvx*(@}hO|mSbD2midtu7yj4>Pz t2iom6Aq0w|c=R9^<$KTnH^!Kh**{+N42dkcA(j9D002ovPDHLkV1lre_E`V` literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_electric_furnace_front_active.png b/technic/textures/technic_hv_electric_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..a66443330cf426801bfb216534a2c400af4723cb GIT binary patch literal 536 zcmV+z0_XjSP)J*Wdm;olXG|LSU`MT8ql_{EYx$-yUAxKavenN&v3c>ti2a zKA$6{B+v7(^pR}d6hu)3z+$n$7(-Q6cLL`e&N%?2l&n^(aHq$F5C|axncsgS@FZS| zb1oSAY_=y;Ul{?8$K$sqdS%b&L;zJ)1!FvrWf}Y3f&K14mSrzkS(ag6Etkt6=W@Al zI-LMWk|g{#91Z~jwqCDMN}-e@@&)lXr)kQ5cL;I%X!pAVX_^L)lv2cTjCywYd5keX z#^{`T6shaFmxz2bwbpk-`xRZ+y^w0HF~(qwL6v3s@=M#c9Qzeb(*W>GebO`yfByca zZCe1&=kp`Z&1U09qY+UQQP*{7rIeB=ih?q0Em~`eqF^$a;GCnb>w6D;QNH&4r_ox6 a-uwg6!tSLRfO8Q500002i@Dbr)p?kgAFZiwG_d5mZ%GxvHv50^9924i3O7hd2a61`yP~ZA_E?k^CobV6%`!Gqm=RgeP8NF$+%_$dfqI~& z6${@IjO&A?kLvBi|291w46a9m^MRZ3a6B4y&niJoY0vuqlXhxaQ3HS<27S literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_electric_furnace_side_tube.png b/technic/textures/technic_hv_electric_furnace_side_tube.png new file mode 100644 index 0000000000000000000000000000000000000000..bfeba18077fb13c9dd98f7cf08b37319692ee1cc GIT binary patch literal 2449 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 O0000 Date: Wed, 24 Oct 2018 11:17:25 +0200 Subject: [PATCH 09/36] hv grinder --- technic/machines/HV/grinder.lua | 13 +++++++++++++ technic/machines/HV/init.lua | 1 + technic/textures/technic_hv_grinder_bottom.png | Bin 862 -> 738 bytes technic/textures/technic_hv_grinder_front.png | Bin 716 -> 733 bytes .../technic_hv_grinder_front_active.png | Bin 733 -> 764 bytes technic/textures/technic_hv_grinder_side.png | Bin 753 -> 726 bytes .../textures/technic_hv_grinder_side_tube.png | Bin 791 -> 739 bytes technic/textures/technic_hv_grinder_top.png | Bin 616 -> 542 bytes 8 files changed, 14 insertions(+) create mode 100644 technic/machines/HV/grinder.lua diff --git a/technic/machines/HV/grinder.lua b/technic/machines/HV/grinder.lua new file mode 100644 index 0000000..e79b933 --- /dev/null +++ b/technic/machines/HV/grinder.lua @@ -0,0 +1,13 @@ +-- HV grinder + +minetest.register_craft({ + output = 'technic:hv_grinder', + recipe = { + {'technic:stainless_steel_ingot', 'technic:mv_grinder', 'technic:stainless_steel_ingot'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_grinder({tier="HV", demand={1200, 900, 600}, speed=4, upgrade=1, tube=1}) + diff --git a/technic/machines/HV/init.lua b/technic/machines/HV/init.lua index d2b2c32..7e4c9f4 100644 --- a/technic/machines/HV/init.lua +++ b/technic/machines/HV/init.lua @@ -16,4 +16,5 @@ dofile(path.."/generator.lua") dofile(path.."/quarry.lua") dofile(path.."/forcefield.lua") dofile(path.."/electric_furnace.lua") +dofile(path.."/grinder.lua") diff --git a/technic/textures/technic_hv_grinder_bottom.png b/technic/textures/technic_hv_grinder_bottom.png index fa2c135a56e61f58836bf878be3455830ce86f4c..70f34ee664bee5a994d893cd33bb9409868247b4 100644 GIT binary patch delta 689 zcmV;i0#5zj2I2*fJ%0-m000XU0RWnu7ytkO2XskIMF-si1rIqlk`HN%0007SNklG-BQoBMhK~4GYdAX;6f~rxB)vPZZu+=8M-U~!cN;Pim8xd z8}TXL3-!bEbKmzJYb~`_0QPNTnrB*TSZg`Y6QebfGt)GYbARSI4(54A@B2=Sk?C>) zAjXLIp4J+zHHDG`Q&WnDSXlWp4wA&_&%IY;lEbzO-u za-JvFTDE=Xn|Y>`f-R*WB8UjiT5`^moSEjC6eIh-lTzZ}FJCamK<`M-Xsyv&W0g_> zjN{01y)uM=0)N(ZrPfOCo%1|NDRGFPlp@ARYwebx)yldo#25)7a2yBEAHJj44z1IG z+6qc*{`})FmSv%}hWDP{8ny#5CA{~PQiv&$bK$pNf9K=JzcJSE`1rujzx;%Cjv)k$ zF|6x~(HiZ&=keizQVP@Mf>Mfc7}@s&5n)?5UOxRpEq^D&FmOo;r4;X;o^F^$gx(s% zFyOsMK7WSZC}-ho8KY?^lv4M*E(rC7$~)n;)onVt(AG6s4cUu zE4}xdTv}6W#n$uWD1~tx(Mmz@EZf3|AHT=h5v#xt10p+FgmD~^!cE5;aX2muix=S&u%Z5zfIYOQ$h*|rT4 z;VcE;8aZdeINlZ4tu^Lp!a0XFhL{r8T0#goYkBwdgx2~dPwzLB|I;X?VE26|=gb(w z{fUm_KxqxY>)YF18t*;5cbv5xB6#o7A%q(%r792+0GxAp?*T|DVT?g3b?>uQzApX` Xm@{czn-!&r00000NkvXXu0mjfA(BT* delta 814 zcmV+}1JV5A1>OdbJ%0|d000iL0i28<+5i9m2XskIMF-si1rHoBRRA8``9%675h`32IUR|(~I%lXA6bz9?D%l+LgP2C~~qeK3= z{)^AvzGXI>adUe^p69s2p{Z+wc+Xhj&HvG8e6xttp!J*>k`L- zUw`?H$z;lMwPre*FbG3rmaK>lBF;{a`TP0>fxPVNu0?+p_mEkx(rrH*)k`>>5{}mlS#HGboiXzW| zmSnZYXpLhnL8pV1u8VYC_GQVuD0uV9r~L8zpQLGyBOI#I(CaCh+HiDuNS1GK9FS5n z9uJYHCuiK;{fi?czVCB;dkYp0kB<Hh-z0MMo00x zIF4~$Nk8nPQ~-`;c+h8C6b!;HO=HNndj`>f`^P8B{g!U0$9%p(s=#NtN(eg&BVB4^ zXxoM~&5%;kw$SbMXzUKxad|bJlB^SIqiGt06jI`OKC0Iv&2yx1(UoR28sd8%LEy33 sZYS7m3aY9m-xRz!JLUOlhP4j=0rm)i^Zq0A9{>OV07*qoM6N<$g86=j`~Uy| diff --git a/technic/textures/technic_hv_grinder_front.png b/technic/textures/technic_hv_grinder_front.png index a5bca0a08e864554d7e2fbe3eb50c1b422e7eb69..4638418083e64dd7795d3f25220085a0bf07bd48 100644 GIT binary patch delta 719 zcmV;=0xFT9iBL{Q4GJ0x0000DNk~Le0000I0000I2nGNE09MY9SCJtce+v@; z01FcV0GgZ_00007bV*G`2jU7C2@VaXrX55800L@BL_t(I%Y~G?jvYl1hQF$=K4)gm zVKZw391#;bfdG?{@&G&uv13bq5E8$E1#e*@tPPN5q1Cc;?XDu|b4J=^X{m$m*3{+u z{~Gz}&9_nNMnuqc9q03zuIs3^f3j^G6fiRY+#OZj&!rT$T8X@1hhxS(5fO+8^E|Vz zD-nUaLje&XBB-?@BBYdXch+@9&5+}U^?i?s;O=Z|VciyLtq?*o#l(mRB7&3>IcLla zkJdzLe7V0mCp*^MZ9<$2HJ3%XNDV%3O#DRCR}3N*CVaU97x zv#u+r(}{6h==+{&nnPc$!r)Hbs zFth@0Z*O-VBElaZe#b5qT+O$xE63vzcW3B()@9+lAHK(HF#S6MVB3^3@u7l zqm+Uz^GYBe}4Q(%9&aUh;T3?Uo}43u^Z5q5CA+(Oc0hB^&j$MPMx002ovPDHLkV1n6G BLM{LR delta 702 zcmV;v0zv)V1y-EHt8(kVptak{Otv+b)tq7gp)nbl2(A zKUIBX;mNXMz%~Q4s8J)-MTIyae{c?o9eIC>&q~6@7!w)lvsvAQ1}9EH!B-wrL3?SP zwd5MEHb@25T7s4}HGd)q0@}CQ z+}dpO>g#K4;6M~74U3i@6uLjVbbDR?hO#W#`?$yA$`YnwK|!p=*u){Be?go+yEeSmZGXJI#=(bo0KEVFe+@0hNZ3M)Fkb7eRj5Y@n*&~BZoK2&h{=ZUhb1bjwoz!G8kdS;HKkKvZ4Us@UVkwfl$!x zrz~AfIdf-p`zh!IoohxX0~)P>BwodxjB}Ft_eRqUs8FEDb1w3Xe+x6qmFiNny0(T& z#H1*3qtg^q=KvJx5V!z5`6MMfJHcv6K1qQbFcj$!r?G4oTH|tRL`*21u8)39ZlK$^o}@g((R9s2aoP)mYoAI=>MDvmlt6@*Z=?k07*qoM6N<$g7exx#Q*>R diff --git a/technic/textures/technic_hv_grinder_front_active.png b/technic/textures/technic_hv_grinder_front_active.png index 40776302c6241ef3733d5118333b8d2ce4259320..d713ee0248a14478498e2409742fecb124fc32f9 100644 GIT binary patch delta 750 zcmVSgOh=_z|AUN?J8yv^Zu2;AA*zWEk@Y-U8bd=O` zS6TJ-|5vqq_QS^>(}cTI*EPG{e~!AYNhvW+6GSjG0CLW#>Z->WnNq@w0V}Hl%K>*s zL^z#JjN^#AlXHd$B7(b%vJsV(_7vr-+ccOInBYVy2b<8&MQtLvO3j8MT+zP#U5jv@dGxS4XGHgx~^FQEm@Y6lM_!7 zcSluMkYkL92xc~eZ3%1JmJq_)(vqnt3bax*&vsQsM3|f9nRCrlIe9LWtxkV`kXP!%I@kq&#O?aL756lT&YMR26r} zLP4`_2x>Ijd2BZ2W-j1xIIMVx2*)?KJlpL!wk=I*lvTyu-5pn#mqd3yJRE56@6laJ zPEP->1HihjTNzVTrj+>Q*FSh@UjcCO{522lD=wbDUYY#zi%+Qse<7xcs;bC2Ke3kl zjNaMt&(-nYcYt^I_dL7&0F6qaMvM_1P9x(q5Yx=Ye!u^ZBS2|CuU{=oQaqnKn}L*d z8UOnG?U~~kzgzE%*fI_Z_{^?+{q0x2UlbTwRh?f0AcVkve{rU}3%lI~c5`#{-UTh5Dp?$X gGyV4Vj?HGnKYr+ZYvqdhOaK4?07*qoM6N<$f@&34{{R30 delta 719 zcmV;=0xFT9iBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZyme-5z# z01mMMoQxmZ00007bV*G`2i*b%4)4y9%}-slt9BRUG5R#!2k0)ZlU+95b&(&pHJm7pL0O7znHEJ_B=4OrBqUh` zXwGJUGiPQFFh@3iy{QhK-f%#nD2HgooW*hk`w7k~Zvk&}49w>!6ZaPNCY zCu59uE#4~LDp}$wl9{*_*6WI? zvtCDRF4JWQczb(0d58#V@)f|=G1n7rtAQ7z9u0G)M{@sX1HiX!I~`M1OdVAniZX~W zYCD*xg>BooTrS)n8}qc#qB74jz4xbUF~;GgDEr_;e$AN|qfAbjoEC*LIogz>PHPR{ z9|t*tj-XiD7o(@uJ%d(wu4qjx~I7ez-B!5JF8rH?04J>`ZU8e1r>wg`ne`6Fptnh1dD@- z@ooJ^M6i|>Gb2;D-TuJe-{1MaRZ2PM?iJMko`3)To6F_Gzhp|M*z&y5MF0Q*07*qo IM6N<$f-{**H~;_u literal 753 zcmVPgQr{d*`LGi~?Ew8G^vU2G|O#VFm0C5D-QV1C}jW(#&XH_tjm+ z$MBgEnUN<`Wv+JZ#Ii{S{?X3D-GoG{%%XAzx5F#ms^f(qJ1)CWVNoXkTZoF#M;uG41UX?Bfi}Zdz#ZBI2Jz<~f8x#e-%+PXcR1oP zVM9R!bo~Gthzh&*fS8iKFsT!LH?Tj9#QpKe&GoNHn$Zp&i^YPHk5qBS)59HS=Sy5F zwwo2Nt}fYZHrx#z-@Ja!`wyQ`&m$!`O&w4(tnWc9pqMtFKwz-Ll<0p^Y$~ToPBi zmbt;v3uXPte0D+UcdWc3inHGJTwT7TeO~d`pTE#l4fW!jY=QkS64#q&w6xf8pqWg0 z_c>}kfp6~$QUL_P~IgR}G?qA|Rf8Q|9Bgeku{NgJ{5+i}-ix(Vs zEgCA`y?swTsaQLrGXbvmBCLT@HGND?i{LV9)`p{`w#C!>`}v z78{w#IF6i7C&qCkBG|SKso?Gaf3((6)%{&-Ws4xof|oB>`qeUNn7)P3cpU-DR1XbO?QVOM%f4*Q$>K4>m z5fN&wtZSpz+L@b?S@F~9v~RrW6cI!O08=^a0*gpzbUo9|7~F{x_&ARHpxc&+VEE%( z09Ia+K>hw{XXox+Y!CeT`57}qRdGB9@Sphew}ok%nCBU@e@fe0H|PHGo~VszealUU^ZNN;LzY;$yT8NKnZD|=IS$88 z;PLU1h@eFmT21x<{u2)m4|p-QwPLQcNaoKkoxsn({FFDxR25T4Rl5Nhs2E#aISeB& zFE1RAN9M~5hhe0~#-IbOwX17!t;3a3wr(-`+A}Xk8JsdWH40^Lf3zw^omwltTvn3q zl%QDJ?%pjDErYsg59AgIO4Qffi3qN$WXfJfbG?RAY2ic!#XJ3Jny6baP6whkM0>b0 z6Tdb2*6xTPGui4&-Fmu*L+JvWaam?2IdWNM+zRU22Wbi_2J&}@1}kvrp^FGc2NUDX z^oEFFDidZ#rf@oaD~&%rJ@J1irR=@Cwg1cahYz1P9*_J5>lBCAvQCOw00000NkvXX Hu0mjf;AckK delta 777 zcmV+k1NQvm1(yaPiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZyme-5z# z01mMMoQxmZ00007bV*G`2i*b%4jwD4CMNhnl%#5t8 zuIffDjRxV25CZW7d603xI)GWhHFI8DvuCY9fhU;DF824P$ zd~~S@*hPWP39Law##jLhvT($^e~~mq+`7b6LOMi@Ge{{o;|wU|n9(UCl>kqjA(Q)r ztP8LPQ&@CLm{Pz%j*82t2&Eu^)E1pHs*02rHRfqmQu35A)}S$?Q87-yC}O;Q0zw7_ z3WE_rLqaOS6hdrg+_FI9lbUz|0pl#rE*+_h7-P_o$U#Y(S*#Z1A>%7ge+U5+4U`5= z8LVJb(U@>~NEj#o9VqktuvOhEjkGn}N!Ea#8?NO6+zA z!aQ^Aj^uU*RTv7$;I2RUe~J%2e4natj9pK1j$yYWguwr?R@nC)-+%cnAqDEHU>avm zUBI3Co||8O!W0d|Jkm4`=c}5sbc~ZF#f0}2Nh8zPv){M8nMdAz@q*jGU*j|el65RA z%QR+mo;Y-Y&%gMTx;jHpDqqoVH}r9$u#j!V_P)g$!F9(S{XFBPf5k7>><>rAIO7El z(=9e8QkrNQ&+4sr*xtS3u-hQsu&kfqw#R{GhF%k?ePr2O5~m$oEfEuG4-?OyU2xiO zxqti-UwW#u3u3mM=74K=dn66yxx?2B9`5fzGU&j=c7yjN`yIS`y+JL!_q;$*)(gka zFaN^*`Ns`m>FB4CUyIAP2^0h@>+^H^wv&J(=0G2h_5^56Oa%md%_qn<`NZt+lR3*OZG$lFVTTguD&O1dfPM zN|`mPh#LC!%Qt?+zwi4}rm94bxjWLbr>dlsxZQ3Ozx%KFFT@c+J3HbRep@vFtu zU;m81kGC7LKvN>CE<%^358;QYV6TO3+vrEb%>Et!wr!-82vvxw7< gv!<%+7=M?w?{)&U5cBlQcK`qY07*qoM6N<$g1{H+B>(^b literal 616 zcmV-u0+;=XP)I4j~UxQ;Ge7{`(KC`5WsK(U(bDXi>!R8oeu#bL_$^MVZ8nI z)d<>k!COKLycf{~4Rq~{zn|n|(7&w2N#xH#^gyfV(E|)M3cm`S1k9L6QTIe&7HB~% z4Zo6D1pzfouU`XJAwZXgx574B8;+Q&($p)77I+jMCb}Su;@oD!USMDekno=9Bw`Wc zpN;;$;4!V~ED%I*sJ(Y$73#C7K9ZoIiE-N@AOiB0#L@tuiHN`>Q9Y9A!daN09)tXq z1XHFBdh6)Yp?ugADA2hhZ${r6 z+VNJ0?7-!DUw->2#*YmYL_nqK^-Mg9y6tlsmxgzf&waAck79YoWmrYMrt+?nh)>I$ zfS{gI1)8*~2{FLWqV5CN zLF8Vx+aThY#K5?E7N-UoTxh--s@ zu4@M~6OI$BumT8TZPa~$jWtP(MbyV26m;)3M< Date: Wed, 24 Oct 2018 11:19:38 +0200 Subject: [PATCH 10/36] log timing --- technic/machines/switching_station.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 7434595..646b306 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -406,7 +406,7 @@ minetest.register_abm({ end local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 50000 then + if diff > 20000 then minetest.log("warning", "[technic] [+supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end @@ -435,7 +435,7 @@ minetest.register_abm({ end local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 50000 then + if diff > 20000 then minetest.log("warning", "[technic] [-supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end return @@ -458,7 +458,7 @@ minetest.register_abm({ local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 50000 then -- 50ms + if diff > 20000 then -- 50ms minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end From ee2728c26adc9ac8896194922d7eb8cdc7c78b2b Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Fri, 9 Nov 2018 07:56:18 +0100 Subject: [PATCH 11/36] fixes #441 Quarry uses a fake-digger created by pipeworks (hard-dependency) Fixes crash when digging empty protected chests (https://github.com/minetest/minetest_game/blob/backport-0.4/mods/default/nodes.lua#L1868) --- technic/machines/HV/quarry.lua | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 86ca395..b67ac48 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -146,15 +146,9 @@ local function quarry_run(pos, node) dignode = technic.get_or_load_node(digpos) or minetest.get_node(digpos) local dignodedef = minetest.registered_nodes[dignode.name] or {diggable=false} -- doors mod among other thing does NOT like a nil digger... - local fakedigger = { - get_player_name = function() - return "!technic_quarry_fake_digger" - end, - is_player = function() return false end, - get_wielded_item = function() - return ItemStack("air") - end, - } + local fakedigger = pipeworks.create_fake_player({ + name = owner + }) if not dignodedef.diggable or (dignodedef.can_dig and not dignodedef.can_dig(digpos, fakedigger)) then can_dig = false end From 012b961d8f1d0da55d3ae2bd8999feaa742e6ac1 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Fri, 9 Nov 2018 11:02:22 +0100 Subject: [PATCH 12/36] allow quarry to operate in vacuum --- technic/machines/HV/quarry.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 86ca395..0e6efef 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -164,7 +164,7 @@ local function quarry_run(pos, node) for ay = startpos.y, digpos.y+1, -1 do local checkpos = {x=digpos.x, y=ay, z=digpos.z} local checknode = technic.get_or_load_node(checkpos) or minetest.get_node(checkpos) - if checknode.name ~= "air" then + if checknode.name ~= "air" and checknode.name ~= "vacuum:vacuum" then can_dig = false break end From be544da77672f8aca94e47817a3a1a05fd5aeb13 Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Wed, 14 Feb 2018 20:25:11 +0300 Subject: [PATCH 13/36] expanding CNC coverage --- technic/machines/LV/cnc_nodes.lua | 68 ++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/technic/machines/LV/cnc_nodes.lua b/technic/machines/LV/cnc_nodes.lua index 05be9af..f27ce73 100644 --- a/technic/machines/LV/cnc_nodes.lua +++ b/technic/machines/LV/cnc_nodes.lua @@ -15,18 +15,56 @@ technic.cnc.register_all("default:wood", {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, {"default_wood.png"}, S("Wooden")) + +technic.cnc.register_all("default:junglewood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_junglewood.png"}, + S("Junglewood")) + +technic.cnc.register_all("default:pine_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_pine_wood.png"}, + S("Pine")) + +technic.cnc.register_all("default:acacia_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_acacia_wood.png"}, + S("Acacia")) + +technic.cnc.register_all("default:aspen_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_aspen_wood.png"}, + S("Aspen")) + -- STONE -------- technic.cnc.register_all("default:stone", - {cracky=3, not_in_creative_inventory=1}, + {cracky=3, stone = 1, not_in_creative_inventory=1}, {"default_stone.png"}, S("Stone")) + +technic.cnc.register_all("default:desert_stone", + {cracky=3, stone = 1, not_in_creative_inventory=1}, + {"default_desert_stone.png"}, + S("Desert Stone")) + -- COBBLE --------- technic.cnc.register_all("default:cobble", - {cracky=3, not_in_creative_inventory=1}, + {cracky=3, stone = 1, not_in_creative_inventory=1}, {"default_cobble.png"}, S("Cobble")) + +technic.cnc.register_all("default:mossycobble", + {cracky=3, stone = 1, not_in_creative_inventory=1}, + {"default_mossycobble.png"}, + S("Mossy Cobblestone")) + +technic.cnc.register_all("default:desert_cobble", + {cracky=3, stone = 1, not_in_creative_inventory=1}, + {"default_desert_cobble.png"}, + S("Desert Cobble")) + -- BRICK -------- technic.cnc.register_all("default:brick", @@ -41,6 +79,16 @@ technic.cnc.register_all("default:sandstone", {"default_sandstone.png"}, S("Sandstone")) +technic.cnc.register_all("default:desert_sandstone", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone.png"}, + S("Desert Sandstone")) + +technic.cnc.register_all("default:silver_sandstone", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone.png"}, + S("Silver Sandstone")) + -- LEAVES --------- technic.cnc.register_all("default:leaves", @@ -54,6 +102,22 @@ technic.cnc.register_all("default:tree", {"default_tree.png"}, S("Tree")) +-- ICE +------- +technic.cnc.register_all("default:ice", + {cracky = 3, puts_out_fire = 1, cools_lava = 1, not_in_creative_inventory=1}, + {"default_ice.png"}, + S("Ice")) + + +-- OBSIDIAN +----------- +technic.cnc.register_all("default:obsidian_block", + {cracky = 1, level = 2, not_in_creative_inventory=1}, + {"default_obsidian_block.png"}, + S("Obsidian")) + + -- WROUGHT IRON --------------- technic.cnc.register_all("default:steelblock", From 5aea7586ff8b2e5e2e18f9668162e16a505d528a Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Wed, 14 Feb 2018 21:47:14 +0300 Subject: [PATCH 14/36] even more blocks for CNC --- technic/machines/LV/cnc_nodes.lua | 110 +++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/technic/machines/LV/cnc_nodes.lua b/technic/machines/LV/cnc_nodes.lua index f27ce73..3f8b263 100644 --- a/technic/machines/LV/cnc_nodes.lua +++ b/technic/machines/LV/cnc_nodes.lua @@ -43,11 +43,32 @@ technic.cnc.register_all("default:stone", {"default_stone.png"}, S("Stone")) +technic.cnc.register_all("default:stonebrick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_stone_brick.png"}, + S("Stone Brick")) + +technic.cnc.register_all("default:stone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_stone_block.png"}, + S("Stone Block")) + + technic.cnc.register_all("default:desert_stone", {cracky=3, stone = 1, not_in_creative_inventory=1}, {"default_desert_stone.png"}, S("Desert Stone")) +technic.cnc.register_all("default:desert_stonebrick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_stone_brick.png"}, + S("Desert Stone Brick")) + +technic.cnc.register_all("default:desert_stone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_stone_block.png"}, + S("Desert Stone Block")) + -- COBBLE --------- technic.cnc.register_all("default:cobble", @@ -72,6 +93,7 @@ technic.cnc.register_all("default:brick", {"default_brick.png"}, S("Brick")) + -- SANDSTONE ------------ technic.cnc.register_all("default:sandstone", @@ -79,22 +101,58 @@ technic.cnc.register_all("default:sandstone", {"default_sandstone.png"}, S("Sandstone")) +technic.cnc.register_all("default:sandstonebrick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_sandstone_brick.png"}, + S("Sandstone Brick")) + +technic.cnc.register_all("default:sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_sandstone_block.png"}, + S("Sandstone Block")) + + technic.cnc.register_all("default:desert_sandstone", {crumbly=2, cracky=3, not_in_creative_inventory=1}, {"default_desert_sandstone.png"}, S("Desert Sandstone")) +technic.cnc.register_all("default:desert_sandstone_brick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone_brick.png"}, + S("Desert Sandstone Brick")) + +technic.cnc.register_all("default:desert_sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone_block.png"}, + S("Desert Sandstone Block")) + + technic.cnc.register_all("default:silver_sandstone", {crumbly=2, cracky=3, not_in_creative_inventory=1}, {"default_silver_sandstone.png"}, S("Silver Sandstone")) +technic.cnc.register_all("default:silver_sandstone_brick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone_brick.png"}, + S("Silver Sandstone Brick")) + +technic.cnc.register_all("default:silver_sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone_block.png"}, + S("Silver Sandstone Block")) + + + + -- LEAVES --------- technic.cnc.register_all("default:leaves", {snappy=2, choppy=2, oddly_breakable_by_hand=3, not_in_creative_inventory=1}, {"default_leaves.png"}, S("Leaves")) + -- TREE ------- technic.cnc.register_all("default:tree", @@ -132,13 +190,63 @@ technic.cnc.register_all("default:bronzeblock", {"default_bronze_block.png"}, S("Bronze")) --- Stainless Steel +-- Zinc -------- +technic.cnc.register_all("technic:zinc_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_zinc_block.png"}, + S("Zinc")) + +-- Cast Iron +------------ +technic.cnc.register_all("technic:cast_iron_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_cast_iron_block.png"}, + S("Cast Iron")) + +-- Stainless Steel +------------------ technic.cnc.register_all("technic:stainless_steel_block", {cracky=1, level=2, not_in_creative_inventory=1}, {"technic_stainless_steel_block.png"}, S("Stainless Steel")) +-- Carbon steel +--------------- +technic.cnc.register_all("technic:carbon_steel_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_carbon_steel_block.png"}, + S("Carbon Steel")) + +-- Brass +-------- +technic.cnc.register_all("technic:brass_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_brass_block.png"}, + S("Brass")) + +-- Copper +--------- +technic.cnc.register_all("default:copperblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_copper_block.png"}, + S("Copper")) + +-- Tin +------ +technic.cnc.register_all("default:tinblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_tin_block.png"}, + S("Tin")) + +-- Gold +------- +technic.cnc.register_all("default:goldblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_gold_block.png"}, + S("Gold")) + + -- Marble ------------ technic.cnc.register_all("technic:marble", From a65deffc3f5ef2d43e6d4aabbfdd8ea1467ed139 Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Thu, 15 Feb 2018 00:30:14 +0300 Subject: [PATCH 15/36] minor fixes --- technic/machines/LV/cnc_nodes.lua | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/technic/machines/LV/cnc_nodes.lua b/technic/machines/LV/cnc_nodes.lua index 3f8b263..db45805 100644 --- a/technic/machines/LV/cnc_nodes.lua +++ b/technic/machines/LV/cnc_nodes.lua @@ -39,50 +39,50 @@ technic.cnc.register_all("default:aspen_wood", -- STONE -------- technic.cnc.register_all("default:stone", - {cracky=3, stone = 1, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_stone.png"}, S("Stone")) technic.cnc.register_all("default:stonebrick", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, {"default_stone_brick.png"}, S("Stone Brick")) technic.cnc.register_all("default:stone_block", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, {"default_stone_block.png"}, S("Stone Block")) technic.cnc.register_all("default:desert_stone", - {cracky=3, stone = 1, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_desert_stone.png"}, S("Desert Stone")) technic.cnc.register_all("default:desert_stonebrick", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, {"default_desert_stone_brick.png"}, S("Desert Stone Brick")) technic.cnc.register_all("default:desert_stone_block", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, {"default_desert_stone_block.png"}, S("Desert Stone Block")) -- COBBLE --------- technic.cnc.register_all("default:cobble", - {cracky=3, stone = 1, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_cobble.png"}, S("Cobble")) technic.cnc.register_all("default:mossycobble", - {cracky=3, stone = 1, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_mossycobble.png"}, S("Mossy Cobblestone")) technic.cnc.register_all("default:desert_cobble", - {cracky=3, stone = 1, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_desert_cobble.png"}, S("Desert Cobble")) From 4cf9439ffd2fae55b22d98c779b922824b938e2b Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Fri, 9 Nov 2018 11:10:02 +0100 Subject: [PATCH 16/36] Revert "hv grinder" This reverts commit 528516da9b8f1551db054ce677d1d61087f9380f. --- technic/machines/HV/grinder.lua | 13 ------------- technic/machines/HV/init.lua | 1 - technic/textures/technic_hv_grinder_bottom.png | Bin 738 -> 862 bytes technic/textures/technic_hv_grinder_front.png | Bin 733 -> 716 bytes .../technic_hv_grinder_front_active.png | Bin 764 -> 733 bytes technic/textures/technic_hv_grinder_side.png | Bin 726 -> 753 bytes .../textures/technic_hv_grinder_side_tube.png | Bin 739 -> 791 bytes technic/textures/technic_hv_grinder_top.png | Bin 542 -> 616 bytes 8 files changed, 14 deletions(-) delete mode 100644 technic/machines/HV/grinder.lua diff --git a/technic/machines/HV/grinder.lua b/technic/machines/HV/grinder.lua deleted file mode 100644 index e79b933..0000000 --- a/technic/machines/HV/grinder.lua +++ /dev/null @@ -1,13 +0,0 @@ --- HV grinder - -minetest.register_craft({ - output = 'technic:hv_grinder', - recipe = { - {'technic:stainless_steel_ingot', 'technic:mv_grinder', 'technic:stainless_steel_ingot'}, - {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, - } -}) - -technic.register_grinder({tier="HV", demand={1200, 900, 600}, speed=4, upgrade=1, tube=1}) - diff --git a/technic/machines/HV/init.lua b/technic/machines/HV/init.lua index 7e4c9f4..d2b2c32 100644 --- a/technic/machines/HV/init.lua +++ b/technic/machines/HV/init.lua @@ -16,5 +16,4 @@ dofile(path.."/generator.lua") dofile(path.."/quarry.lua") dofile(path.."/forcefield.lua") dofile(path.."/electric_furnace.lua") -dofile(path.."/grinder.lua") diff --git a/technic/textures/technic_hv_grinder_bottom.png b/technic/textures/technic_hv_grinder_bottom.png index 70f34ee664bee5a994d893cd33bb9409868247b4..fa2c135a56e61f58836bf878be3455830ce86f4c 100644 GIT binary patch delta 814 zcmV+}1JV5A1>OdbJ%0|d000iL0i28<+5i9m2XskIMF-si1rHoBRRA8``9%675h`32IUR|(~I%lXA6bz9?D%l+LgP2C~~qeK3= z{)^AvzGXI>adUe^p69s2p{Z+wc+Xhj&HvG8e6xttp!J*>k`L- zUw`?H$z;lMwPre*FbG3rmaK>lBF;{a`TP0>fxPVNu0?+p_mEkx(rrH*)k`>>5{}mlS#HGboiXzW| zmSnZYXpLhnL8pV1u8VYC_GQVuD0uV9r~L8zpQLGyBOI#I(CaCh+HiDuNS1GK9FS5n z9uJYHCuiK;{fi?czVCB;dkYp0kB<Hh-z0MMo00x zIF4~$Nk8nPQ~-`;c+h8C6b!;HO=HNndj`>f`^P8B{g!U0$9%p(s=#NtN(eg&BVB4^ zXxoM~&5%;kw$SbMXzUKxad|bJlB^SIqiGt06jI`OKC0Iv&2yx1(UoR28sd8%LEy33 sZYS7m3aY9m-xRz!JLUOlhP4j=0rm)i^Zq0A9{>OV07*qoM6N<$g86=j`~Uy| delta 689 zcmV;i0#5zj2I2*fJ%0-m000XU0RWnu7ytkO2XskIMF-si1rIqlk`HN%0007SNklG-BQoBMhK~4GYdAX;6f~rxB)vPZZu+=8M-U~!cN;Pim8xd z8}TXL3-!bEbKmzJYb~`_0QPNTnrB*TSZg`Y6QebfGt)GYbARSI4(54A@B2=Sk?C>) zAjXLIp4J+zHHDG`Q&WnDSXlWp4wA&_&%IY;lEbzO-u za-JvFTDE=Xn|Y>`f-R*WB8UjiT5`^moSEjC6eIh-lTzZ}FJCamK<`M-Xsyv&W0g_> zjN{01y)uM=0)N(ZrPfOCo%1|NDRGFPlp@ARYwebx)yldo#25)7a2yBEAHJj44z1IG z+6qc*{`})FmSv%}hWDP{8ny#5CA{~PQiv&$bK$pNf9K=JzcJSE`1rujzx;%Cjv)k$ zF|6x~(HiZ&=keizQVP@Mf>Mfc7}@s&5n)?5UOxRpEq^D&FmOo;r4;X;o^F^$gx(s% zFyOsMK7WSZC}-ho8KY?^lv4M*E(rC7$~)n;)onVt(AG6s4cUu zE4}xdTv}6W#n$uWD1~tx(Mmz@EZf3|AHT=h5v#xt10p+FgmD~^!cE5;aX2muix=S&u%Z5zfIYOQ$h*|rT4 z;VcE;8aZdeINlZ4tu^Lp!a0XFhL{r8T0#goYkBwdgx2~dPwzLB|I;X?VE26|=gb(w z{fUm_KxqxY>)YF18t*;5cbv5xB6#o7A%q(%r792+0GxAp?*T|DVT?g3b?>uQzApX` Xm@{czn-!&r00000NkvXXu0mjfA(BT* diff --git a/technic/textures/technic_hv_grinder_front.png b/technic/textures/technic_hv_grinder_front.png index 4638418083e64dd7795d3f25220085a0bf07bd48..a5bca0a08e864554d7e2fbe3eb50c1b422e7eb69 100644 GIT binary patch delta 702 zcmV;v0zv)V1y-EHt8(kVptak{Otv+b)tq7gp)nbl2(A zKUIBX;mNXMz%~Q4s8J)-MTIyae{c?o9eIC>&q~6@7!w)lvsvAQ1}9EH!B-wrL3?SP zwd5MEHb@25T7s4}HGd)q0@}CQ z+}dpO>g#K4;6M~74U3i@6uLjVbbDR?hO#W#`?$yA$`YnwK|!p=*u){Be?go+yEeSmZGXJI#=(bo0KEVFe+@0hNZ3M)Fkb7eRj5Y@n*&~BZoK2&h{=ZUhb1bjwoz!G8kdS;HKkKvZ4Us@UVkwfl$!x zrz~AfIdf-p`zh!IoohxX0~)P>BwodxjB}Ft_eRqUs8FEDb1w3Xe+x6qmFiNny0(T& z#H1*3qtg^q=KvJx5V!z5`6MMfJHcv6K1qQbFcj$!r?G4oTH|tRL`*21u8)39ZlK$^o}@g((R9s2aoP)mYoAI=>MDvmlt6@*Z=?k07*qoM6N<$g7exx#Q*>R delta 719 zcmV;=0xFT9iBL{Q4GJ0x0000DNk~Le0000I0000I2nGNE09MY9SCJtce+v@; z01FcV0GgZ_00007bV*G`2jU7C2@VaXrX55800L@BL_t(I%Y~G?jvYl1hQF$=K4)gm zVKZw391#;bfdG?{@&G&uv13bq5E8$E1#e*@tPPN5q1Cc;?XDu|b4J=^X{m$m*3{+u z{~Gz}&9_nNMnuqc9q03zuIs3^f3j^G6fiRY+#OZj&!rT$T8X@1hhxS(5fO+8^E|Vz zD-nUaLje&XBB-?@BBYdXch+@9&5+}U^?i?s;O=Z|VciyLtq?*o#l(mRB7&3>IcLla zkJdzLe7V0mCp*^MZ9<$2HJ3%XNDV%3O#DRCR}3N*CVaU97x zv#u+r(}{6h==+{&nnPc$!r)Hbs zFth@0Z*O-VBElaZe#b5qT+O$xE63vzcW3B()@9+lAHK(HF#S6MVB3^3@u7l zqm+Uz^GYBe}4Q(%9&aUh;T3?Uo}43u^Z5q5CA+(Oc0hB^&j$MPMx002ovPDHLkV1n6G BLM{LR diff --git a/technic/textures/technic_hv_grinder_front_active.png b/technic/textures/technic_hv_grinder_front_active.png index d713ee0248a14478498e2409742fecb124fc32f9..40776302c6241ef3733d5118333b8d2ce4259320 100644 GIT binary patch delta 719 zcmV;=0xFT9iBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZyme-5z# z01mMMoQxmZ00007bV*G`2i*b%4)4y9%}-slt9BRUG5R#!2k0)ZlU+95b&(&pHJm7pL0O7znHEJ_B=4OrBqUh` zXwGJUGiPQFFh@3iy{QhK-f%#nD2HgooW*hk`w7k~Zvk&}49w>!6ZaPNCY zCu59uE#4~LDp}$SgOh=_z|AUN?J8yv^Zu2;AA*zWEk@Y-U8bd=O` zS6TJ-|5vqq_QS^>(}cTI*EPG{e~!AYNhvW+6GSjG0CLW#>Z->WnNq@w0V}Hl%K>*s zL^z#JjN^#AlXHd$B7(b%vJsV(_7vr-+ccOInBYVy2b<8&MQtLvO3j8MT+zP#U5jv@dGxS4XGHgx~^FQEm@Y6lM_!7 zcSluMkYkL92xc~eZ3%1JmJq_)(vqnt3bax*&vsQsM3|f9nRCrlIe9LWtxkV`kXP!%I@kq&#O?aL756lT&YMR26r} zLP4`_2x>Ijd2BZ2W-j1xIIMVx2*)?KJlpL!wk=I*lvTyu-5pn#mqd3yJRE56@6laJ zPEP->1HihjTNzVTrj+>Q*FSh@UjcCO{522lD=wbDUYY#zi%+Qse<7xcs;bC2Ke3kl zjNaMt&(-nYcYt^I_dL7&0F6qaMvM_1P9x(q5Yx=Ye!u^ZBS2|CuU{=oQaqnKn}L*d z8UOnG?U~~kzgzE%*fI_Z_{^?+{q0x2UlbTwRh?f0AcVkve{rU}3%lI~c5`#{-UTh5Dp?$X gGyV4Vj?HGnKYr+ZYvqdhOaK4?07*qoM6N<$f@&34{{R30 diff --git a/technic/textures/technic_hv_grinder_side.png b/technic/textures/technic_hv_grinder_side.png index cbe3673f86ce85930562a280002c70998ffaca17..c3063c43e2413397affbee7f52e5c07ed5f8dc1d 100644 GIT binary patch literal 753 zcmVPgQr{d*`LGi~?Ew8G^vU2G|O#VFm0C5D-QV1C}jW(#&XH_tjm+ z$MBgEnUN<`Wv+JZ#Ii{S{?X3D-GoG{%%XAzx5F#ms^f(qJ1)CWVNoXkTZoF#M;uG41UX?Bfi}Zdz#ZBI2Jz<~f8x#e-%+PXcR1oP zVM9R!bo~Gthzh&*fS8iKFsT!LH?Tj9#QpKe&GoNHn$Zp&i^YPHk5qBS)59HS=Sy5F zwwo2Nt}fYZHrx#z-@Ja!`wyQ`&m$!`O&w4(tnWc9pqMtFKwz-Ll<0p^Y$~ToPBi zmbt;v3uXPte0D+UcdWc3inHGJTwT7TeO~d`pTE#l4fW!jY=QkS64#q&w6xf8pqWg0 z_c>}kfp6~$QUL_P~IgR}G?qA|Rf8Q|9Bgeku{NgJ{5+i}-ix(Vs zEgCA`y?swTsaQwl9{*_*6WI? zvtCDRF4JWQczb(0d58#V@)f|=G1n7rtAQ7z9u0G)M{@sX1HiX!I~`M1OdVAniZX~W zYCD*xg>BooTrS)n8}qc#qB74jz4xbUF~;GgDEr_;e$AN|qfAbjoEC*LIogz>PHPR{ z9|t*tj-XiD7o(@uJ%d(wu4qjx~I7ez-B!5JF8rH?04J>`ZU8e1r>wg`ne`6Fptnh1dD@- z@ooJ^M6i|>Gb2;D-TuJe-{1MaRZ2PM?iJMko`3)To6F_Gzhp|M*z&y5MF0Q*07*qo IM6N<$f-{**H~;_u diff --git a/technic/textures/technic_hv_grinder_side_tube.png b/technic/textures/technic_hv_grinder_side_tube.png index 196b7c1a6b6053bbab8f731745ef734793a72ef0..43bcca50c560d9379cc4131e3470709513615ee1 100644 GIT binary patch delta 777 zcmV+k1NQvm1(yaPiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZyme-5z# z01mMMoQxmZ00007bV*G`2i*b%4jwD4CMNhnl%#5t8 zuIffDjRxV25CZW7d603xI)GWhHFI8DvuCY9fhU;DF824P$ zd~~S@*hPWP39Law##jLhvT($^e~~mq+`7b6LOMi@Ge{{o;|wU|n9(UCl>kqjA(Q)r ztP8LPQ&@CLm{Pz%j*82t2&Eu^)E1pHs*02rHRfqmQu35A)}S$?Q87-yC}O;Q0zw7_ z3WE_rLqaOS6hdrg+_FI9lbUz|0pl#rE*+_h7-P_o$U#Y(S*#Z1A>%7ge+U5+4U`5= z8LVJb(U@>~NEj#o9VqktuvOhEjkGn}N!Ea#8?NO6+zA z!aQ^Aj^uU*RTv7$;I2RUe~J%2e4natj9pK1j$yYWguwr?R@nC)-+%cnAqDEHU>avm zUBI3Co||8O!W0d|Jkm4`=c}5sbc~ZF#f0}2Nh8zPv){M8nMdAz@q*jGU*j|el65RA z%QR+mo;Y-Y&%gMTx;jHpDqqoVH}r9$u#j!V_P)g$!F9(S{XFBPf5k7>><>rAIO7El z(=9e8QkrNQ&+4sr*xtS3u-hQsu&kfqw#R{GhF%k?ePr2O5~m$oEfEuG4-?OyU2xiO zxqti-UwW#u3u3mM=74K=dn66yxx?2B9`5fzGU&j=c7yjN`yIS`y+JL!_q;$*)(gka zFaN^*`Ns`m>FB4CUyIAP2^0h@>+^H^LrGXbvmBCLT@HGND?i{LV9)`p{`w#C!>`}v z78{w#IF6i7C&qCkBG|SKso?Gaf3((6)%{&-Ws4xof|oB>`qeUNn7)P3cpU-DR1XbO?QVOM%f4*Q$>K4>m z5fN&wtZSpz+L@b?S@F~9v~RrW6cI!O08=^a0*gpzbUo9|7~F{x_&ARHpxc&+VEE%( z09Ia+K>hw{XXox+Y!CeT`57}qRdGB9@Sphew}ok%nCBU@e@fe0H|PHGo~VszealUU^ZNN;LzY;$yT8NKnZD|=IS$88 z;PLU1h@eFmT21x<{u2)m4|p-QwPLQcNaoKkoxsn({FFDxR25T4Rl5Nhs2E#aISeB& zFE1RAN9M~5hhe0~#-IbOwX17!t;3a3wr(-`+A}Xk8JsdWH40^Lf3zw^omwltTvn3q zl%QDJ?%pjDErYsg59AgIO4Qffi3qN$WXfJfbG?RAY2ic!#XJ3Jny6baP6whkM0>b0 z6Tdb2*6xTPGui4&-Fmu*L+JvWaam?2IdWNM+zRU22Wbi_2J&}@1}kvrp^FGc2NUDX z^oEFFDidZ#rf@oaD~&%rJ@J1irR=@Cwg1cahYz1P9*_J5>lBCAvQCOw00000NkvXX Hu0mjf;AckK diff --git a/technic/textures/technic_hv_grinder_top.png b/technic/textures/technic_hv_grinder_top.png index 2259d643d3a3c4cd8e173a7aa5fd498685d3fc05..e0df36b14c107b206c7be0470add20ecf24e60c0 100644 GIT binary patch literal 616 zcmV-u0+;=XP)I4j~UxQ;Ge7{`(KC`5WsK(U(bDXi>!R8oeu#bL_$^MVZ8nI z)d<>k!COKLycf{~4Rq~{zn|n|(7&w2N#xH#^gyfV(E|)M3cm`S1k9L6QTIe&7HB~% z4Zo6D1pzfouU`XJAwZXgx574B8;+Q&($p)77I+jMCb}Su;@oD!USMDekno=9Bw`Wc zpN;;$;4!V~ED%I*sJ(Y$73#C7K9ZoIiE-N@AOiB0#L@tuiHN`>Q9Y9A!daN09)tXq z1XHFBdh6)Yp?ugADA2hhZ${r6 z+VNJ0?7-!DUw->2#*YmYL_nqK^-Mg9y6tlsmxgzf&waAck79YoWmrYMrt+?nh)>I$ zfS{gI1)8*~2{FLWqV5CN zLF8Vx+aThY#K5?E7N-UoTxh--s@ zu4@M~6OI$BumT8TZPa~$jWtP(MbyV26m;)3M<wv&J(=0G2h_5^56Oa%md%_qn<`NZt+lR3*OZG$lFVTTguD&O1dfPM zN|`mPh#LC!%Qt?+zwi4}rm94bxjWLbr>dlsxZQ3Ozx%KFFT@c+J3HbRep@vFtu zU;m81kGC7LKvN>CE<%^358;QYV6TO3+vrEb%>Et!wr!-82vvxw7< gv!<%+7=M?w?{)&U5cBlQcK`qY07*qoM6N<$g1{H+B>(^b From 0c8d4f5e60b446bac90bd60ee828ab6a50945f7b Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Fri, 9 Nov 2018 11:10:07 +0100 Subject: [PATCH 17/36] Revert "hv furnace" This reverts commit d129ecd48ae608e1f7cf3def8af8703486818484. --- technic/machines/HV/electric_furnace.lua | 13 ------------- technic/machines/HV/init.lua | 1 - .../technic_hv_electric_furnace_bottom.png | Bin 427 -> 0 bytes .../technic_hv_electric_furnace_front.png | Bin 555 -> 0 bytes .../technic_hv_electric_furnace_front_active.png | Bin 536 -> 0 bytes .../technic_hv_electric_furnace_side.png | Bin 421 -> 0 bytes .../technic_hv_electric_furnace_side_tube.png | Bin 2449 -> 0 bytes .../textures/technic_hv_electric_furnace_top.png | Bin 1772 -> 0 bytes 8 files changed, 14 deletions(-) delete mode 100644 technic/machines/HV/electric_furnace.lua delete mode 100644 technic/textures/technic_hv_electric_furnace_bottom.png delete mode 100644 technic/textures/technic_hv_electric_furnace_front.png delete mode 100644 technic/textures/technic_hv_electric_furnace_front_active.png delete mode 100644 technic/textures/technic_hv_electric_furnace_side.png delete mode 100644 technic/textures/technic_hv_electric_furnace_side_tube.png delete mode 100644 technic/textures/technic_hv_electric_furnace_top.png diff --git a/technic/machines/HV/electric_furnace.lua b/technic/machines/HV/electric_furnace.lua deleted file mode 100644 index 50ed588..0000000 --- a/technic/machines/HV/electric_furnace.lua +++ /dev/null @@ -1,13 +0,0 @@ --- HV Electric Furnace - -minetest.register_craft({ - output = 'technic:hv_electric_furnace', - recipe = { - {'technic:stainless_steel_ingot', 'technic:mv_electric_furnace', 'technic:stainless_steel_ingot'}, - {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, - } -}) - -technic.register_electric_furnace({tier="HV", upgrade=1, tube=1, demand={4000, 2000, 1000}, speed=8}) - diff --git a/technic/machines/HV/init.lua b/technic/machines/HV/init.lua index d2b2c32..d7136b4 100644 --- a/technic/machines/HV/init.lua +++ b/technic/machines/HV/init.lua @@ -15,5 +15,4 @@ dofile(path.."/generator.lua") -- Machines dofile(path.."/quarry.lua") dofile(path.."/forcefield.lua") -dofile(path.."/electric_furnace.lua") diff --git a/technic/textures/technic_hv_electric_furnace_bottom.png b/technic/textures/technic_hv_electric_furnace_bottom.png deleted file mode 100644 index e2e445eeddbff990f73a4b7a809288ad0dd8ac41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 427 zcmV;c0aX5pP)#)eJUQeyE4)MM1h*Q1EX!*1J1JS2O1Fp7n`M)N!$QR9eUac_b9t|u~({yvS- zb!>N~^kSivU|iMpC7XWx7-$Z_bTYY`O->80=hOLYHjGt*n9|Yi$UOj{>qQL!z5y3b Vm)vfxE-3&2002ovPDHLkV1iXctepS= diff --git a/technic/textures/technic_hv_electric_furnace_front.png b/technic/textures/technic_hv_electric_furnace_front.png deleted file mode 100644 index 821f3de949a81d3b8087b75025bd38bfdd1c1df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 555 zcmV+`0@VG9P)%&FAyroTI8L4u=E3nO?6)ysRHvxb@<=>a{k9>yK8i3R3^u-70_xotA z+3)v>^pVfr9AsGrz+f=IImh{Yeh7pR2q6HVwPrLLr9C62ltL+$#3KJqAc{mMA%qm@ zbJ$T#zAFNJet!NKVs!SrP6lv3pHnaqm`+wBk$@;s-iDnx|EV!>oGNg0U<^?IEw zgpksH9_JkQ`yJ;T0M^>HLcHU>N2;oN`66pAAq0#u-0ycn2t-a4GsfVY!#Rf>kH?pn z%d+Hpy>h$VFvehv;dZ;x>-8wh5`fKS^Yxvx*(@}hO|mSbD2midtu7yj4>Pz t2iom6Aq0w|c=R9^<$KTnH^!Kh**{+N42dkcA(j9D002ovPDHLkV1lre_E`V` diff --git a/technic/textures/technic_hv_electric_furnace_front_active.png b/technic/textures/technic_hv_electric_furnace_front_active.png deleted file mode 100644 index a66443330cf426801bfb216534a2c400af4723cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmV+z0_XjSP)J*Wdm;olXG|LSU`MT8ql_{EYx$-yUAxKavenN&v3c>ti2a zKA$6{B+v7(^pR}d6hu)3z+$n$7(-Q6cLL`e&N%?2l&n^(aHq$F5C|axncsgS@FZS| zb1oSAY_=y;Ul{?8$K$sqdS%b&L;zJ)1!FvrWf}Y3f&K14mSrzkS(ag6Etkt6=W@Al zI-LMWk|g{#91Z~jwqCDMN}-e@@&)lXr)kQ5cL;I%X!pAVX_^L)lv2cTjCywYd5keX z#^{`T6shaFmxz2bwbpk-`xRZ+y^w0HF~(qwL6v3s@=M#c9Qzeb(*W>GebO`yfByca zZCe1&=kp`Z&1U09qY+UQQP*{7rIeB=ih?q0Em~`eqF^$a;GCnb>w6D;QNH&4r_ox6 a-uwg6!tSLRfO8Q500002i@Dbr)p?kgAFZiwG_d5mZ%GxvHv50^9924i3O7hd2a61`yP~ZA_E?k^CobV6%`!Gqm=RgeP8NF$+%_$dfqI~& z6${@IjO&A?kLvBi|291w46a9m^MRZ3a6B4y&niJoY0vuqlXhxaQ3HS<27S diff --git a/technic/textures/technic_hv_electric_furnace_side_tube.png b/technic/textures/technic_hv_electric_furnace_side_tube.png deleted file mode 100644 index bfeba18077fb13c9dd98f7cf08b37319692ee1cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2449 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 O0000 Date: Mon, 19 Feb 2018 02:58:47 +0300 Subject: [PATCH 18/36] HV furnace and extra recipes --- technic/machines/HV/electric_furnace.lua | 18 +++ technic/machines/HV/init.lua | 2 + technic/machines/LV/cnc_nodes.lua | 132 +++++++++++++++++- technic/machines/register/alloy_recipes.lua | 6 + .../machines/register/compressor_recipes.lua | 7 + technic/machines/register/grinder_recipes.lua | 5 + .../technic_hv_electric_furnace_bottom.png | Bin 0 -> 422 bytes .../technic_hv_electric_furnace_front.png | Bin 0 -> 543 bytes ...chnic_hv_electric_furnace_front_active.png | Bin 0 -> 542 bytes .../technic_hv_electric_furnace_side.png | Bin 0 -> 425 bytes .../technic_hv_electric_furnace_side_tube.png | Bin 0 -> 2444 bytes .../technic_hv_electric_furnace_top.png | Bin 0 -> 1750 bytes 12 files changed, 167 insertions(+), 3 deletions(-) create mode 100644 technic/machines/HV/electric_furnace.lua create mode 100644 technic/textures/technic_hv_electric_furnace_bottom.png create mode 100644 technic/textures/technic_hv_electric_furnace_front.png create mode 100644 technic/textures/technic_hv_electric_furnace_front_active.png create mode 100644 technic/textures/technic_hv_electric_furnace_side.png create mode 100644 technic/textures/technic_hv_electric_furnace_side_tube.png create mode 100644 technic/textures/technic_hv_electric_furnace_top.png diff --git a/technic/machines/HV/electric_furnace.lua b/technic/machines/HV/electric_furnace.lua new file mode 100644 index 0000000..a11bb59 --- /dev/null +++ b/technic/machines/HV/electric_furnace.lua @@ -0,0 +1,18 @@ +-- MV Electric Furnace +-- This is a faster version of the stone furnace which runs on EUs +-- In addition to this it can be upgraded with microcontrollers and batteries +-- This new version uses the batteries to lower the power consumption of the machine +-- Also in addition this furnace can be attached to the pipe system from the pipeworks mod. + +-- FIXME: kpoppel I'd like to introduce an induction heating element here also +minetest.register_craft({ + output = 'technic:hv_electric_furnace', + recipe = { + {'technic:stainless_steel_ingot', 'technic:lv_electric_furnace', 'technic:stainless_steel_ingot'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_electric_furnace({tier="HV", upgrade=1, tube=1, demand={4000, 2500, 1500}, speed=12}) + diff --git a/technic/machines/HV/init.lua b/technic/machines/HV/init.lua index d7136b4..20e256b 100644 --- a/technic/machines/HV/init.lua +++ b/technic/machines/HV/init.lua @@ -15,4 +15,6 @@ dofile(path.."/generator.lua") -- Machines dofile(path.."/quarry.lua") dofile(path.."/forcefield.lua") +dofile(path.."/electric_furnace.lua") + diff --git a/technic/machines/LV/cnc_nodes.lua b/technic/machines/LV/cnc_nodes.lua index db45805..2020f92 100644 --- a/technic/machines/LV/cnc_nodes.lua +++ b/technic/machines/LV/cnc_nodes.lua @@ -1,7 +1,7 @@ -- REGISTER MATERIALS AND PROPERTIES FOR NONCUBIC ELEMENTS: ----------------------------------------------------------- -local S = technic.getter +local S=technic.getter -- DIRT ------- @@ -163,7 +163,7 @@ technic.cnc.register_all("default:tree", -- ICE ------- technic.cnc.register_all("default:ice", - {cracky = 3, puts_out_fire = 1, cools_lava = 1, not_in_creative_inventory=1}, + {cracky=3, puts_out_fire=1, cools_lava=1, not_in_creative_inventory=1}, {"default_ice.png"}, S("Ice")) @@ -171,7 +171,7 @@ technic.cnc.register_all("default:ice", -- OBSIDIAN ----------- technic.cnc.register_all("default:obsidian_block", - {cracky = 1, level = 2, not_in_creative_inventory=1}, + {cracky=1, level=2, not_in_creative_inventory=1}, {"default_obsidian_block.png"}, S("Obsidian")) @@ -261,3 +261,129 @@ technic.cnc.register_all("technic:granite", {"technic_granite.png"}, S("Granite")) + +if minetest.get_modpath("ethereal") then + -- Glostone + ------------ + technic.cnc.register_all("ethereal:glostone", + {cracky=1, not_in_creative_inventory=1, light_source=13}, + {"glostone.png"}, + S("Glo Stone")) + +end + + +if minetest.get_modpath("ethereal") then + -- Glostone + ------------ + technic.cnc.register_all("ethereal:glostone", + {cracky=1, not_in_creative_inventory=1, light_source=13}, + {"glostone.png"}, + S("Glo Stone")) + + -- Crystal block + ---------------- + technic.cnc.register_all("ethereal:crystal_block", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"crystal_block.png"}, + S("Crystal")) + + -- Misc. Wood types + ------------------- + technic.cnc.register_all("ethereal:banana_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"banana_wood.png"}, + S("Banana Wood")) + + technic.cnc.register_all("ethereal:birch_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"moretrees_birch_wood.png"}, + S("Birch Wood")) + + technic.cnc.register_all("ethereal:frost_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"frost_wood.png"}, + S("Frost Wood")) + + technic.cnc.register_all("ethereal:palm_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"moretrees_palm_wood.png"}, + S("Palm Wood")) + + technic.cnc.register_all("ethereal:willow_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"willow_wood.png"}, + S("Willow Wood")) + + technic.cnc.register_all("ethereal:yellow_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"yellow_wood.png"}, + S("Healing Tree Wood")) + + technic.cnc.register_all("ethereal:redwood_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"redwood_wood.png"}, + S("Redwood")) +end + + +if minetest.get_modpath("moreblocks") then + -- Tiles + ------------ + technic.cnc.register_all("moreblocks:stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_stone_tile.png"}, + S("Stone Tile")) + + technic.cnc.register_all("moreblocks:split_stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_split_stone_tile.png"}, + S("Split Stone Tile")) + + technic.cnc.register_all("moreblocks:checker_stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_checker_stone_tile.png"}, + S("Checker Stone Tile")) + + technic.cnc.register_all("moreblocks:cactus_checker", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_cactus_checker.png"}, + S("Cactus Checker")) + + -- Bricks + ------------ + technic.cnc.register_all("moreblocks:cactus_brick", + {cracky=3, not_in_creative_inventory=1}, + {"moreblocks_cactus_brick.png"}, + S("Cactus Brick")) + + technic.cnc.register_all("moreblocks:grey_bricks", + {cracky=3, not_in_creative_inventory=1}, + {"moreblocks_grey_bricks.png"}, + S("Grey Bricks")) + + -- Metals + ------------ + technic.cnc.register_all("moreblocks:copperpatina", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"moreblocks_copperpatina.png"}, + S("Copper Patina")) + + -- Clay + ------------ + technic.cnc.register_all("bakedclay:red", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_red.png"}, + S("Red Clay")) + + technic.cnc.register_all("bakedclay:orange", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_orange.png"}, + S("Orange Clay")) + + technic.cnc.register_all("bakedclay:grey", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_grey.png"}, + S("Grey Clay")) + +end diff --git a/technic/machines/register/alloy_recipes.lua b/technic/machines/register/alloy_recipes.lua index 3aeacd5..dc9a007 100644 --- a/technic/machines/register/alloy_recipes.lua +++ b/technic/machines/register/alloy_recipes.lua @@ -30,6 +30,12 @@ local recipes = { {"technic:raw_latex 4", "technic:coal_dust 2", "technic:rubber 6", 2}, } +if minetest.get_modpath("ethereal") then + table.insert(recipes, {"default:clay", "dye:red", "bakedclay:red"}) + table.insert(recipes, {"default:clay", "dye:orange", "bakedclay:orange"}) + table.insert(recipes, {"default:clay", "dye:grey", "bakedclay:grey"}) +end + for _, data in pairs(recipes) do technic.register_alloy_recipe({input = {data[1], data[2]}, output = data[3], time = data[4]}) end diff --git a/technic/machines/register/compressor_recipes.lua b/technic/machines/register/compressor_recipes.lua index acb9eca..3711db1 100644 --- a/technic/machines/register/compressor_recipes.lua +++ b/technic/machines/register/compressor_recipes.lua @@ -19,8 +19,15 @@ local recipes = { {"technic:coal_dust 4", "technic:graphite"}, {"technic:carbon_cloth", "technic:carbon_plate"}, {"technic:uranium35_ingot 5", "technic:uranium_fuel"}, + {"technic:graphite 25", "default:diamond"} } +if minetest.get_modpath("ethereal") then + -- the density of charcoal is ~1/10 of coal, otherwise it's pure carbon + table.insert(recipes, {"ethereal:charcoal_lump 10", "default:coal_lump 1"}) +end + + -- defuse the default sandstone recipe, since we have the compressor to take over in a more realistic manner minetest.clear_craft({ recipe = { diff --git a/technic/machines/register/grinder_recipes.lua b/technic/machines/register/grinder_recipes.lua index 8c8e178..dbaa067 100644 --- a/technic/machines/register/grinder_recipes.lua +++ b/technic/machines/register/grinder_recipes.lua @@ -32,6 +32,11 @@ local recipes = { {"default:silver_sandstone", "default:silver_sand 2"}, -- reverse recipe can be found in the compressor } +if minetest.get_modpath("ethereal") then + -- the density of charcoal is ~1/10 of coal, otherwise it's the same graphitic carbon + table.insert(recipes, {"ethereal:charcoal_lump 5", "technic:coal_dust 1"}) +end + -- defuse the sandstone -> 4 sand recipe to avoid infinite sand bugs (also consult the inverse compressor recipe) minetest.clear_craft({ recipe = { diff --git a/technic/textures/technic_hv_electric_furnace_bottom.png b/technic/textures/technic_hv_electric_furnace_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..3f65026aceb3cf6bfd3885798de22009e1778091 GIT binary patch literal 422 zcmV;X0a^ZuP)lHyZCZ-x%Ytf zzcizc;D8XqNnI4hQDr#i0La>w>2MRFB@lphtVfx+3Z04aIGuun3}yKn1`#}+pOMJ~ z?*;K9fOcAXHJ`%!4DT}}&k-}lncn7++V_ZcLK`>v18Mx4{}lHx QPXGV_07*qoM6N<$g2nK)M*si- literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_electric_furnace_front.png b/technic/textures/technic_hv_electric_furnace_front.png new file mode 100644 index 0000000000000000000000000000000000000000..e1f9bc59e6df0476178c0af12292705e8e6ecfc9 GIT binary patch literal 543 zcmV+)0^t3LP)eivvae<;_KCwsVX4^?z)cuIq%DovMll556vP-&RaBLt zC=d}u1m_&T_q}GuFbq3_!y_Wh%s}LHvIy)+(*S?lwkHI{$ZEAZsy9u8a}I!CeV^+d z;KOKyh;ZAsxv6QI69ozTSXHPh4!OdiHgxznqx!->}JIlb&mlwW2 zJpnKpjZjs_<1tlL0c7mU#RcB`T{hAsz4^MXS+CcK2vt?l_dO!Qd_L#8uCvi1LRpr$ zWX_=nX#;KBl7bdv%u3TYs)`RGP!vT5V~m&?F-F?9#mq=OX$yx@_xIcF(c};Uo6Ux< z>j)tbLZIt9>bj=i8~5Y+`E?u9>D1nt;hbY;mQ(4R%gIZ!V~pH&9hZBxGqYU|k{m>i ha{jLqV@y8|e*h$W21wMc!h!$*002ovPDHLkV1n@J>b(E} literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_electric_furnace_front_active.png b/technic/textures/technic_hv_electric_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..1baeade80b1a5545a9e1657d2ad9afd0b96480db GIT binary patch literal 542 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 KMNUMnLSTY7o}s4z literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_electric_furnace_top.png b/technic/textures/technic_hv_electric_furnace_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d4195e0c1f7eb8edbe88a6c14b9a1ecb2983a2 GIT binary patch literal 1750 zcmV;{1}XW8P)>~SLN5AKLMGW}?O73=*%cDpP-z53pfB#b@0+nQe zszN0cm>H@{Mj|SBBy$*51wdvZA^=p?^L=EXqWx?pfB(q(`S~1^Q52?%l;Q~{f~q~m zs45CX73VNSgc9)B2NjqKDMCc>Iu5cF6~!YtkICm+%wa?pQbJWRhvAV7fXV_9OktQ} z+Fd4H5W^Vs1x0s1#(+vH3o}E2KhC2swMkT=fQs^Uo_HiCNlF(Gxz7O*5mXfuK|~m) zR2GFWhmn~i@S20)pX(VlVz7(OOjML%APCbGyw4u0R25Y}cX&7-Plk$i0lSc6j2`PsQ~(Pf3Kjjc+G>q zJW&NiIY;mRH3lo+G#s>n?KI1Uo{_5NUHe1AS<7AnOR&QMj{6EzsBBrpYz zF&>^*Rd>uD_b|@cNH-BKci^V*UL}I=$rZ)FUMI_gtmOCS!ZV31MrLx(iK=d}SdV8P z=HbjS_gCwSc89v@Xk!w-7^5eH@G$B7^FcQ9Gn1jpG-E}e3YwK<<+G#Ar09RP-TiA0 z{{8jUosEHsFs-MMnM{?39sF&2e|^7O8LL=p0r2sF>Ss)iVQQ^fnG91@pfV^`Rz$C* zTJlWyj_0JRDW$6a7=J{tJoqf9D54;vb>wm!fUG3yPm_C zW{;Gf$Jt#2uk+Yq1V!P|xVYSjDz4>QjB2xO3*apv9}hgd<#r=DBDmb~eMn~VI*(_c zDsUV}n@l9f7?>LF{uF=CNp1EZ^b{+R>NV=Ef(p+=p6!e)TK;Uz_5|Slxf)D+&k@0K z9LzaEc-&97TSmmjRSVmS=<|WkTCD?Z46SO*<3|xUpoHS`Kvfy49LK@(;GC1Gg1c{5 zG^!TI9F3c+>2_|+V7(qZ@V!R8c`Ewj$ad4Ld;mK4 z#Bxv7BexGkTk>X67A-`*AKebuJiU2rB19FQxe?z+GRDBS%p%(3ROMQZNGoSVkkwre z(+6KFZFHGC4-DHWNLs&dlTq!1&5Vd>xAVZ%xR$qoNpqjd)_v;7fXt9gD!SvaKvcS@ zOw^PiB5fucsh-I>jAOQpE{`6}82Ik8svfaHAtIibb-8c9PvjOf6;}3?(-*Pn2%yV< zcK*kCFn5KQ`#LzT4_BEqlt zH-CMpSNLHHj~OQq=NbAfVD6$Sn?IG^#hsk1;^D zWT!F&RY{@wi=cP;PNvK_&0ugGu;Au<^%FcfUd@rr0lE&qwz+d6Ns zv86UES>6DaOjP=!iSwO(mQ>*s*M1R+2t0oR%Rm&_Az_8$adni+;(c9D2vus!s==1m zj2{+61TIb{OzW2x1%?@-f)*_I=j>yQj&xGBLj#Y}#TKXYn7iYCUB4aEEBUO|m&lfB sRWkcEJ*!2=BOid?8uHnKcE26{AF*vUsp8$TdH?_b07*qoM6N<$g8D>9CjbBd literal 0 HcmV?d00001 From d3d24be0bd6aa5151e72bc020cf920190c24d1a3 Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Mon, 19 Feb 2018 13:45:13 +0300 Subject: [PATCH 19/36] extra recipes --- technic/machines/register/centrifuge_recipes.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/technic/machines/register/centrifuge_recipes.lua b/technic/machines/register/centrifuge_recipes.lua index 4684ba0..6b887fa 100644 --- a/technic/machines/register/centrifuge_recipes.lua +++ b/technic/machines/register/centrifuge_recipes.lua @@ -15,7 +15,7 @@ local recipes = { { "technic:stainless_steel_dust 4", "technic:wrought_iron_dust 3", "technic:chromium_dust" }, { "technic:brass_dust 3", "technic:copper_dust 2", "technic:zinc_dust" }, { "technic:chernobylite_dust", "default:sand", "technic:uranium3_dust" }, - { "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 2" }, + { "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 4" }, } local function uranium_dust(p) @@ -32,7 +32,15 @@ if minetest.get_modpath("bushes_classic") then end if minetest.get_modpath("farming") then - table.insert(recipes, { "farming:wheat 4", "farming:seed_wheat 3", "default:dry_shrub 1" }) + if minetest.get_modpath("cottages") then + -- work as a mechanized threshing floor + table.insert(recipes, { "farming:wheat", "farming:seed_wheat", "cottages:straw_mat" }) + table.insert(recipes, { "farming:barley", "farming:seed_barley", "cottages:straw_mat" }) + else + -- work in a less fancy and less efficient manner + table.insert(recipes, { "farming:wheat 4", "farming:seed_wheat 3", "default:dry_shrub 1" }) + table.insert(recipes, { "farming:barley 4", "farming:seed_barley 3", "default:dry_shrub 1" }) + end end for _, data in pairs(recipes) do From 5363a1ff614f2d7bc17de09245787fe1d2fec7d6 Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Mon, 19 Feb 2018 17:38:02 +0300 Subject: [PATCH 20/36] texture fix --- technic/textures/technic_diamond_seed.png | Bin 0 -> 352 bytes .../technic_hv_electric_furnace_front.png | Bin 543 -> 590 bytes ...technic_hv_electric_furnace_front_active.png | Bin 542 -> 565 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 technic/textures/technic_diamond_seed.png diff --git a/technic/textures/technic_diamond_seed.png b/technic/textures/technic_diamond_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..53d88fb4a15cf023ac294246a03c8bca9766ae87 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}PJmB{Yl41~oSdAdrlzj0uA!l! zv9YnKsj0QKwWFh>o12@5heuFQP-tjqSXfv@L_~CSbW&1MN=iybMn-04W>!{KVPRoW zQBiq$c|}DQgPmjxQE{2wVmMP55PcwiPGkCiCxvXtT7^FQ@CO-a)fV+^KkTSO!t4u6!wIfsZKA}FQMTBEfl zNfN#_ya%n+(wS(X9N&!H^g#m)}Kn8j>_Mfm5vU6@QJXsyYzjQMJFhqacbX)tF^vob6fSMcEejJmF|)?%%tu4{U|9{qeuS;FV*>)R^_c;r2UWsveivvae<;_KCwsVX4^ z?z)cuIq%DovMll556vP-&RaBLtC=d}u1m_&T_kX=+#xM*!g2N*s%*;UK zbg~HSNz(v-+qNeJ#K>y3I;uBKgL4jmUwxnJ9^k`hgotq4wz;WkniB;H`&d<|Di0y- z2+RyK%L+c9p97$(xeibiMZTxH|GSVT$=-uxmYE%yoyguK`1bht=K7MdLjniz5JEO4 z0XLHg%jJ^AVt>KSWO9VvZ@0PMe>ywMz|WT#zCS$yFdB_eRmS5nRaF6G?90Uk-uqoP z(j~q5x~^HT*N6yJRnhl7BEoz==en-5(IP@wmbhfjp$BOLZQGK97Gumx(>JP$4Drf+P1~aNIhu_hf(+U+wIZh5CWUchOX-fAx{uOpzAv7x~AV7_v88bbsN*^ z)ZUrloMUE|Q|X+`$xE_hjNEk{mwUA{vt16797K+C{;v~bOg|2P03>_{NYt&uf&c&j M07*qoM6N<$f--&GIRF3v diff --git a/technic/textures/technic_hv_electric_furnace_front_active.png b/technic/textures/technic_hv_electric_furnace_front_active.png index 1baeade80b1a5545a9e1657d2ad9afd0b96480db..76dfbb3b4c8fe1473112d559a540914738feec69 100644 GIT binary patch delta 492 zcmVo#TJvX;o2G6=hjcwrz`ul$MW0N<9&oG$^M^?F!qIbSTY zsIKd+4$|H8ejgFxGK3DGs;Fx2;N|{403wp}07X&cbIO;0CsHN5@*tU|svBk}*cRaJ z$4?9gFq^aU*?%<62EYJZhLDXJ4&c#r%7?QN!>cQfe*NVAXvFby%52^hyYN2i%NKil znfB%Wp4l9Zm(c6=Km>DmNWb6D@TP%R2M3g8+3iL;q;DP$*5fRy3iTdqE$z)s?jY%_ zs=_35k_Sm7BB=Lkb7Rc#^p1#NLI|{NOWMfcpcBLxQDyJJIYI~<@E9W@1ibf@7v66y z%WMuu)89Dfz&X@8oO9^yZT8^v-Q9YeP1EQTRg5uAR2h%Q{~Y0L4sTvJoUBZrsCIzI itM-5F_!GmFJyE8n&)-g^LkJU`cb0C+bVAtGF@R<)>Y+Z_c3dp{nd zs@$fuCNMM1tSb1pzYl<_);xf7uAWOi{GBMBWbmMvWoBDu7qV9gzC1j@L_MS0^gsW__|yIFdB_O6@PfhcsvHE*r$U7 zLI~^KD2HcE-tMQjHc7nx?@Qb2dGw6X?2^e9l#A`A1a= zDJ7h970fwfX6tX);f8loNJ~v6xaqpB&M77A{+<{k#7>CCNQ@C%E_oh|`}X+wGL6}6 zW^c^!-ZM9=Tj{;8n^$D#oVkvXqe1Q5Y`q6X4kBB7{;$Y6mxse2_d5fGNYr^@00000 LNkvXXu0mjfLF(1P From 81ee8e34054ea23ea53e07557c3aaeaf1abfc0a7 Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Mon, 19 Feb 2018 19:08:42 +0300 Subject: [PATCH 21/36] hv furnace recipe fix --- technic/machines/HV/electric_furnace.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technic/machines/HV/electric_furnace.lua b/technic/machines/HV/electric_furnace.lua index a11bb59..57a3cd1 100644 --- a/technic/machines/HV/electric_furnace.lua +++ b/technic/machines/HV/electric_furnace.lua @@ -8,7 +8,7 @@ minetest.register_craft({ output = 'technic:hv_electric_furnace', recipe = { - {'technic:stainless_steel_ingot', 'technic:lv_electric_furnace', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:mv_electric_furnace', 'technic:stainless_steel_ingot'}, {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, } From 41f70bbeeea786e552cf0ef001d5e2373cd8537b Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Wed, 7 Mar 2018 15:37:11 +0300 Subject: [PATCH 22/36] Industrial HV machines --- technic/machines/HV/compressor.lua | 12 ++++++++++++ technic/machines/HV/grinder.lua | 13 +++++++++++++ technic/machines/HV/init.lua | 2 ++ .../textures/technic_hv_compressor_bottom.png | Bin 0 -> 2049 bytes .../textures/technic_hv_compressor_front.png | Bin 0 -> 2539 bytes .../technic_hv_compressor_front_active.png | Bin 0 -> 2573 bytes .../textures/technic_hv_compressor_side.png | Bin 0 -> 2542 bytes .../technic_hv_compressor_side_tube.png | Bin 0 -> 2565 bytes .../textures/technic_hv_compressor_top.png | Bin 0 -> 2323 bytes .../technic_hv_electric_furnace_bottom.png | Bin 422 -> 2049 bytes .../technic_hv_electric_furnace_front.png | Bin 590 -> 2527 bytes ...chnic_hv_electric_furnace_front_active.png | Bin 565 -> 2573 bytes .../technic_hv_electric_furnace_side.png | Bin 425 -> 2542 bytes .../technic_hv_electric_furnace_side_tube.png | Bin 2444 -> 2565 bytes .../technic_hv_electric_furnace_top.png | Bin 1750 -> 2323 bytes .../textures/technic_hv_grinder_bottom.png | Bin 862 -> 2049 bytes technic/textures/technic_hv_grinder_front.png | Bin 716 -> 2639 bytes .../technic_hv_grinder_front_active.png | Bin 733 -> 2507 bytes technic/textures/technic_hv_grinder_side.png | Bin 753 -> 2542 bytes .../textures/technic_hv_grinder_side_tube.png | Bin 791 -> 2565 bytes technic/textures/technic_hv_grinder_top.png | Bin 616 -> 2323 bytes 21 files changed, 27 insertions(+) create mode 100644 technic/machines/HV/compressor.lua create mode 100644 technic/machines/HV/grinder.lua create mode 100644 technic/textures/technic_hv_compressor_bottom.png create mode 100644 technic/textures/technic_hv_compressor_front.png create mode 100644 technic/textures/technic_hv_compressor_front_active.png create mode 100644 technic/textures/technic_hv_compressor_side.png create mode 100644 technic/textures/technic_hv_compressor_side_tube.png create mode 100644 technic/textures/technic_hv_compressor_top.png diff --git a/technic/machines/HV/compressor.lua b/technic/machines/HV/compressor.lua new file mode 100644 index 0000000..a5998b6 --- /dev/null +++ b/technic/machines/HV/compressor.lua @@ -0,0 +1,12 @@ +-- HV compressor + +minetest.register_craft({ + output = 'technic:mv_compressor', + recipe = { + {'technic:stainless_steel_ingot', 'technic:mv_compressor', 'technic:stainless_steel_ingot'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_compressor({tier = "HV", demand = {1500, 1000, 750}, speed = 5, upgrade = 1, tube = 1}) diff --git a/technic/machines/HV/grinder.lua b/technic/machines/HV/grinder.lua new file mode 100644 index 0000000..d932a90 --- /dev/null +++ b/technic/machines/HV/grinder.lua @@ -0,0 +1,13 @@ +-- HV grinder + +minetest.register_craft({ + output = 'technic:hv_grinder', + recipe = { + {'technic:stainless_steel_ingot', 'technic:mv_grinder', 'technic:stainless_steel_ingot'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_grinder({tier="HV", demand={1200, 900, 600}, speed=5, upgrade=1, tube=1}) + diff --git a/technic/machines/HV/init.lua b/technic/machines/HV/init.lua index 20e256b..93cd7b7 100644 --- a/technic/machines/HV/init.lua +++ b/technic/machines/HV/init.lua @@ -16,5 +16,7 @@ dofile(path.."/generator.lua") dofile(path.."/quarry.lua") dofile(path.."/forcefield.lua") dofile(path.."/electric_furnace.lua") +dofile(path.."/grinder.lua") +dofile(path.."/compressor.lua") diff --git a/technic/textures/technic_hv_compressor_bottom.png b/technic/textures/technic_hv_compressor_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a61ed6cd6e70ba7c895b9ae95b9b1d7494ceb5 GIT binary patch literal 2049 zcmV+c2>$npP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00(JFL_t(o!!4Ivjx8&aM3=va z$UH|qiBipfY~AXc83F#Nk6ph=2#~p%E#zPS{?|k;T3#Lv)@%@`N4a#EgbAnnMaD2Y zR5`kb`D*sS;^yq6y)cYRg|`YV2i=GVC5@EOJ)n&b%n0h^=qk#czxqybb%Hk1F{e+Y{0mI!?!J34=RId0fS$& z$Wa2}??8rNcd&?YEM|*P={s-ZIuY;zr z#5fHyf=&z)1ydBx5=9+cK)g8~%pAl9NoZeu`9Y-FmF~ytE)`%(L z#rL%^{vf&#y-*Wk9A&67I+YH`mSAn9LWpBx+;1?_cx53Hgbi(js4)4_kppAH*9@bJ zYYjcXK=-1iP(CwMIjnFVx%lp1WI;9@OYChD(A~5SB173gBr38fbt)ZcV@_iYc{$=j z*`R802Q>@xVudnuh-H9aCdA!D2XP(xD=;xU6rY8;G7`MEQtk8@qsAOXUr81RWizUf zz}?8OMEHq{B^_$|W` z!42v(W{c@VZ9{b^Ijp!5X+(|77Q)cptPJ{6>S@x4cp9}J#prYJCDe1+G*gSwgXN(q zBnCgACCLc%Yv6#q*iqz5S)WKjjxg$s3{s#XR26LyB(a7Sg9eCRtQkavd4wH{C7{-1 zDWXdC#Tlg;6mh16{sVQC5v4;JUK(Q>dV%C1+N^0z;9iUHK}_gYrUQ?g;d3!TX$7=F z8YYmd7!;LeNuj2wY)~zv0t-Pgnity&lJvTe+GrJxvE3+Dv;rnDac&2@lVXF-N9Qhb z2Ae|Kz>+?o4#%6UU|XRC+&!NIs%QrBKcodajpA|*sWfUHY~%dhy<2$mLq_5!X-emXLE(&G@5$|g=~jVWQrh&-=NSB zHqCHQ$VM)OELtF{88*2ARr=k;8Tx`=O`iwL;q+j#um=d}c1{9aD7W!WAr78Hhf$hn zfZ_Ck(LpB>1bv2oCis!$ox{#WYtzrmi15Zxt!Nrs7PgxufmqQCrXbX5pyx)b4kn6q z@!EwPm>w9V)bJ>D8ph~j{8SSBBJ(K~>Y(z_1J^6;pQ7jev>w7M&16%p$R4De$%Ikj z+Nh5~I&Bx41$=0yWndSTO7``!jy4ROX{3_LLgttAUNp(R8m&Rvc^YDxTO71eDGrSc zAci-b<7k#qR}tNaH>#U+8W$K()_`z$`_TKKN9jGV4_lk_Ylt2=LhVK{PW^D5Vf@f4 zj0i`IxfNAKPBS)44(_^<6Kp%E-q<{ZT}T;-arnHdyUEzh2D|h_wcYRso?~1k^gL)N zZz{+}UTA)4H~Qy`RhtxHEI)lQji)QCL9gJPMB@uOzy{@|yHOWZojHSyBH84Dkl^%- zE!Z-kisZ&UkT-ZZd|6QY#X_kTW)5kC<%hD=OE?QUi(5gYfx=38Q5wTasCWMRtvc-2 zaS^08GsBykgCLbW`$G0Z)~0vyJc(vv<7hOPuqxQ1%>1A-hHoWoff`bU>F~^pRl@5$ z)ii=VhwSFqFYh#uLy8cu;{C&W8qwx`oo$MWGL}39JCj!i5oNTA7W@j_G}(Hic_m;SkKTC;hL_ip-3NL5FXWa)ofDUs0k0T2yf!!P}bc`ZVZN?VJMjtI= zeyC|?hMs~dRGf1JpUpPsIZgk-Zm2EHThuGGd^q4az)zD7P4N&PIrSjdpw*-l(?cFZ zWb+nyAkf^+-(o+JJ+H00000NkvXXu0mjfJtm}Z literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_compressor_front.png b/technic/textures/technic_hv_compressor_front.png new file mode 100644 index 0000000000000000000000000000000000000000..4f488a9be7ec78483d39bdaf7b00856c6e6a9cd5 GIT binary patch literal 2539 zcmVe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00~n`L_t(o!=0APi{|N7$3N$J zp5N`gS9MqQbsRF8o*849hyg+W0tE#VVn7!`M2)!0LU4!>20F6%z$x6f^YT5@{f$!qS;QnhK%a`Je)`1;&aj9eoX~ zBkBRyVn+djV3I@hz9@S_kc6!v8L$>&1hs;lDRKm<0LB@3k4ZcggKEOJj=YM*PLT*Y zvRD%dEyMv7HTX5yYd`=HlIA$uVW^bYC7cQp!K4fT=^V5|+zL7ZEr7;jhM?sRAneMK zOF$dN4#5m^Y#&h-$PBiY9n@-})2YLt&?*mo^ zGf;5gTT2!c%BS21AXspbK0!XsV4a{;)F(uKOf|cv9D|ky^$yc1p^CU>2hQbDNJ)vM z$JP)reC!W@m0*?38w87lNF)(TFnxwAmFN?wP})cv4JLWWggywFIK(9S6mTZTiYJAP zZ+zvOq~7721J@G*m=MAAAdhuNw@)M-fAC*#qsHJ(kGcd^AoGxGB5DMMXd-p82#F|; zAQopW(fHjMs>4|2Q{Q__Y?#sOKXTQy-KmAwC4))0{94{_;^KU=HYoGlm-uR2(`d`~$``BklKBL5voJCcz zQ`t4I0os6J4W_op#^6e@*CFNbg^&CkT@OYLKPfRjEv{Hf&4_BTDFR?!xMHh8u%YK~ ze*Q(0dTg_soRolSw`&{#dl4G9+iV?tIukHa5#5bi zNLNe|m*I`)n_u}B&O_`VMvJvVS|}!uI2?qv5c7abV2c90M-@7&*kG?X%{Mzn-u(MN z;`n5S2L8QR71|wI~ z>Z)hoHdCB`M!RafS^`ZNb+|G@6$uU`Le@rbJt=`P13@hi1a3hbSezGd9X2-*uVz*9 zOxNW2NrEJ~t8A&@TmUS6VQ~&jZy;pgcbnHq^)zT6Nei&a03K}|+68{fC#lb#G2oPB zpXuK9S4&_bDH_;B>;$NHmlNL+qQzz4L=?A9_{JauNUMY!fnSPnSthdy zzx(^2$Dl+M1f)0MA}J+4{>eY)U%&eKUBh~VF_zvM@;Z?W7}wFyEUp8l7WbE5{5x*m zJS2v|cre0cLfv&}RFZxH3A?8I1akWhKMEf5of_0C?tTh&^ad4yZpv)zQ)(y zdV@$JrHp_6kGE*r7AF?)7+0WCI66AQoxJ}e^7Sb%z4|JWcTCEPT5>eCSU}yb=3o7n zKj;4{g%%_mknK4)hXXE_XV|PFY&TrLd55>pPH@$@;H2)*cituWp4r}vxBl&0SS*N; zHOl{2LawMrzWk-HVXgAfU-}3y-@C`*^EY^Oe2ObF+|6ry)R!yD%3_Bj8qF|9`Mqzy z&6~gQ3PIpcKKCUIJ;oPAB32S9vzS`JCDauFOgluoE$(DB=ib3S=cf-i zT{KMdM6rLJ^LKwpR*p#$387~?9&&bm%Aw1!S%EDJp3FDcxTXjRjSXrA->m3uPO*AS zR={e$KoYc}#%^^tF(J$8+C&uLqJBu*b_@mu zF?0+hvg$nB2%0h^dW;)Vd*#-1FLUeQ4x{0eRIk`vJS4RZ7v~q)VoV<@hO>&p+b`g< zDYhE3+-$ISZhzqQY&gQ91XcPzP!#z~TSo$V#vECqfmYqq1g@cu(C`UU0EkVp7ZM ztY(y1dfzfXd%$cw;Q8BQR;?kkiD5P2{@EGpi;m@H#dJDgU@I=S%K56MHHqnPpH2*Y zyTxh6`SOxX12?86cWxel-|+bK9Cu^?8fWu{iW5?^pzaGKbu8>2p^0?0e2>X9NRh73@GcO#NZ)#j*$C@~xYCkBV!K+BvORLE z^s6n$rZ9q|yDk%hFOz=~;%!om(K}8@2{s#cuA!e7I9Yz2E002ovPDHLkV1oWH BoSFat literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_compressor_front_active.png b/technic/textures/technic_hv_compressor_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..60de4f9d34eb2c61f9c6b4123bbdbd33a10df008 GIT binary patch literal 2573 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 literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_compressor_side.png b/technic/textures/technic_hv_compressor_side.png new file mode 100644 index 0000000000000000000000000000000000000000..77e2c1fd8a5888b5921966150f25ce81a868323c GIT binary patch literal 2542 zcmV*P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00~w}L_t(o!&Q}8k0i&DgugiQ ztgE~FnCTu42~iqyh1HMbv)=U!^oJG;XgMS$QZwDtXPsGy*#g9kN0%T5lu|gaF+&7v(K<12pT0V66+CJoPf1} zJKduu4q&Z-6{H=3gc_1-a0f#|AP%5YAU9ALI1F&mFpJ|m3(&O!4Q` z1_7S}19*#b9wQ1}3RrNRA@KtFiF*%t12!;3NEZnlBIJU&h*JNin$eUqkX$3qqIPberT_iq*QMWJ__bU*AIE=+(1F=caX}~p}&>P~Q z2^!MHIA%5%bfz#-i1EZ^3*tO64&cE~ElS+z0hNM3j2#*|QJ4chLByd716?F61yd>L z1g0l>X5s(nJ^;4~vpppn) zaAPBg7_?S|)MHFStOIz1)*fa;+=JE%5kV!VAgdwt3bPPm1U(r6k12B=z-s7#S74Tb zb!3f2m1gYLY7&)9<~5(Ean_=LReTpMl&8Dq`(xI3LzM@w#2mo4;l;ppvE+d zfX%=;M1U&~?Jzz{Bt}Q9fvb^0^H#w@;}bBKW2azHTMu3nPnp5Nz^lPHzy=(GUKp^T z{c4=^Y*3^2U5_smN@Zh*Uc;2LX7E#0cUPX$r|Kq6Y}~e)LW7a7GukwV($LJ^^=1UR8`mIgi9Om_bA5k*x&}Mk3^T9M$fmu@|fb`&OaS6ZJ9> z=A*N)ThnpPixoeQ=E?8 zRjDSd(s2#nf@wfn4Hi_XKzhhwF#3NN9kypUGw2>D4EE1|{R?m3UK6}$R!*^rqUn1i z2x(a&(NpbqXmT$hkCCxp{G9eXBX+5?-l9+_cS%G$eH`9``R7`Aw2`xnm z$`9;!HK~p0t|Lz(_5PWw#hk~-I|`#nV$VgH(AR4crHJ*B%jG#g|M)j-G0S*tdgRBS zh;HEQ{EThWayFaLA0jeqNy3r&EaSJkic}z7Ea{IGS`3&0n-@I22-+lcpVv$;&$$15 z&zsvzo*$nv^C|bo9WSd5-+%bP^*3+$^6-Mq671WHbDCX6UKq?|N-GKH(+LmTXAHu% z(TEgm>z;n_%$9Gc>W1C!73m@uSC=$?jNWBN{V8ZW@JI*`Yp%0K}dO8f8oWB#k zG9Qu9B1Ylbiov90)e}hu)oP83(D??_Wq57*`0*#c`}RNBHGA~Smph8{bM{T-=4ysd zQu;0ulw#Z5({(*%nGt+XsRC8+r~^n$P{EK)U`g4k3XxA(-ZWxLs8 zvKfOfn4A?{-+qft7MNnj{&>W^yZzk{$z+N}@FEO@C(l}3-(vzOZ5Ue5_Habu*!PO& zuto<*r(05!^X2i0x?ST!&t!7O{il0&L&s*lVLqFX=AN^&C8(U;{y<)&_z1^sg|6xi z)_SruW4qp?V@LJcFii}D>sY;h=4@8-&Fze;(}p|C zHFP?%m@Mg)X6S0H6m0f867jrQ5;_jerXj>YvkVmz*? znP1-U@bZPwI;1RlSUqBvR~J8=O)`eQ=D1qn-GELLh=G1caMt7dz|c9evnj?-u(=`n zNL}rT$vLSJhN|Y_WygFzC5DdqbdI(Llw!SJ(YJyAxF(-XxqEt|Z#!OA4;Y=>ACA>4 z)_1h6@cH?Xp;OddAT1~K`vwx&AC45ogjqVlNu=2~v@W2HCsFXctGJxaNy?JlZbzP{ zET>mIe7R%j2YMg4dwrm98-DraH;!$`&wsze{_dN1v~|zRvFH5!4BI)9atd0JPYU*r zpLqPdCBHl;eewLde&*}n{~i;14(n(7?u^A^!Rlp0R+P{T%oj^cGUexoJB-nEeMDSK z>*1lT`S$w{tacq%1oho_U&;39S--5fxxJ=oTiU9o>jMzD{pu?Y)tb8Qv3brs&seRu zD60@J0HmoUpX3akM-ZY2(R)IOApE~iD~&Q5Q3`_RUwhYt(hfa0PXGV_07*qoM6N<$ Ef))^*ZvX%Q literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_compressor_side_tube.png b/technic/textures/technic_hv_compressor_side_tube.png new file mode 100644 index 0000000000000000000000000000000000000000..a427128a2a2155032b01a75230907eb2f2e27c44 GIT binary patch literal 2565 zcmV+g3i|blP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{010hLL_t(o!*!QQuWiXug}-ce zclK#-_u6tb&#wv)NDPsMgoMR_Are2R#>^QpgP|q=0zgRigt?(ws{G#V?>+rFyUD#X zGZ^e^mu0C!ia|~?R;*YNk*Q>lNCUA{m|EkiKsE#E2iGGI14=1+uQ6Q&YtcGD8zBcs zkfukSC};qL-a_J2#B`_tObl!S6gi>w7~_dip?fSUF_=z)6>JXJ!NU}S(g27EIw-Uj zblHQA#E~Lq2B$r7rts}>2L1yB*kRGrtX6(T$bhIdWr-X&VtB9!~YA^;u z05J+P7t|%h445R)_vpxzX+$D@Ye|bhaDoaTV}sEF-$EEcRzrUPa|(C>MU)h49GXH1 zE@DNY0_d0kpqzzP5h{g@K{BA}(IrSe0ED3&sq#o8m=g3T#dHA?1&PMgYJhs0qfLVN z4BZLVL_*LgX^>bA$YKfB0{zoDYGMc03Rpp!0Z6DIxq$v)NC?CZbPD7K3Im4@4jLwL zxMv2sQs6;Ep^726G!f-0C20`wDbRtp^u5Q3LXQM2^sOQB0{Ij79`FWipo@^s5;#Q2 z1?eM7{f=q|QBFW|jr11n1YZPfGk{aF*AinSqzY3DA*Ljg08PLr2HS)ur9-SiYld?H zac9t_g5D#dh@B9EA}uYxRp_Kctif~u0W8G5MUOPl;aku?fbKxu$v}4>iFaYBTNr}- zC5S-mhTyS=SSRQ-(AS>e46)M$4e4xXGn)%KQv$CgBIV55UU=njQ)bO&t1tZ|PD`nyNv(Po-3{ zMrh3-vMi#ez%5`C+^8pY29-qcLO&#eh(T*bNIk|R#43O{XzgJl#2sj@5D`@JG{`Cl zPGM$3jG)T_@Bp9y8jJLP5Kxgp@4#D_XgGBI;y-^$TREEGIa|yLTH#$s-*p(J=)6aQ z5F#vQCI9&IfA~Es{sL?d!2uYIQN&u%X~1H^ABJpf1e0aZ_lSTx_plkJqH}?7zx|HU zIH#*>x~^q=*fA+5WVyxF9<;_ehpS5PnmCIn0S*QZV2VH}0=*cLnSnlF{Sxe4u$>x| z);j#cV4Dm!4!nkQ2wly5G2_2}^&kAt|NaIAXrr(uK^sGsWjufOf}j1>Uz5*IfJk(p z#|9e$_<>LzAn5`Wf#|^MkwT21S_LnJurt_Rfpx$@n|X}bG{^f5&Nb|I8~)goQZ!A& z-~IgWS&TP3qs32%nKo}WVMB)ler=j)8#)1bU5pvCRIwi3n ze-Q8wT}1G{qit(k9QKGxv!SDo0h5KN;WX?MA2cd4Xr%;ui1cesG#Y;#T0|w0sGl~Y zk3{{5oEI=Z<*JD@PwfBLt7=K1prg7-{DV{D?R zokN0PBZyvB&f_;9v zpx*Au3xg@gG?K6wm)vabF$fn%BT{gEx8(Nrmictf#l`bsoQlGSp5P-kF`S;BgVwZd zi=L!(eI!ccep8Vonn{*X?T;KQhe=0VUR`0=>jo8Tyt6oj$#hI!rlecNC{4+N=HNDL zRy+D$@fUygm;BAo{ub<@h1F)q$!tbml+@J$ZQ=6zmJi>|*>BfqW5|6ZM$O{njH>IA zsv#eHo?pDe*4>`x(}Hw5;bHa2=uq)~eZ|@2g6qe7qRy!6$j5KqkUtzrQ%i^)S(>7i z;>GKa$ch5#dsOlhtTO0#-$QU1lOt@C}r3mDr^!IxA#|^nh^v= z9b3Y&$CVwYXQw>gKTu{Vzy9xk=hX)v@Xh^_QS4dQj?zG?40=3Ax&z`P#=x_S6SC|j z_scCx8&>bXr0si}-HQM7M?QP|r|7msT!p>eFL`@@!usJo537b*8p%%1Sbz0BNj@Q} zfcG7dV=RIf zq3b+(*3dhL381v0Ydo975k=3=DeA)t9eP^bkeZz9+dHaeMIRhxIp^x#72B?5y;?J! zl%%<5K0g7Kv)vuYixeN>xY?uk)f#I(S(>p~?a;Ah|5!6l3|-%{e0Mlb?$I2}5O~BQbFMfLsea+);M{Xi{F=4rU;KkWFVukCgB|rV? zYvwxg^%vhkKE}CA4pqzSVu2V>Usp`eUU2hpO=x;#G~#A?i#a(z{d`_#bgtsKT;lr< zohA?iu1n~x$Gbq+_GI%h#+KOJ5PhWD?}*8Q)Ck?a;^tw?bUG%6mg#tkwg!}9wOZnu zfIF_pCu1(}?r=@Z!}12BbNl&m|A_T1O(VR&zolyxRU1f0C2m(k0=vVJq9~c9CA~!I zT}{&mwDBYg?zel+CR38pi0yVuo~N9Q&$+q2q;nn42QD9Pa81oO-+a%pY5DrwOYFxV zzM`od4@bvhF~_z&$!H8(k(UL#+jrc)-;kdzNFO}kt?v2Bn>U!?IIQk*?VQ<5!9!jzLw3=vwB$a;^hT()6ncI zS{H!8%h#_t>{nEk!{#~DJY%`qpsYgtu#nQ!l9xGM>k)(~LiC;x;twyF-+gD5Mj4GL b1;O+GhTVDDPxuar00000NkvXXu0mjfNPXO7 literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_compressor_top.png b/technic/textures/technic_hv_compressor_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5279c8100db72b8505f69ef6a3bb644a00b2fd5e GIT binary patch literal 2323 zcmV+u3GDWXP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00?_YL_t(o!!4G}jx0%TL=Q=K zkBH2w>ig&y1PIXoe~xxq3IjpVbl*o+WoAUUJ4r2Se!y&DG~{x>I0aRR!*avwiZ7XC>Gy-0PW`*A2coQ!FHmSRD zmWdq&jayJ&j7<_%WB%r>FNsl*0{SVSIAtd5WndWXlOY{0DdaG01nUee3v~^I4i?lu z3Za5Zz&*MCD#R@~ImwZ9nP@(P0h!98C%QZS2J4H{GFW9HREW*UyJF4Z7;GL)V4+Y} zff8Icr~P5Hrfg3_yeBQ8?-OeiF9W+Is}yQgWE8ZDFj**9p**dKRO~;JOhcXq+6I?a z&`jDok*-(cP@F^A4$# z7Kz?gT64;>kT=1G)5NLIANlH^&Q@2}FHWsW0Wt+MrCgO-lKC23zE0*T%mvIk{kc%4 zlV;ci7e)86a=r=roNyPA0`s6C@ain%Ls*;PF7)>kUJGsOtS*>=JSTPS#E+eI4)k+H z`=I*dBAqr0+#BK(3NUvpp`3}9>G%%$GmzCOFCAgxB`GBH%Vc>;R0UOKc?n7haw*iO z2WEzNpxLN@Hm0n!Ot#vvYay?ReonFc0={i(pfE{7}3X`~miR zU{g3B1380o>c^!MSPP;T$`v*@EIQha>VuGz@)b@o3XSNAJS%A{mdUaYI2`E{Ez3&$ zU5TFbM@KfeY)M@w+6}G2qJ}L>y$(VLh++rSs$@F4Id(0S>j_t-jg@?Hu6knXa7(HS zF@m}Z@(IQz$yQLfA;U0h$Y$sxslPV38>a}m8|@_#Pc#h66$`=Ii9TR0iKUSXKu~>< zaj-eqvZ5E@3HHWEw7oD-qYYT{M0*IS18tLtLc1u(x6bnA!!#GgPoY(i&w+eOq)wKv z5Y6$kQdVU>3LMZ!rEYNc!Z?ECP;xHlyJIh4F=@XB;}9OBpk{^k364>)&mXmc#62l9 zVGPEA9FCmMc6YYt1%DORRoH&(`0If3;OQ$|J}YU8){|nBWr2_rk))hPPa}Q^Wl6L; zWl2ZQKn3~;%mkZ_F?TYJ)`abOVowE^#`=3_{1ECjDf=Y;f?5lDndG}7aWWH93ULo2 z9o3-xRv9-Z6!sy+TYR)YL>WsVw@E1l>4B6^IT|a8lt~Wb@#d`ip#L|>;pl5YzZ&zo zq0f_igS7bgCqDruY!&f<3H$#De!}%4a1Fd98cFF-(1wu5hL+Cy6y&wQTfpMjXb1z2 z%bC=>bLgl7eS((zZN6v6L~#)m=qC9!m(PV!R@qSbB^bAX zpTW2U96~8Z^u+e0WXA)fR@?)X;H=QULtm2qJ-OclyFy99UxVeBf_r5ghAjmV2R`B$ z7w}k_XT^O-{fDAAp|wO+nRnroq!wVU#EVj{lQD!b95#?w&`Yn66v{OC^Z^;=lQC|MC6pco{&4CR6j5|jC>?nRmWCDr?H%udJOxbQ5(Cvj zE=HX}ds*-biwbs`DXfOB4j1V4B!318)LD^J>BTXt>_w{O5yRFyGdpC7Mw3}sFyvy-Efuh4!~@>{Ts2O*QtK$#QW1Zy1|LTiSl z(0`mnD?|-E8uPBGCLszvCBadVs$~YR~opDP*IK5LAMVCuM|7^tHeDHt$pr8IYIZgws97n=b zJPP|T=3+edL?h5kgRA1#gA+ymH0-Ph2V9dL6W^6QlCxIy6U0x&U742?6-na9z&}++ z4fH77-6+>Yeu4foky<&v7u;ce3HlCAD~1pe%qfgpVZRBte-?&LP*G?{lF+hI`mXi>rql_`Y3-qMw$71Ge t%t)elVuD;M{+@&c3r2*~R^fg&{vY7IhhrNYxljNA002ovPDHLkV1lf4A%p+` literal 0 HcmV?d00001 diff --git a/technic/textures/technic_hv_electric_furnace_bottom.png b/technic/textures/technic_hv_electric_furnace_bottom.png index 3f65026aceb3cf6bfd3885798de22009e1778091..d6a61ed6cd6e70ba7c895b9ae95b9b1d7494ceb5 100644 GIT binary patch delta 2024 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 U|H;U<6951J07*qoM6N<$f{{I!od5s; delta 553 zcmV+^0@nTC6V3!7iBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZy*e*zN@ zB0IAaIW_tT7^FQ@CO-a)fV+^KkTSO!te-4zwIfsZKA}FQMTBEflNfN#_ zya%n+(wS(X9N&!H^g#m)}Kn8j>_Mfm5vU6@QJXsyYzjQMJFhqacbX)tF^vob6f zSMcEejJmF|)?%%tu4{U|9{qeuS;FV*>)R^_c;r2UWsveSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{010(TL_t(o z!$p_NtL;Zt$3JUT{a*WVUiaocl3*}N$3MY=0})h|?!GOK#DPc<9r-`>xCI9-OW;eA4m1bP4`MW}L(hY2abGQf3#uB8l_ z5HeVnZ0D^f<3?oYCl+lPTNCCA902w0;LfHtu0B?Xkp>yzdClGew zs3qgQ6Xu|^nlKgI1u7+Me`P22UW^0wxu~ z1sM#L37edlBE(%f#9SaIuq($}h;G2OMaCkpLJfjyVJZg@OPM5CyV> zfQo=QPrmUDOa&sOe;zbt%s>s|BBF6&SPkLPuHLQA=p0NV(HvE%fbstlpPg|8iWUeE zP$cfoDGCB6j!}^--_`U@g}V^;71igZK4c=dphJMkiLD`fz$th(Mhd_6>Nd0BJ(=f5ooOn@I=`3?sP{M4FxPtZ=B1LHBn6N+*G71vUkM9c+3*W))l)@=*mC zHtwhx+X7u7N00*5P#{j2LDZSx!I44Wu~Sxon1pY>`5R~ocrYvk%$&MpR05(x&J(4M zs72Hg=86koLJ?s`q7W(3k(~Lvzxh{cDKIGH04XEIe^Ke6%mN%5b_ropzV-W0c<-I> zg8>x&^DqB`pZwtaB&{d{@4fXFKmP7JR70W2$bY>31K#`I4^ee2!GFE;7XSYCUn6Gd zWc=j2@9?{Ce)D-B*!7cK6sZC#;>24cT`3lnum9n1^W(SwoRSo;GDQ`q!BvTFh#EEt z92jV%f65V>K-Eo<195KH_7){zwILxerk&xL29?4Xp$USA333B563Pl^Vw8$f3g|#^XUa~{16-a`Cc_l!!y1tY z=KS#8AEB|qi*S5=jGlh-8CM_v4-c0$^KK+%f1}MKG7schFlm_GIZPEYMRIneoe(Kl zP^w~tsY9;kOd+8dqBZ6n5|t`KV#_!L>g3dAgw-YY7Y*z4Q)0JlINgr;`#;Ch#LQ&( z!YNTBV3~d^wDp>zMqLNQYie6!?u4lLRLBcMyhfv9j8x4Yb*`Btlc$!dg&ZM7<-sct ze|dUxMrVC1^P?kaK?iq^!VHD#C)s7OWWD`VI~M0VYB@r*`# zR5D~o#|+7ts*$3J_!+owuu#~n@A&+SXSh}zfB7Zx>Z(U+1oEps8ZmWNgu4+>)-lK|Mg${Ro?&Tn4?9_dfOAL1s{C+86g>= z7+C`i%A^I69YP68DS;+T@l_@{T@ zC2rQn$H(V1A+VhaIXi80!)uTCzznJ8RH0_QS+nfmHZ@4TW6`v%Y(u9HfBF3Qgu}yz zy~T{Z`97b0_%T!M1T*d(9I#kMV!cn!!qwF^UDtAPy<)$aqwCETF=m>&;reog+Q9mJ z%c2TQY2f1g3l5euUU_lJdQhrh%)324KR@U8dSrFCW`BRiEOgv#oU8SgL5=fb<7mVXEx0`|e2Zwmbr0s^i`;R#} zdrIjOKAUlJaY{IP;oi3o<_*)h;qKysoF=rczzXA3kzyu~g=t7Me+LUfoDMO>6;Oydrpl$s2-TIuE z2m0Rm;@K(FAZ&(0J)1MGwot+9_KvQbv#jSNH@2%SeJW_kR07X#*4$t2QO#!D+}zN% zHAjmVIC*-^G)|1Ue{g($!q{*5@WW5J>jysg=$QD6ue?OR89BQfIXpZd4vA{E02SJK z$LjQRPQSROy?;o3migrJ8Ncw_YlJd#d-;rUIADK&pNq3Anr;T$iM{SUL#TP>;Tktq@A}+L&kB;9m|b`|A&eqL2(f%ng0b2ZE846PFpPi O0000o#TJv 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 delta 387 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 aCis5@G*n`EcIh|(0000h2G(K6E6QYsk?EO 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 Db`e4_ diff --git a/technic/textures/technic_hv_grinder_bottom.png b/technic/textures/technic_hv_grinder_bottom.png index fa2c135a56e61f58836bf878be3455830ce86f4c..9212218874956e0e1a0d87a5f96efd16cc2fb084 100644 GIT binary patch literal 2049 zcmV+c2>$npP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00(JFL_t(o!!4Ivjx8&aM3=va z$UH|qiBipfY~AXc83F#Nk6ph=2#~p%E#zPS{?|k;T3#Lv)@%@`N4a#EgbAnnMaD2Y zR5`kb`D*sS;^yq6y)cYRg|`YV2i=GVC5@EOJ)n&b%n0h^=qk#czxqybb%Hk1F{e+Y{0mI!?!J34=RId0fS$& z$Wa2}??8rNcd&?YEM|*P={s-ZIuY;zr z#5fHyf=&z)1ydBx5=9+cK)g8~%pAl9NoZeu`9Y-FmF~ytE)`%(L z#rL%^{vf&#y-*Wk9A&67I+YH`mSAn9LWpBx+;1?_cx53Hgbi(js4)4_kppAH*9@bJ zYYjcXK=-1iP(CwMIjnFVx%lp1WI;9@OYChD(A~5SB173gBr38fbt)ZcV@_iYc{$=j z*`R802Q>@xVudnuh-H9aCdA!D2XP(xD=;xU6rY8;G7`MEQtk8@qsAOXUr81RWizUf zz}?8OMEHq{B^_$|W` z!42v(W{c@VZ9{b^Ijp!5X+(|77Q)cptPJ{6>S@x4cp9}J#prYJCDe1+G*gSwgXN(q zBnCgACCLc%Yv6#q*iqz5S)WKjjxg$s3{s#XR26LyB(a7Sg9eCRtQkavd4wH{C7{-1 zDWXdC#Tlg;6mh16{sVQC5v4;JUK(Q>dV%C1+N^0z;9iUHK}_gYrUQ?g;d3!TX$7=F z8YYmd7!;LeNuj2wY)~zv0t-Pgnity&lJvTe+GrJxvE3+Dv;rnDac&2@lVXF-N9Qhb z2Ae|Kz>+?o4#%6UU|XRC+&!NIs%QrBKcodajpA|*sWfUHY~%dhy<2$mLq_5!X-emXLE(&G@5$|g=~jVWQrh&-=NSB zHqCHQ$VM)OELtF{88*2ARr=k;8Tx`=O`iwL;q+j#um=d}c1{9aD7W!WAr78Hhf$hn zfZ_Ck(LpB>1bv2oCis!$ox{#WYtzrmi15Zxt!Nrs7PgxufmqQCrXbX5pyx)b4kn6q z@!EwPm>w9V)bJ>D8ph~j{8SSBBJ(K~>Y(z_1J^6;pQ7jev>w7M&16%p$R4De$%Ikj z+Nh5~I&Bx41$=0yWndSTO7``!jy4ROX{3_LLgttAUNp(R8m&Rvc^YDxTO71eDGrSc zAci-b<7k#qR}tNaH>#U+8W$K()_`z$`_TKKN9jGV4_lk_Ylt2=LhVK{PW^D5Vf@f4 zj0i`IxfNAKPBS)44(_^<6Kp%E-q<{ZT}T;-arnHdyUEzh2D|h_wcYRso?~1k^gL)N zZz{+}UTA)4H~Qy`RhtxHEI)lQji)QCL9gJPMB@uOzy{@|yHOWZojHSyBH84Dkl^%- zE!Z-kisZ&UkT-ZZd|6QY#X_kTW)5kC<%hD=OE?QUi(5gYfx=38Q5wTasCWMRtvc-2 zaS^08GsBykgCLbW`$G0Z)~0vyJc(vv<7hOPuqxQ1%>1A-hHoWoff`bU>F~^pRl@5$ z)ii=VhwSFqFYh#uLy8cu;{C&W8qwx`oo$MWGL}39JCj!i5oNTA7W@j_G}(Hic_m;SkKTC;hL_ip-3NL5FXWa)ofDUs0k0T2yf!!P}bc`ZVZN?VJMjtI= zeyC|?hMs~dRGf1JpUpPsIZgk-Zm2EHThuGGd^q4az)zD7P4N&PIrSjdpw*-l(?cFZ zWb+nyAkf^+-(o+JJ+H00000NkvXXu0mjfZGWP1 literal 862 zcmV-k1EKthP)};oq*ZT}hm{lenMLJ?TsjjF7kia~mXt1T0{~4u%bL4kW})SRio$ zP-~#you?mh61&QFvEuujFTVWTMo~ni4fENYFzhiJjW9-IOigPofhVX;!zRm6N->UO zlnO|b6seTL_dOo&?=eQBD}mM(i^ZHcj_G$hELRETcFXz2C3RclSj+w0Elu4b2ctv& zx&DjK-o9lvn{jh{L!Rfj!l9{ak|gIa9+OE)o~I;9f)EZtpooSM;`Qt4JLP*kJU)R7 zzUNUJ!_)H&Yg@{?CRwNKw_7eRU$Wcp*lbItS6BGbL%KLLO~bydD2fdo)nT<wc+Xhj&HvG8e6xttp!J*>k`L- zUw`?H$z;lMwPre*FbG3rmaK>lBF;{a`TP0${dLg!L0ce_rG|kbKX1CLfM-d%gB7`8zG;Vk> zAnJz=I6kJ@7OavL-+liT9Y4gS#aD_V&w!R> zwZ>?TV=Y0agOsj|bY1pk$-F3d^U0_D@%x{oX^tZts?yNwDVo}Fba+UXZ*UxtQZgP7 zk*6nT+}!<(BP71>b9;LW77mY(5T3+yV6j+od~!ls6kNTUvPv>Wqlju(Ax1~>yEu+< zT}eOeqf`KnWq8nMTNDh!E=^;|w|fTBfcwWM%KesZr^kH0K&rrJxk?B-3L{-=V`$rk zG|iAw(zej;^=Rx4*Kv6@osz5*YNKfygA`KYc|NMwBh7Q9aM6`!G#cW29zo!-*>2cu o3aY9m-xRz!JLUOlhP4j=0rm)i^Zq0A9{>OV07*qoM6N<$g4uYG9{>OV diff --git a/technic/textures/technic_hv_grinder_front.png b/technic/textures/technic_hv_grinder_front.png index a5bca0a08e864554d7e2fbe3eb50c1b422e7eb69..db9820e136f9ca46844372b141ee072ead31a174 100644 GIT binary patch literal 2639 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 diff --git a/technic/textures/technic_hv_grinder_front_active.png b/technic/textures/technic_hv_grinder_front_active.png index 40776302c6241ef3733d5118333b8d2ce4259320..4886bc23625f44cbe787a08160e7938ca3834f63 100644 GIT binary patch literal 2507 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 VcFqGoH;w=R002ovPDHLkV1gA?m^c6c delta 719 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 Ef{`7W?f?J) literal 753 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 b1;O+GhTVDDPxuar00000NkvXXu0mjfT#wlc literal 791 zcmV+y1L*vTP)P9V%2H}hl0`UWU3VZ^>!NI`7Y6%Io4L1A|tAu*g zEW=DMRaslEu{?~1>s{#>_gvF_bg2l~MS;!avmUBI3Co||8O!W0d|Jkm4`=c}5sbc~ZF#f0}2Nh8zPv){M8 znMdAz@q*jGU*j|el65RA%QR+mo;Y-Y&%gMTx;jHpDqqoVH}r9$u#j!V_P)g$!F9(S z{XFBP#V^+E4@bs0;{^`WEjA`nnrIr&>aBO!-o4_m+aTVste@ew$AM*rUK6Q(WZ7I2 zryW}@5ff<-6VIPraN2LVfBX?&daAPvVz!*-fNOVqBn{-b!`BNQ?(aY{=)l8vgZCx- z9lUzIK`p%Zyg*Ra3&+nd|HA$G#|>fW=%1T5?GbNb_e*pipO-%`~jXNwiT z-P|C?QWORM+_kuQn)$UokYnW4<4hWl1aTOYI0dAr$s}rDlNIK%Bg~P-qG5kL@h?+b Vg_>AR{8Rt{002ovPDHLkV1jqjYij@i diff --git a/technic/textures/technic_hv_grinder_top.png b/technic/textures/technic_hv_grinder_top.png index e0df36b14c107b206c7be0470add20ecf24e60c0..c89511f486b1060abb5fb13a6d9540f8636c4a33 100644 GIT binary patch literal 2323 zcmV+u3GDWXP)M02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00?_YL_t(o!!4G}jx0%TL=Q=K zkBH2w>ig&y1PIXoe~xxq3IjpVbl*o+WoAUUJ4r2Se!y&DG~{x>I0aRR!*avwiZ7XC>Gy-0PW`*A2coQ!FHmSRD zmWdq&jayJ&j7<_%WB%r>FNsl*0{SVSIAtd5WndWXlOY{0DdaG01nUee3v~^I4i?lu z3Za5Zz&*MCD#R@~ImwZ9nP@(P0h!98C%QZS2J4H{GFW9HREW*UyJF4Z7;GL)V4+Y} zff8Icr~P5Hrfg3_yeBQ8?-OeiF9W+Is}yQgWE8ZDFj**9p**dKRO~;JOhcXq+6I?a z&`jDok*-(cP@F^A4$# z7Kz?gT64;>kT=1G)5NLIANlH^&Q@2}FHWsW0Wt+MrCgO-lKC23zE0*T%mvIk{kc%4 zlV;ci7e)86a=r=roNyPA0`s6C@ain%Ls*;PF7)>kUJGsOtS*>=JSTPS#E+eI4)k+H z`=I*dBAqr0+#BK(3NUvpp`3}9>G%%$GmzCOFCAgxB`GBH%Vc>;R0UOKc?n7haw*iO z2WEzNpxLN@Hm0n!Ot#vvYay?ReonFc0={i(pfE{7}3X`~miR zU{g3B1380o>c^!MSPP;T$`v*@EIQha>VuGz@)b@o3XSNAJS%A{mdUaYI2`E{Ez3&$ zU5TFbM@KfeY)M@w+6}G2qJ}L>y$(VLh++rSs$@F4Id(0S>j_t-jg@?Hu6knXa7(HS zF@m}Z@(IQz$yQLfA;U0h$Y$sxslPV38>a}m8|@_#Pc#h66$`=Ii9TR0iKUSXKu~>< zaj-eqvZ5E@3HHWEw7oD-qYYT{M0*IS18tLtLc1u(x6bnA!!#GgPoY(i&w+eOq)wKv z5Y6$kQdVU>3LMZ!rEYNc!Z?ECP;xHlyJIh4F=@XB;}9OBpk{^k364>)&mXmc#62l9 zVGPEA9FCmMc6YYt1%DORRoH&(`0If3;OQ$|J}YU8){|nBWr2_rk))hPPa}Q^Wl6L; zWl2ZQKn3~;%mkZ_F?TYJ)`abOVowE^#`=3_{1ECjDf=Y;f?5lDndG}7aWWH93ULo2 z9o3-xRv9-Z6!sy+TYR)YL>WsVw@E1l>4B6^IT|a8lt~Wb@#d`ip#L|>;pl5YzZ&zo zq0f_igS7bgCqDruY!&f<3H$#De!}%4a1Fd98cFF-(1wu5hL+Cy6y&wQTfpMjXb1z2 z%bC=>bLgl7eS((zZN6v6L~#)m=qC9!m(PV!R@qSbB^bAX zpTW2U96~8Z^u+e0WXA)fR@?)X;H=QULtm2qJ-OclyFy99UxVeBf_r5ghAjmV2R`B$ z7w}k_XT^O-{fDAAp|wO+nRnroq!wVU#EVj{lQD!b95#?w&`Yn66v{OC^Z^;=lQC|MC6pco{&4CR6j5|jC>?nRmWCDr?H%udJOxbQ5(Cvj zE=HX}ds*-biwbs`DXfOB4j1V4B!318)LD^J>BTXt>_w{O5yRFyGdpC7Mw3}sFyvy-Efuh4!~@>{Ts2O*QtK$#QW1Zy1|LTiSl z(0`mnD?|-E8uPBGCLszvCBadVs$~YR~opDP*IK5LAMVCuM|7^tHeDHt$pr8IYIZgws97n=b zJPP|T=3+edL?h5kgRA1#gA+ymH0-Ph2V9dL6W^6QlCxIy6U0x&U742?6-na9z&}++ z4fH77-6+>Yeu4foky<&v7u;ce3HlCAD~1pe%qfgpVZRBte-?&LP*G?{lF+hI`mXi>rql_`Y3-qMw$71Ge t%t)elVuD;M{+@&c3r2*~R^fg&{vY7IhhrNYxljNA002ovPDHLkV1lly9+?0D literal 616 zcmV-u0+;=XP)I4j~UxQ;Ge7{`(KC`5WsK(U(bDXi>!R8oeu#bL_$^MVZ8nI z)d<>k!COKLycf{~4Rq~{zn|n|(7&w2N#xH#^gyfV(E|)M3cm`S1k9L6QTIe&7HB~% z4Zo6D1pzfouU`XJAwZXgx574B8;+Q&($p)77I+jMCb}Su;@oD!USMDekno=9Bw`Wc zpN;;$;4!V~ED%I*sJ(Y$73#C7K9ZoIiE-N@AOiB0#L@tuiHN`>Q9Y9A!daN09)tXq z1XHFBdh6)Yp?ugADA2hhZ${r6 z+VNJ0?7-!DUw->2#*YmYL_nqK^-Mg9y6tlsmxgzf&waAck79YoWmrYMrt+?nh)>I$ zfS{gI1)8*~2{FLWqV5CN zLF8Vx+aThY#K5?E7N-UoTxh--s@ zu4@M~6OI$BumT8TZPa~$jWtP(MbyV26m;)3M< Date: Wed, 7 Mar 2018 15:40:36 +0300 Subject: [PATCH 23/36] recipe fix --- technic/machines/HV/compressor.lua | 4 ++-- technic/machines/HV/grinder.lua | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/technic/machines/HV/compressor.lua b/technic/machines/HV/compressor.lua index a5998b6..12e165b 100644 --- a/technic/machines/HV/compressor.lua +++ b/technic/machines/HV/compressor.lua @@ -1,9 +1,9 @@ -- HV compressor minetest.register_craft({ - output = 'technic:mv_compressor', + output = 'technic:hv_compressor', recipe = { - {'technic:stainless_steel_ingot', 'technic:mv_compressor', 'technic:stainless_steel_ingot'}, + {'technic:carbon_plate', 'technic:mv_compressor', 'technic:composite_plate'}, {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, } diff --git a/technic/machines/HV/grinder.lua b/technic/machines/HV/grinder.lua index d932a90..89dfc31 100644 --- a/technic/machines/HV/grinder.lua +++ b/technic/machines/HV/grinder.lua @@ -3,7 +3,7 @@ minetest.register_craft({ output = 'technic:hv_grinder', recipe = { - {'technic:stainless_steel_ingot', 'technic:mv_grinder', 'technic:stainless_steel_ingot'}, + {'technic:carbon_plate', 'technic:mv_grinder', 'technic:composite_plate'}, {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, } From c4843132e6f706f6e25e5b109e7b868ba739381a Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Mon, 9 Apr 2018 12:20:45 +0300 Subject: [PATCH 24/36] LV led lighting --- technic/machines/LV/init.lua | 1 + technic/machines/LV/lamp.lua | 250 ++++++++++++++++++++ technic/machines/init.lua | 2 + technic/textures/technic_lv_lamp_bottom.png | Bin 0 -> 1217 bytes technic/textures/technic_lv_lamp_side.png | Bin 0 -> 1153 bytes technic/textures/technic_lv_lamp_top.png | Bin 0 -> 1017 bytes technic/textures/technic_lv_led.png | Bin 0 -> 961 bytes technic/textures/technic_lv_led_inv.png | Bin 0 -> 632 bytes 8 files changed, 253 insertions(+) create mode 100644 technic/machines/LV/lamp.lua create mode 100644 technic/textures/technic_lv_lamp_bottom.png create mode 100644 technic/textures/technic_lv_lamp_side.png create mode 100644 technic/textures/technic_lv_lamp_top.png create mode 100644 technic/textures/technic_lv_led.png create mode 100644 technic/textures/technic_lv_led_inv.png diff --git a/technic/machines/LV/init.lua b/technic/machines/LV/init.lua index 30523c9..447fb21 100644 --- a/technic/machines/LV/init.lua +++ b/technic/machines/LV/init.lua @@ -27,3 +27,4 @@ dofile(path.."/cnc.lua") dofile(path.."/cnc_api.lua") dofile(path.."/cnc_nodes.lua") +dofile(path.."/lamp.lua") \ No newline at end of file diff --git a/technic/machines/LV/lamp.lua b/technic/machines/LV/lamp.lua new file mode 100644 index 0000000..5e8ee8c --- /dev/null +++ b/technic/machines/LV/lamp.lua @@ -0,0 +1,250 @@ +-- LV LED and LV LED Lamp +-- LED - a weak light source, intended primarily as a core component for LED lamps +-- LED Lamp - a powerful light source, illuminating a 7x7x3(H) volume below itself +-- with light bright as the sun. + +local S = technic.getter + + +local illuminate = function(pos, mode) + local loc = {} +-- loc.x, loc.y, loc.z = pos.x, pos.y, pos.z + for y=1,3,1 do + for x=-3,3,1 do + for z = -3,3,1 do + loc = {x = pos.x - x, y = pos.y - y, z = pos.z - z} + if mode then + if minetest.get_node(loc).name == "air" then + minetest.swap_node(loc, {name = "technic:dummy_light_source"}) + end + else + if minetest.get_node(loc).name == "technic:dummy_light_source" then + minetest.swap_node(loc, {name = "air"}) + end + end + end + end + end +end + + +local led_on = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s LED"):format("LV") + local machine_node = "technic:lv_led" + local demand = 5 + + if eu_input < demand then + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + elseif eu_input >= demand then + technic.swap_node(pos, machine_node.."_active") + meta:set_string("infotext", S("%s Active"):format(machine_name)) + end + meta:set_int("LV_EU_demand", demand) +end + +local led_off = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s LED"):format("LV") + local machine_node = "technic:lv_led" + + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + + meta:set_int("LV_EU_demand", 0) +end + + + +local lamp_on = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s Lamp"):format("LV") + local machine_node = "technic:lv_lamp" + local demand = 50 + + if eu_input < demand then + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + illuminate(pos, false) + elseif eu_input >= demand then + technic.swap_node(pos, machine_node.."_active") + meta:set_string("infotext", S("%s Active"):format(machine_name)) + illuminate(pos, true) + end + meta:set_int("LV_EU_demand", demand) +end + +local lamp_off = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s Lamp"):format("LV") + local machine_node = "technic:lv_lamp" + + illuminate(pos, false) + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + meta:set_int("LV_EU_demand", 0) +end + + +minetest.register_node("technic:dummy_light_source", { + description = S("Dummy light source node"), + node_box = { + type = "fixed", + fixed = {} + }, + collision_box = { + type = "fixed", + fixed = {} + }, + selection_box = { + type = "fixed", + fixed = {} + }, + drawtype = "airlike", + buildable_to = true, + light_source = 14, + sunlight_propagates = true, + diggable = false, + walkable = false, + groups = { not_in_creative_inventory = 1 } +}) + +minetest.register_node("technic:lv_led", { + description = S("LV LED"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + collision_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + selection_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + tiles = {"technic_lv_led.png"}, + inventory_image = "technic_lv_led_inv.png", + sunlight_propagates = true, + groups = {cracky=2, technic_machine=1, technic_lv=1}, + connect_sides = {"front", "back", "left", "right", "top", "bottom"}, + can_dig = technic.machine_can_dig, + technic_run = led_on, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", S("%s LED"):format("LV")) + end, + drop = "technic:lv_led" +}) + +minetest.register_node("technic:lv_led_active", { + description = S("LV LED Active"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + collision_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + selection_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + tiles = {"technic_lv_led.png"}, + light_source = 9, + sunlight_propagates = true, + groups = {cracky=2, technic_machine=1, technic_lv=1, not_in_creative_inventory=1}, + connect_sides = {"front", "back", "left", "right", "top", "bottom"}, + can_dig = technic.machine_can_dig, + technic_run = led_on, + technic_on_disable = led_off, + drop = "technic:lv_led" +}) + + +minetest.register_node("technic:lv_lamp", { + description = S("%s Lamp"):format("LV"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + collision_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + selection_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + tiles = {"technic_lv_lamp_top.png", "technic_lv_lamp_bottom.png", "technic_lv_lamp_side.png", + "technic_lv_lamp_side.png", "technic_lv_lamp_side.png", "technic_lv_lamp_side.png"}, + groups = {cracky=2, technic_machine=1, technic_lv=1}, + connect_sides = {"front", "back", "left", "right", "top",}, + can_dig = technic.machine_can_dig, + technic_run = lamp_on, + on_destruct = lamp_off, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", S("%s Lamp"):format("LV")) + end, +}) + + +minetest.register_node("technic:lv_lamp_active", { + description = S("%s Lamp Active"):format("LV"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + collision_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + selection_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + tiles = {"technic_lv_lamp_top.png", "technic_lv_lamp_bottom.png", "technic_lv_lamp_side.png", + "technic_lv_lamp_side.png", "technic_lv_lamp_side.png", "technic_lv_lamp_side.png"}, + groups = {cracky=2, technic_machine=1, technic_lv=1, not_in_creative_inventory=1}, + connect_sides = {"front", "back", "left", "right", "top"}, + light_source = 1, + can_dig = technic.machine_can_dig, + technic_run = lamp_on, + on_destruct = lamp_off, + technic_on_disable = lamp_off, +}) + +minetest.register_craft({ + output = 'technic:lv_led 2', + recipe = { + {'', 'homedecor:plastic_sheeting', ''}, + {'homedecor:plastic_sheeting', 'technic:doped_silicon_wafer', 'homedecor:plastic_sheeting'}, + {'', 'technic:fine_silver_wire', ''}, + }, +}) + +minetest.register_craft({ + output = 'technic:lv_lamp', + recipe = { + {'default:glass', 'default:glass', 'default:glass'}, + {'technic:lv_led', 'technic:lv_led', 'technic:lv_led'}, + {'mesecons_materials:glue', 'technic:lv_cable', 'mesecons_materials:glue'}, + }, +}) + +technic.register_machine("LV", "technic:lv_lamp", technic.receiver) +technic.register_machine("LV", "technic:lv_lamp_active", technic.receiver) + +technic.register_machine("LV", "technic:lv_led", technic.receiver) +technic.register_machine("LV", "technic:lv_led_active", technic.receiver) diff --git a/technic/machines/init.lua b/technic/machines/init.lua index f2e31c9..57cb9a9 100644 --- a/technic/machines/init.lua +++ b/technic/machines/init.lua @@ -7,6 +7,8 @@ dofile(path.."/LV/init.lua") dofile(path.."/MV/init.lua") dofile(path.."/HV/init.lua") + + dofile(path.."/switching_station.lua") dofile(path.."/power_monitor.lua") dofile(path.."/supply_converter.lua") diff --git a/technic/textures/technic_lv_lamp_bottom.png b/technic/textures/technic_lv_lamp_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..04941a048a9f29ed2498e721364cab14e33c9011 GIT binary patch literal 1217 zcmV;y1U~zTP)F-``~3-)rFDW!&Oj-{5TB-iF@eSK;Ai-Q!;1;cedEhuzhJP<#6KRo#N$p;OA=K<$mVoYUJi|-3j=9J{x<>!^<>4M|wiR*|Z@>XGQ`nDFna?(eYi@T>Citnl%&?(wp(`1<$u z`~Ls=`1$+z^Zoez`u_j=`TG3%{rvO&`~Ua;^Y{J#`~CX={QC9(`u_d&{`~*=|Md9& z|Mvg;|NZ;_{`LR;|M~y_{Qvv^|Mvd>{GQ4qr2qf`32;bRa{vGf6951U69E94oEQKA z00(qQO+^Rd1PKNe8>Wq_DF6Tf8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X z4i^9b0t!h)K~y-)W7q})9orCKA`*Msylo6XIBDv($=kLq-8N&}ETGtoZQC}2CD#Bk zNP63RkU|icv=~ILmbao`xTS;BV^gxTYx44PiV6^{2A~P^7=Vsu zmGQFk_m7B)jE_sLEkv;DVOH>psh2wW*oB5g#Kfd#AXs(0AO*lMVimJDwR3mz0V1F{ zh!qeHQc(>vfmK}J+|n`-gp#td!K{i%AgdPW$W>rRN?KbxIJgA@QDkHch~*m`1!Prm z!A!vG$mQEs;dkUVgd>4Y1Csb0Spk%@M0MmgWJmf21LXp-IZ{~1)zB8G)e__n2+J}s zBC-k|lENz5#adQYj&|;rfsqJS6c1Rz{B1lY8k#yKAf0YNM?hJD!6B8b+j>AIEM*mv zS5j89Q8%!61UdrBvMaX>;DMzFV?{*;MKv`wb#S4c=mL|j~4Oaj3Q0-DeQ zb|fD^KOY}281W&qc-KH2xvg{Cww@`_tTqFgp0sT~ICn1DHV2YB;h7ScOS`wVLo+V~ fECk}VZI}Q6;H{R9%I?K<00000NkvXXu0mjfN&~$H literal 0 HcmV?d00001 diff --git a/technic/textures/technic_lv_lamp_side.png b/technic/textures/technic_lv_lamp_side.png new file mode 100644 index 0000000000000000000000000000000000000000..2ea1117f9e5f7cc8418ebaed1db89efe96d719b3 GIT binary patch literal 1153 zcmW+!dr*{B6ko&yc@z$yJd%NmMkcYRrocbCFtQo435AA3H1QA&klh6qECXpE1)T`e zQG}tuC@hN^nV1Z<(3O3%EG8>Xfn*S4iLl@I-RJk+F3q|3p7Z;ibAEHq%sr;vy))1+ z!cV1A1!_{0_i!J*e0{z7o7{8Uq*AR2(!QRVqSxswbd?4}MU}Cpy1LqO-DEZmkC@Fi z^N7uC9M zg$NXwMyp1WCQAHt?0meCn5MIQV6%_{f zD3r;JcW`4+VSG4_6vow;83xX{hxiv+eJFLGUZwI6UcO$cv**G%>0{8OrTEOOT)oO` zUESv|W^pRqkh0gHE-NX?FEyyty8L$y`FYV*MTP^>J2h$Ath&e7sZ?H5n&j=7Tdnym zs}r-fhnRY4Xi-L-n)JP&-?Zi5_OCB`(>iXtONFR={?VrcgPr}) z?dck5$W47tmhA`xA_V#kaow^oqSNBj9bOE7OJ3#2dO_H~)1tg* zVcOEFp-;{&T)c8Cpr`fTi4u6{ioDAX^|jEss9JEO zvBD7ZW?iQvJE_N*Qa+qxxfI}DmGq?$2RC2ws#BLk#s7m!ld?Pc;*Q*-{{i|t0+j#& literal 0 HcmV?d00001 diff --git a/technic/textures/technic_lv_lamp_top.png b/technic/textures/technic_lv_lamp_top.png new file mode 100644 index 0000000000000000000000000000000000000000..701baf2d18f9b0ca951556d8ebab763c7cda8030 GIT binary patch literal 1017 zcmVF-``~3-)rFDW!&Oj-{5TB-iF@eSK;Ai-Q!;1;cedEhuzhJP<#6KRo#N$p;OA=K<$mVoYUJi|-3j=9J{x<>!^<>4M|wiR*|Z@>XGQ`nDFna?(eYi@T>Citnl%&?(wp(`1<$u z`~Ls=`1$+z^Zoez`u_j=`TG3%{rvO&`~Ua;^Y{J#`~CX={QC9(`u_d&{`~*=|Md9& z|Mvg;|NZ;_{`LR;|M~y_{Qvv^|Mvd>{GQ4qr2qf`32;bRa{vGf6951U69E94oEQKA z00(qQO+^Rd1PKNh2$!9ex&QzG8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X z4i^9b0YXVcK~y-)byI6ogD?=hzix|)S|6pNOl_fzMi``>@yq@`bIIiec+8N4>}7A4 zgTRp^#5T%NgY;FD*a1psd;PA0PB=!uY@=ZyNAbz`{*A#t2x-(lJ9C-^z!0G%FP2UK z?$XBzpqKSybd*%VbbjRJI63TBPPmrmXD5!M)zxbTc)M2f9m?s-pFQei^_-Y$=Le2TJiBT@vl^-YHm!*(41~<}WDpLvXWD=|}p*VGmUT6bp z?fCWS`GB9`gRP-+($>_f9jFqOo}+G!ZCl$yMq$?b`P_}tq~6}V%2pMx1sY@37Y?;m nq(r;^OCNBXIH{R&v!L`3WTn89C6k_700000NkvXXu0mjf&Mk#1 literal 0 HcmV?d00001 diff --git a/technic/textures/technic_lv_led.png b/technic/textures/technic_lv_led.png new file mode 100644 index 0000000000000000000000000000000000000000..056a9a444bfbea96e4328879f46848f50f10bf90 GIT binary patch literal 961 zcmV;y13vtTP)82;xd|L7_B z?)3KX@AvWW_wfAt@%Q!f_wV)h`1A4n^7;1k`1$nm?)dZZ`0e%e|M>O#^!M}j_W%F% z`}y|!^Z5J!_4fSs_4fGm@cQ)s_5Awx{QdU-^!fbv`2Y9$_VN4m`uXqs`2GL){q_3& z{`mL!`uFnu_y73*|M~d&`}p(y`273w{QCa?`uY0&`Skwz{rms-{`2?!|NH&=|NQ#( z|N8#@^#1(+`2Y0y{{Qy>`~Us>|Niy={r~y@|NQ^^|Nr*>|NQl4u{Qt!010qNS#tmY z3ljhU3ljkVnw%H_000McNliru;sgl?2^p_8{BHmN02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00GTOL_t(I%WYHpPunmM&R{&(4!5u;v_PsUglXLr?*&79 zP*mQm;-OH~ZWUySqAU`>-2cDx*^ZsTNlwn^^LO7p?7%KWfHDlhl3QF~NON%g7RvFE z_FcE_2X%c! zTojo!wh%rQ6mWgD!LLgp=-deAoM{d@L@{(AmN8?SODD4s0Q&Kvp)xWYAZbYOv(bzgVeGYg;HC29)%~a+`a6ov-p)hkA>7mJopXuJ^`!`_5x= zImAeXV1XO7mUz3tCUE-$C==&Gd3IpDw%B~Vu>Rg{uqnVvR0s#f5T3G1z4nAXXETpJ z>t>fYoM5Go=4oB_vJZxMqgCix%={T+G= zVJL$P>`6#MJ;W5E4`+sokc;AZQM=`KV0CC@TvabbN|AX&u&>n!9lqW3Toj?4x|tM! jnO1tm)R($xBs1TCLYkb2Dcf1600000NkvXXu0mjfg26M9 literal 0 HcmV?d00001 diff --git a/technic/textures/technic_lv_led_inv.png b/technic/textures/technic_lv_led_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8996ca2cf54cf7885c998f2be5f72a94d75a9b GIT binary patch literal 632 zcmV-;0*C#HP)~>l&dkcr)5*`&%Fxxz z($>t=`PUKs)g{x=)%e#W+0WI~(boIf7TVC(``IV>+!y@XDgN6V*3{Vf-5UMdD*xRd z{@g6|;41y#Ao$`R{^26|<01XwF#6;p|Klb5(GXLlp{^uzF=qc#v==SjM_wn%e z@cjGn_x1Dl@Adci^YQld`1$nm?)dZZ`0e%e|M>O#^!M}s^!xet`}6qw|Mm9#_VxDo z^zi!h|MmR(_x%0#|MdC%_xbkm`}O+y@B8@u_4@t(`1knw_wxMr|M~d&`}p(y`273w z{QCa-{Q30$`ThI<_x|(u{r~&@`t|?%{`~*={{R2}_5T0-QRZ_>00001bW%=J06^y0 zW&i*H32;bRa{vGf6951U69E94oEQKA00(qQO+^Rd1PKTRCY6+mpa1{>8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0If+xK~xyijn7LCf-n#UU{u5hf(-ap zKq=OuXvZdc1dWL+S8j+Vz5gAc(bu zfgVp3in;=v@HE6c0!xGGuj2hUJCg{y8lK<;{siXGA6yiOM|JsKUiJCnk6%knk{~*H Sp^Ogz0000 Date: Sun, 13 May 2018 08:38:33 +0300 Subject: [PATCH 25/36] bakedclay dyes --- .../machines/register/extractor_recipes.lua | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/technic/machines/register/extractor_recipes.lua b/technic/machines/register/extractor_recipes.lua index 54baa61..0747287 100644 --- a/technic/machines/register/extractor_recipes.lua +++ b/technic/machines/register/extractor_recipes.lua @@ -29,6 +29,53 @@ if minetest.get_modpath("dye") then {"bushes:blueberry", unifieddyes and "unifieddyes:magenta_s50 4" or "dye:magenta 4"}, } + if minetest.get_modpath("hunger") and minetest.get_modpath("ethereal") then + table.insert(dye_recipes, {"ethereal:willow_twig 12", "technic:aspirin_pill"}) + end + + if minetest.get_modpath("farming") then + -- Cottonseed oil: a fuel and a potent fertilizer (irl: pesticide) --- + -- hemp oil calls for 8 seeds, but extractor recipes are normally twice as potent + table.insert(dye_recipes, {"farming:seed_cotton 4", "technic:cottonseed_oil"}) + + -- Dyes --- + -- better recipes for farming's crafting methods (twice the output) + table.insert(dye_recipes, {"farming:chili_pepper", "dye:red 4"}) + table.insert(dye_recipes, {"farming:beans", "dye:green 4"}) + table.insert(dye_recipes, {"farming:grapes", "dye:violet 4"}) + table.insert(dye_recipes, {"farming:cocoa_beans", "dye:brown 4"}) + -- Some extra recipes: + -- Himalayan rhubarb root can give yellow dye IRL + table.insert(dye_recipes, {"farming:rhubarb", "dye:yellow 4"}) + table.insert(dye_recipes, {"farming:onion", "dye:yellow 4"}) + table.insert(dye_recipes, {"farming:blueberries", "dye:blue 4"}) + table.insert(dye_recipes, {"farming:raspberries", "dye:red 4"}) + end + + if minetest.get_modpath("ethereal") then + table.insert(dye_recipes, {"ethereal:seaweed", "dye:dark_green 6"}) + table.insert(dye_recipes, {"ethereal:coral2", "dye:cyan 6"}) + table.insert(dye_recipes, {"ethereal:coral3", "dye:orange 6"}) + table.insert(dye_recipes, {"ethereal:coral4", "dye:pink 6"}) + table.insert(dye_recipes, {"ethereal:coral5", "dye:green 6"}) + table.insert(dye_recipes, {"ethereal:fern", "dye:dark_green 4"}) + table.insert(dye_recipes, {"ethereal:snowygrass", "dye:grey 4"}) + table.insert(dye_recipes, {"ethereal:crystalgrass", "dye:blue 4"}) + end + + if minetest.get_modpath("bakedclay") then + table.insert(dye_recipes, {"bakedclay:delphinium", "dye:cyan 8"}) + table.insert(dye_recipes, {"bakedclay:thistle", "dye:magenta 8"}) + table.insert(dye_recipes, {"bakedclay:lazarus", "dye:pink 8"}) + table.insert(dye_recipes, {"bakedclay:mannagrass", "dye:dark_green 8"}) + end + + + if minetest.get_modpath("bonemeal") then + table.insert(dye_recipes, {"bonemeal:bone", "dye:white 8"}) + table.insert(dye_recipes, {"bonemeal:bonemeal", "dye:white 4"}) + end + for _, data in ipairs(dye_recipes) do technic.register_extractor_recipe({input = {data[1]}, output = data[2]}) end From 329d4dc7834636da4ea3e22e90e7e8c600549a7e Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Fri, 16 Nov 2018 07:52:24 +0100 Subject: [PATCH 26/36] restrict field receive to owner only on locked chests --- technic_chests/register.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/technic_chests/register.lua b/technic_chests/register.lua index 98f01eb..7d11148 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -157,6 +157,16 @@ local function get_receive_fields(name, data) local lname = name:lower() return function(pos, formname, fields, sender) local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + + if owner and owner ~= "" and sender then + -- check owner + if owner ~= sender:get_player_name() then + -- not the owner + return + end + end + local page = "main" if fields.sort or (data.autosort and fields.quit and meta:get_int("autosort") == 1) then sort_inventory(meta:get_inventory()) From bae7d1b8046ffa49be35b8817ce54ec10c2aa891 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 26 Nov 2018 09:09:20 +0100 Subject: [PATCH 27/36] i regret this :( --- technic/machines/LV/cnc_nodes.lua | 389 ------------------------------ technic/machines/LV/init.lua | 2 - technic_cnc/cnc_materials.lua | 292 +++++++++++++++++++++- technic_cnc/init.lua | 1 + 4 files changed, 289 insertions(+), 395 deletions(-) delete mode 100644 technic/machines/LV/cnc_nodes.lua diff --git a/technic/machines/LV/cnc_nodes.lua b/technic/machines/LV/cnc_nodes.lua deleted file mode 100644 index 2020f92..0000000 --- a/technic/machines/LV/cnc_nodes.lua +++ /dev/null @@ -1,389 +0,0 @@ --- REGISTER MATERIALS AND PROPERTIES FOR NONCUBIC ELEMENTS: ------------------------------------------------------------ - -local S=technic.getter - --- DIRT -------- -technic.cnc.register_all("default:dirt", - {snappy=2,choppy=2,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - {"default_grass.png", "default_dirt.png", "default_grass.png"}, - S("Dirt")) --- WOOD -------- -technic.cnc.register_all("default:wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"default_wood.png"}, - S("Wooden")) - -technic.cnc.register_all("default:junglewood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"default_junglewood.png"}, - S("Junglewood")) - -technic.cnc.register_all("default:pine_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"default_pine_wood.png"}, - S("Pine")) - -technic.cnc.register_all("default:acacia_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"default_acacia_wood.png"}, - S("Acacia")) - -technic.cnc.register_all("default:aspen_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"default_aspen_wood.png"}, - S("Aspen")) - --- STONE --------- -technic.cnc.register_all("default:stone", - {cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_stone.png"}, - S("Stone")) - -technic.cnc.register_all("default:stonebrick", - {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_stone_brick.png"}, - S("Stone Brick")) - -technic.cnc.register_all("default:stone_block", - {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_stone_block.png"}, - S("Stone Block")) - - -technic.cnc.register_all("default:desert_stone", - {cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_desert_stone.png"}, - S("Desert Stone")) - -technic.cnc.register_all("default:desert_stonebrick", - {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_desert_stone_brick.png"}, - S("Desert Stone Brick")) - -technic.cnc.register_all("default:desert_stone_block", - {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_desert_stone_block.png"}, - S("Desert Stone Block")) - --- COBBLE ---------- -technic.cnc.register_all("default:cobble", - {cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_cobble.png"}, - S("Cobble")) - -technic.cnc.register_all("default:mossycobble", - {cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_mossycobble.png"}, - S("Mossy Cobblestone")) - -technic.cnc.register_all("default:desert_cobble", - {cracky=3, stone=1, not_in_creative_inventory=1}, - {"default_desert_cobble.png"}, - S("Desert Cobble")) - --- BRICK --------- -technic.cnc.register_all("default:brick", - {cracky=3, not_in_creative_inventory=1}, - {"default_brick.png"}, - S("Brick")) - - --- SANDSTONE ------------- -technic.cnc.register_all("default:sandstone", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_sandstone.png"}, - S("Sandstone")) - -technic.cnc.register_all("default:sandstonebrick", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_sandstone_brick.png"}, - S("Sandstone Brick")) - -technic.cnc.register_all("default:sandstone_block", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_sandstone_block.png"}, - S("Sandstone Block")) - - -technic.cnc.register_all("default:desert_sandstone", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_desert_sandstone.png"}, - S("Desert Sandstone")) - -technic.cnc.register_all("default:desert_sandstone_brick", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_desert_sandstone_brick.png"}, - S("Desert Sandstone Brick")) - -technic.cnc.register_all("default:desert_sandstone_block", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_desert_sandstone_block.png"}, - S("Desert Sandstone Block")) - - -technic.cnc.register_all("default:silver_sandstone", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_silver_sandstone.png"}, - S("Silver Sandstone")) - -technic.cnc.register_all("default:silver_sandstone_brick", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_silver_sandstone_brick.png"}, - S("Silver Sandstone Brick")) - -technic.cnc.register_all("default:silver_sandstone_block", - {crumbly=2, cracky=3, not_in_creative_inventory=1}, - {"default_silver_sandstone_block.png"}, - S("Silver Sandstone Block")) - - - - --- LEAVES ---------- -technic.cnc.register_all("default:leaves", - {snappy=2, choppy=2, oddly_breakable_by_hand=3, not_in_creative_inventory=1}, - {"default_leaves.png"}, - S("Leaves")) - --- TREE -------- -technic.cnc.register_all("default:tree", - {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3, wood=1, not_in_creative_inventory=1}, - {"default_tree.png"}, - S("Tree")) - --- ICE -------- -technic.cnc.register_all("default:ice", - {cracky=3, puts_out_fire=1, cools_lava=1, not_in_creative_inventory=1}, - {"default_ice.png"}, - S("Ice")) - - --- OBSIDIAN ------------ -technic.cnc.register_all("default:obsidian_block", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"default_obsidian_block.png"}, - S("Obsidian")) - - --- WROUGHT IRON ---------------- -technic.cnc.register_all("default:steelblock", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"technic_wrought_iron_block.png"}, - S("Wrought Iron")) - --- Bronze --------- -technic.cnc.register_all("default:bronzeblock", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"default_bronze_block.png"}, - S("Bronze")) - --- Zinc --------- -technic.cnc.register_all("technic:zinc_block", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"technic_zinc_block.png"}, - S("Zinc")) - --- Cast Iron ------------- -technic.cnc.register_all("technic:cast_iron_block", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"technic_cast_iron_block.png"}, - S("Cast Iron")) - --- Stainless Steel ------------------- -technic.cnc.register_all("technic:stainless_steel_block", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"technic_stainless_steel_block.png"}, - S("Stainless Steel")) - --- Carbon steel ---------------- -technic.cnc.register_all("technic:carbon_steel_block", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"technic_carbon_steel_block.png"}, - S("Carbon Steel")) - --- Brass --------- -technic.cnc.register_all("technic:brass_block", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"technic_brass_block.png"}, - S("Brass")) - --- Copper ---------- -technic.cnc.register_all("default:copperblock", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"default_copper_block.png"}, - S("Copper")) - --- Tin ------- -technic.cnc.register_all("default:tinblock", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"default_tin_block.png"}, - S("Tin")) - --- Gold -------- -technic.cnc.register_all("default:goldblock", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"default_gold_block.png"}, - S("Gold")) - - --- Marble ------------- -technic.cnc.register_all("technic:marble", - {cracky=3, not_in_creative_inventory=1}, - {"technic_marble.png"}, - S("Marble")) - --- Granite ------------- -technic.cnc.register_all("technic:granite", - {cracky=1, not_in_creative_inventory=1}, - {"technic_granite.png"}, - S("Granite")) - - -if minetest.get_modpath("ethereal") then - -- Glostone - ------------ - technic.cnc.register_all("ethereal:glostone", - {cracky=1, not_in_creative_inventory=1, light_source=13}, - {"glostone.png"}, - S("Glo Stone")) - -end - - -if minetest.get_modpath("ethereal") then - -- Glostone - ------------ - technic.cnc.register_all("ethereal:glostone", - {cracky=1, not_in_creative_inventory=1, light_source=13}, - {"glostone.png"}, - S("Glo Stone")) - - -- Crystal block - ---------------- - technic.cnc.register_all("ethereal:crystal_block", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"crystal_block.png"}, - S("Crystal")) - - -- Misc. Wood types - ------------------- - technic.cnc.register_all("ethereal:banana_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"banana_wood.png"}, - S("Banana Wood")) - - technic.cnc.register_all("ethereal:birch_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"moretrees_birch_wood.png"}, - S("Birch Wood")) - - technic.cnc.register_all("ethereal:frost_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"frost_wood.png"}, - S("Frost Wood")) - - technic.cnc.register_all("ethereal:palm_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"moretrees_palm_wood.png"}, - S("Palm Wood")) - - technic.cnc.register_all("ethereal:willow_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"willow_wood.png"}, - S("Willow Wood")) - - technic.cnc.register_all("ethereal:yellow_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"yellow_wood.png"}, - S("Healing Tree Wood")) - - technic.cnc.register_all("ethereal:redwood_wood", - {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - {"redwood_wood.png"}, - S("Redwood")) -end - - -if minetest.get_modpath("moreblocks") then - -- Tiles - ------------ - technic.cnc.register_all("moreblocks:stone_tile", - {stone=1, cracky=3, not_in_creative_inventory=1}, - {"moreblocks_stone_tile.png"}, - S("Stone Tile")) - - technic.cnc.register_all("moreblocks:split_stone_tile", - {stone=1, cracky=3, not_in_creative_inventory=1}, - {"moreblocks_split_stone_tile.png"}, - S("Split Stone Tile")) - - technic.cnc.register_all("moreblocks:checker_stone_tile", - {stone=1, cracky=3, not_in_creative_inventory=1}, - {"moreblocks_checker_stone_tile.png"}, - S("Checker Stone Tile")) - - technic.cnc.register_all("moreblocks:cactus_checker", - {stone=1, cracky=3, not_in_creative_inventory=1}, - {"moreblocks_cactus_checker.png"}, - S("Cactus Checker")) - - -- Bricks - ------------ - technic.cnc.register_all("moreblocks:cactus_brick", - {cracky=3, not_in_creative_inventory=1}, - {"moreblocks_cactus_brick.png"}, - S("Cactus Brick")) - - technic.cnc.register_all("moreblocks:grey_bricks", - {cracky=3, not_in_creative_inventory=1}, - {"moreblocks_grey_bricks.png"}, - S("Grey Bricks")) - - -- Metals - ------------ - technic.cnc.register_all("moreblocks:copperpatina", - {cracky=1, level=2, not_in_creative_inventory=1}, - {"moreblocks_copperpatina.png"}, - S("Copper Patina")) - - -- Clay - ------------ - technic.cnc.register_all("bakedclay:red", - {cracky=3, not_in_creative_inventory=1}, - {"baked_clay_red.png"}, - S("Red Clay")) - - technic.cnc.register_all("bakedclay:orange", - {cracky=3, not_in_creative_inventory=1}, - {"baked_clay_orange.png"}, - S("Orange Clay")) - - technic.cnc.register_all("bakedclay:grey", - {cracky=3, not_in_creative_inventory=1}, - {"baked_clay_grey.png"}, - S("Grey Clay")) - -end diff --git a/technic/machines/LV/init.lua b/technic/machines/LV/init.lua index c448237..dd33293 100644 --- a/technic/machines/LV/init.lua +++ b/technic/machines/LV/init.lua @@ -23,6 +23,4 @@ dofile(path.."/compressor.lua") dofile(path.."/music_player.lua") -dofile(path.."/cnc_nodes.lua") - dofile(path.."/lamp.lua") diff --git a/technic_cnc/cnc_materials.lua b/technic_cnc/cnc_materials.lua index e63c792..c818dfb 100644 --- a/technic_cnc/cnc_materials.lua +++ b/technic_cnc/cnc_materials.lua @@ -21,18 +21,77 @@ technic_cnc.register_all("default:wood", {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, {"default_wood.png"}, S("Wooden")) + +technic_cnc.register_all("default:junglewood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_junglewood.png"}, + S("Junglewood")) + +technic_cnc.register_all("default:pine_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_pine_wood.png"}, + S("Pine")) + +technic_cnc.register_all("default:acacia_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_acacia_wood.png"}, + S("Acacia")) + +technic_cnc.register_all("default:aspen_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_aspen_wood.png"}, + S("Aspen")) + -- STONE -------- technic_cnc.register_all("default:stone", - {cracky=3, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_stone.png"}, S("Stone")) + +technic_cnc.register_all("default:stonebrick", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_stone_brick.png"}, + S("Stone Brick")) + +technic_cnc.register_all("default:stone_block", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_stone_block.png"}, + S("Stone Block")) + + +technic_cnc.register_all("default:desert_stone", + {cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_stone.png"}, + S("Desert Stone")) + +technic_cnc.register_all("default:desert_stonebrick", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_stone_brick.png"}, + S("Desert Stone Brick")) + +technic_cnc.register_all("default:desert_stone_block", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_stone_block.png"}, + S("Desert Stone Block")) + -- COBBLE --------- technic_cnc.register_all("default:cobble", - {cracky=3, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_cobble.png"}, S("Cobble")) + +technic.cnc.register_all("default:mossycobble", + {cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_mossycobble.png"}, + S("Mossy Cobblestone")) + +technic.cnc.register_all("default:desert_cobble", + {cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_cobble.png"}, + S("Desert Cobble")) + -- BRICK -------- technic_cnc.register_all("default:brick", @@ -47,12 +106,58 @@ technic_cnc.register_all("default:sandstone", {"default_sandstone.png"}, S("Sandstone")) +technic_cnc.register_all("default:sandstonebrick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_sandstone_brick.png"}, + S("Sandstone Brick")) + +technic_cnc.register_all("default:sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_sandstone_block.png"}, + S("Sandstone Block")) + + +technic_cnc.register_all("default:desert_sandstone", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone.png"}, + S("Desert Sandstone")) + +technic_cnc.register_all("default:desert_sandstone_brick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone_brick.png"}, + S("Desert Sandstone Brick")) + +technic_cnc.register_all("default:desert_sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone_block.png"}, + S("Desert Sandstone Block")) + + +technic_cnc.register_all("default:silver_sandstone", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone.png"}, + S("Silver Sandstone")) + +technic_cnc.register_all("default:silver_sandstone_brick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone_brick.png"}, + S("Silver Sandstone Brick")) + +technic_cnc.register_all("default:silver_sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone_block.png"}, + S("Silver Sandstone Block")) + + + + -- LEAVES --------- technic_cnc.register_all("default:leaves", {snappy=2, choppy=2, oddly_breakable_by_hand=3, not_in_creative_inventory=1}, {"default_leaves.png"}, S("Leaves")) + -- TREE ------- technic_cnc.register_all("default:tree", @@ -60,6 +165,29 @@ technic_cnc.register_all("default:tree", {"default_tree.png"}, S("Tree")) +-- ICE +------- +technic_cnc.register_all("default:ice", + {cracky=3, puts_out_fire=1, cools_lava=1, not_in_creative_inventory=1}, + {"default_ice.png"}, + S("Ice")) + + +-- OBSIDIAN +----------- +technic_cnc.register_all("default:obsidian_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_obsidian_block.png"}, + S("Obsidian")) + + +-- WROUGHT IRON +--------------- +technic_cnc.register_all("default:steelblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_wrought_iron_block.png"}, + S("Wrought Iron")) + -- Bronze -------- technic_cnc.register_all("default:bronzeblock", @@ -67,10 +195,23 @@ technic_cnc.register_all("default:bronzeblock", {"default_bronze_block.png"}, S("Bronze")) +-- Zinc +-------- +technic_cnc.register_all("technic:zinc_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_zinc_block.png"}, + S("Zinc")) local steeltex = "default_steel_block.png" local steelname = "Steel" +-- Cast Iron +------------ +technic_cnc.register_all("technic:cast_iron_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_cast_iron_block.png"}, + S("Cast Iron")) + if technic_cnc.technic_modpath then steeltex = "technic_wrought_iron_block.png" steelname = "Wrought Iron" @@ -105,8 +246,6 @@ if technic_cnc.technic_modpath then S("Blast-resistant concrete")) end --- STEEL ---------------- technic_cnc.register_all("default:steelblock", {cracky=1, level=2, not_in_creative_inventory=1}, {steeltex}, @@ -129,3 +268,148 @@ technic_cnc.register_all("basic_materials:brass_block", {cracky=1, level=2, not_in_creative_inventory=1}, {"basic_materials_brass_block.png"}, S("Brass block")) +-- Brass +-------- +technic_cnc.register_all("technic:brass_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_brass_block.png"}, + S("Brass")) + +-- Copper +--------- +technic_cnc.register_all("default:copperblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_copper_block.png"}, + S("Copper")) + +-- Tin +------ +technic_cnc.register_all("default:tinblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_tin_block.png"}, + S("Tin")) + +-- Gold +------- +technic_cnc.register_all("default:goldblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_gold_block.png"}, + S("Gold")) + + + + +if minetest.get_modpath("ethereal") then + -- Glostone + ------------ + technic_cnc.register_all("ethereal:glostone", + {cracky=1, not_in_creative_inventory=1, light_source=13}, + {"glostone.png"}, + S("Glo Stone")) + + -- Crystal block + ---------------- + technic_cnc.register_all("ethereal:crystal_block", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"crystal_block.png"}, + S("Crystal")) + + -- Misc. Wood types + ------------------- + technic_cnc.register_all("ethereal:banana_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"banana_wood.png"}, + S("Banana Wood")) + + technic_cnc.register_all("ethereal:birch_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"moretrees_birch_wood.png"}, + S("Birch Wood")) + + technic_cnc.register_all("ethereal:frost_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"frost_wood.png"}, + S("Frost Wood")) + + technic_cnc.register_all("ethereal:palm_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"moretrees_palm_wood.png"}, + S("Palm Wood")) + + technic_cnc.register_all("ethereal:willow_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"willow_wood.png"}, + S("Willow Wood")) + + technic_cnc.register_all("ethereal:yellow_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"yellow_wood.png"}, + S("Healing Tree Wood")) + + technic_cnc.register_all("ethereal:redwood_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"redwood_wood.png"}, + S("Redwood")) +end + + +if minetest.get_modpath("moreblocks") then + -- Tiles + ------------ + technic_cnc.register_all("moreblocks:stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_stone_tile.png"}, + S("Stone Tile")) + + technic_cnc.register_all("moreblocks:split_stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_split_stone_tile.png"}, + S("Split Stone Tile")) + + technic_cnc.register_all("moreblocks:checker_stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_checker_stone_tile.png"}, + S("Checker Stone Tile")) + + technic_cnc.register_all("moreblocks:cactus_checker", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_cactus_checker.png"}, + S("Cactus Checker")) + + -- Bricks + ------------ + technic_cnc.register_all("moreblocks:cactus_brick", + {cracky=3, not_in_creative_inventory=1}, + {"moreblocks_cactus_brick.png"}, + S("Cactus Brick")) + + technic_cnc.register_all("moreblocks:grey_bricks", + {cracky=3, not_in_creative_inventory=1}, + {"moreblocks_grey_bricks.png"}, + S("Grey Bricks")) + + -- Metals + ------------ + technic_cnc.register_all("moreblocks:copperpatina", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"moreblocks_copperpatina.png"}, + S("Copper Patina")) + + -- Clay + ------------ + technic_cnc.register_all("bakedclay:red", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_red.png"}, + S("Red Clay")) + + technic_cnc.register_all("bakedclay:orange", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_orange.png"}, + S("Orange Clay")) + + technic_cnc.register_all("bakedclay:grey", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_grey.png"}, + S("Grey Clay")) + +end diff --git a/technic_cnc/init.lua b/technic_cnc/init.lua index 3c4da3e..6ed7306 100644 --- a/technic_cnc/init.lua +++ b/technic_cnc/init.lua @@ -15,4 +15,5 @@ end dofile(modpath.."/cnc.lua") dofile(modpath.."/cnc_api.lua") +dofile(modpath.."/cnc_nodes.lua") dofile(modpath.."/cnc_materials.lua") From f85113f28da9d5f6c260b867c74018cc1a80de89 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 26 Nov 2018 09:13:45 +0100 Subject: [PATCH 28/36] fix bug --- technic_cnc/cnc_materials.lua | 4 ++-- technic_cnc/init.lua | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/technic_cnc/cnc_materials.lua b/technic_cnc/cnc_materials.lua index c818dfb..bc6e4aa 100644 --- a/technic_cnc/cnc_materials.lua +++ b/technic_cnc/cnc_materials.lua @@ -82,12 +82,12 @@ technic_cnc.register_all("default:cobble", {"default_cobble.png"}, S("Cobble")) -technic.cnc.register_all("default:mossycobble", +technic_cnc.register_all("default:mossycobble", {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_mossycobble.png"}, S("Mossy Cobblestone")) -technic.cnc.register_all("default:desert_cobble", +technic_cnc.register_all("default:desert_cobble", {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_desert_cobble.png"}, S("Desert Cobble")) diff --git a/technic_cnc/init.lua b/technic_cnc/init.lua index 6ed7306..3c4da3e 100644 --- a/technic_cnc/init.lua +++ b/technic_cnc/init.lua @@ -15,5 +15,4 @@ end dofile(modpath.."/cnc.lua") dofile(modpath.."/cnc_api.lua") -dofile(modpath.."/cnc_nodes.lua") dofile(modpath.."/cnc_materials.lua") From 5bc151976628c4fe575e3e98953c6d095f090135 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 26 Nov 2018 17:31:55 +0100 Subject: [PATCH 29/36] overload detection --- technic/machines/switching_station.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 646b306..a81c735 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -227,6 +227,15 @@ minetest.register_chatcommand("powerctrl", { end }) +local check_timer = function(pos, meta, diff) + if diff > 400000 then + minetest.log("warn", "[technic] disabling switching station @ " .. minetest.pos_to_string(pos)) + meta:set_int("overload", 5) + meta:set_int("active", 0) + meta:set_string("infotext", "Overload detected!") + end +end + minetest.register_abm({ nodenames = {"technic:switching_station"}, label = "Switching Station", -- allows the mtt profiler to profile this abm individually @@ -249,6 +258,18 @@ minetest.register_abm({ local RE_nodes local machine_name = S("Switching Station") + local overload = meta:get_int("overload") + if overload > 0 then + meta:set_int("overload", overload - 1) + meta:set_string("infotext", "Overload detected, resetting in " .. overload .. " seconds") + if overload == 1 then + -- re-enable in next step + meta:set_int("active", 1) + end + return + + end + -- Which kind of network are we on: pos1 = {x=pos.x, y=pos.y-1, z=pos.z} @@ -407,6 +428,7 @@ minetest.register_abm({ local t1 = minetest.get_us_time() local diff = t1 - t0 if diff > 20000 then + check_timer(pos, meta, diff) minetest.log("warning", "[technic] [+supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end @@ -436,6 +458,7 @@ minetest.register_abm({ local t1 = minetest.get_us_time() local diff = t1 - t0 if diff > 20000 then + check_timer(pos, meta, diff) minetest.log("warning", "[technic] [-supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end return @@ -458,7 +481,8 @@ minetest.register_abm({ local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 20000 then -- 50ms + if diff > 20000 then + check_timer(pos, meta, diff) minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end From e7330172cc2564a4298d594915eca218eee677e5 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 26 Nov 2018 17:53:50 +0100 Subject: [PATCH 30/36] proper overload --- technic/machines/switching_station.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index a81c735..23d0e47 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -228,8 +228,8 @@ minetest.register_chatcommand("powerctrl", { }) local check_timer = function(pos, meta, diff) - if diff > 400000 then - minetest.log("warn", "[technic] disabling switching station @ " .. minetest.pos_to_string(pos)) + if diff > 500000 then + minetest.log("warning", "[technic] disabling switching station @ " .. minetest.pos_to_string(pos)) meta:set_int("overload", 5) meta:set_int("active", 0) meta:set_string("infotext", "Overload detected!") From 54953b32139a3c79e8f0ec3cdfbf0df57f458b94 Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 26 Nov 2018 18:08:42 +0100 Subject: [PATCH 31/36] date palm sawing --- technic/tools/chainsaw.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/technic/tools/chainsaw.lua b/technic/tools/chainsaw.lua index 8245fd6..751f83c 100644 --- a/technic/tools/chainsaw.lua +++ b/technic/tools/chainsaw.lua @@ -51,6 +51,10 @@ if minetest.get_modpath("moretrees") then timber_nodenames["moretrees:spruce_trunk"] = true timber_nodenames["moretrees:willow_trunk"] = true timber_nodenames["moretrees:jungletree_trunk"] = true + timber_nodenames["moretrees:date_palm_trunk"] = true + timber_nodenames["moretrees:date_palm_mfruit_trunk"] = true + timber_nodenames["moretrees:date_palm_ffruit_trunk"] = true + if chainsaw_leaves then timber_nodenames["moretrees:acacia_leaves"] = true @@ -75,6 +79,7 @@ if minetest.get_modpath("moretrees") then timber_nodenames["moretrees:pine_cone"] = true timber_nodenames["moretrees:fir_cone"] = true timber_nodenames["moretrees:apple_blossoms"] = true + timber_nodenames["moretrees:date_palm_leaves"] = true end end From 2d18ca778f1fe9e0a881c84241bb0ae96699590b Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Wed, 28 Nov 2018 08:36:10 +0100 Subject: [PATCH 32/36] another null check for https://github.com/pandorabox-io/pandorabox.io/issues/59 --- technic/machines/HV/quarry.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 1fbb0c0..f151975 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -81,8 +81,12 @@ end local function quarry_handle_purge(pos) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() + local cache = inv:get_list("cache") + if not cache then + return + end local i = 0 - for _,stack in ipairs(inv:get_list("cache")) do + for _,stack in ipairs(cache) do i = i + 1 if stack then local item = stack:to_table() From 38eeecfa0caaa78bfbe95d5b6b3ae18de17c92fd Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Mon, 3 Dec 2018 10:49:41 +0100 Subject: [PATCH 33/36] fix #465 Checks if facedir is valid. if the face points up or down the depth-check would run endless and freeze the server --- technic/machines/HV/quarry.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 0a45559..b905bf9 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -112,6 +112,11 @@ local function quarry_run(pos, node) if meta:get_int("enabled") and meta:get_int("HV_EU_input") >= quarry_demand and meta:get_int("purge_on") == 0 then local pdir = minetest.facedir_to_dir(node.param2) + if pdir.y > 0 or pdir.y < 0 then + -- faces up or down, not valid, otherwise depth-check would run endless and hang up the server + return + end + local qdir = pdir.x == 1 and vector.new(0,0,-1) or (pdir.z == -1 and vector.new(-1,0,0) or (pdir.x == -1 and vector.new(0,0,1) or From ae584dbeb66977dbb7653612437ac71e0523985a Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Sun, 9 Dec 2018 19:16:50 +0100 Subject: [PATCH 34/36] timeout and overload reset change --- technic/machines/switching_station.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 23d0e47..fb1fe05 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -230,7 +230,7 @@ minetest.register_chatcommand("powerctrl", { local check_timer = function(pos, meta, diff) if diff > 500000 then minetest.log("warning", "[technic] disabling switching station @ " .. minetest.pos_to_string(pos)) - meta:set_int("overload", 5) + meta:set_int("overload", 30) meta:set_int("active", 0) meta:set_string("infotext", "Overload detected!") end @@ -427,7 +427,7 @@ minetest.register_abm({ end local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 20000 then + if diff > 50000 then check_timer(pos, meta, diff) minetest.log("warning", "[technic] [+supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end @@ -457,7 +457,7 @@ minetest.register_abm({ end local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 20000 then + if diff > 50000 then check_timer(pos, meta, diff) minetest.log("warning", "[technic] [-supply] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end @@ -481,7 +481,7 @@ minetest.register_abm({ local t1 = minetest.get_us_time() local diff = t1 - t0 - if diff > 20000 then + if diff > 50000 then check_timer(pos, meta, diff) minetest.log("warning", "[technic] switching station abm took " .. diff .. " us at " .. minetest.pos_to_string(pos)) end From 333eae7a5f9c0c8cf373c8f6c2538ae175683af1 Mon Sep 17 00:00:00 2001 From: Lejo Date: Tue, 11 Dec 2018 15:22:00 +0100 Subject: [PATCH 35/36] Check protection of the forcefield --- technic/machines/HV/forcefield.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/technic/machines/HV/forcefield.lua b/technic/machines/HV/forcefield.lua index 230c8b0..62cab41 100644 --- a/technic/machines/HV/forcefield.lua +++ b/technic/machines/HV/forcefield.lua @@ -126,6 +126,12 @@ local function set_forcefield_formspec(meta) end local forcefield_receive_fields = function(pos, formname, fields, sender) + local player_name = sender:get_player_name() + if minetest.is_protected(pos, player_name) then + minetest.chat_send_player(player_name, "You are not allowed to edit this!") + minetest.record_protection_violation(pos, player_name) + return + end local meta = minetest.get_meta(pos) local range = nil if fields.range then From 17e68bb168c16e3db803af3eb2b289c8fe0564bb Mon Sep 17 00:00:00 2001 From: Lejo Date: Tue, 11 Dec 2018 16:27:08 +0100 Subject: [PATCH 36/36] Check protection of the quarry --- technic/machines/HV/quarry.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 0a45559..aa84f41 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -60,6 +60,12 @@ local function set_quarry_demand(meta) end local function quarry_receive_fields(pos, formname, fields, sender) + local player_name = sender:get_player_name() + if minetest.is_protected(pos, player_name) then + minetest.chat_send_player(player_name, "You are not allowed to edit this!") + minetest.record_protection_violation(pos, player_name) + return + end local meta = minetest.get_meta(pos) if fields.size and string.find(fields.size, "^[0-9]+$") then local size = tonumber(fields.size)