From 230705604f52987a6d9bcd3f3e7bd2430850e000 Mon Sep 17 00:00:00 2001 From: Evert Prants Date: Wed, 11 Jul 2018 22:01:31 +0300 Subject: [PATCH] Sawmill texture change, some API changes --- elepower_fapi/transfer_node.lua | 1 - elepower_machines/craft.lua | 3 +- elepower_machines/formspec.lua | 13 ++- .../machines/bases/fluidgenerator.lua | 108 ++++++++++++++++++ elepower_machines/machines/bases/init.lua | 1 + elepower_machines/machines/init.lua | 1 + elepower_machines/machines/lava_generator.lua | 78 +------------ elepower_machines/machines/sawmill.lua | 1 + elepower_machines/machines/steam_turbine.lua | 25 ++++ .../textures/elepower_saw_bg.png | Bin 0 -> 8821 bytes .../textures/elepower_saw_fg.png | Bin 0 -> 5247 bytes .../textures/elepower_sawmill.png | Bin 7130 -> 13241 bytes .../textures/elepower_turbine_side.png | Bin 6931 -> 18537 bytes 13 files changed, 148 insertions(+), 83 deletions(-) create mode 100644 elepower_machines/machines/bases/fluidgenerator.lua create mode 100644 elepower_machines/machines/steam_turbine.lua create mode 100644 elepower_machines/textures/elepower_saw_bg.png create mode 100644 elepower_machines/textures/elepower_saw_fg.png diff --git a/elepower_fapi/transfer_node.lua b/elepower_fapi/transfer_node.lua index 5d1f2cf..a957975 100644 --- a/elepower_fapi/transfer_node.lua +++ b/elepower_fapi/transfer_node.lua @@ -26,7 +26,6 @@ function elefluid.register_transfer_node(nodename, nodedef) end nodedef.on_punch = function (pos, node, puncher, pointed_thing) - local meta = minetest.get_meta(pos) minetest.get_node_timer(pos):start(1.0) minetest.node_punch(pos, node, puncher, pointed_thing) end diff --git a/elepower_machines/craft.lua b/elepower_machines/craft.lua index 09a9705..ecf0e17 100644 --- a/elepower_machines/craft.lua +++ b/elepower_machines/craft.lua @@ -6,7 +6,8 @@ function elepm.register_craft_type(name, def) elepm.craft.types[name] = { inputs = def.inputs or 2, description = def.description or name, - time = def.time or 0 + time = def.time or 0, + gui_name = def.gui_name, } elepm.craft[name] = {} diff --git a/elepower_machines/formspec.lua b/elepower_machines/formspec.lua index 699d98a..a6dc2e5 100644 --- a/elepower_machines/formspec.lua +++ b/elepower_machines/formspec.lua @@ -4,11 +4,16 @@ function ele.formspec.get_crafter_formspec(craft_type, power, percent) local craftstats = elepm.craft.types[craft_type] local input_size = craftstats.inputs - local bar = "image[4,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]" + local gui_name = "gui_furnace_arrow" + if craftstats.gui_name then + gui_name = craftstats.gui_name + end + + local bar = "image[4,1.5;1,1;"..gui_name.."_bg.png^[transformR270]" if percent ~= nil then - bar = "image[4,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. - (percent)..":gui_furnace_arrow_fg.png^[transformR270]" + bar = "image[4,1.5;1,1;"..gui_name.."_bg.png^[lowpart:".. + (percent)..":"..gui_name.."_fg.png^[transformR270]" end local in_width = input_size @@ -51,7 +56,7 @@ function ele.formspec.get_crafter_formspec(craft_type, power, percent) default.get_hotbar_bg(0, 4.25) end -function ele.formspec.get_lava_generator_formspec(power, percent, buffer) +function ele.formspec.get_fluid_generator_formspec(power, percent, buffer) return "size[8,8.5]".. default.gui_bg.. default.gui_bg_img.. diff --git a/elepower_machines/machines/bases/fluidgenerator.lua b/elepower_machines/machines/bases/fluidgenerator.lua new file mode 100644 index 0000000..579f1ee --- /dev/null +++ b/elepower_machines/machines/bases/fluidgenerator.lua @@ -0,0 +1,108 @@ + +-- A generator that creates power using a fuel +function ele.register_fluid_generator(nodename, nodedef) + local fuel = nodedef.fuel + local btime = nodedef.fuel_burn_time or 60 + + local buffer_name = nil + + -- Autodetect fluid buffer and the fuel if necessary + if not nodedef.fluid_buffers then return nil end + for buf,data in pairs(nodedef.fluid_buffers) do + buffer_name = buf + + if not fuel and data.accepts and type(data.accepts) == "table" then + fuel = data.accepts[1] + end + + break + end + + local defaults = { + groups = { + fluid_container = 1, + ele_provider = 1, + oddly_breakable_by_hand = 1, + }, + tube = false, + on_timer = function (pos, elapsed) + local meta = minetest.get_meta(pos) + local nodename = nodename + + local burn_time = meta:get_int("burn_time") + local burn_totaltime = meta:get_int("burn_totaltime") + + local capacity = ele.helpers.get_node_property(meta, pos, "capacity") + local generation = ele.helpers.get_node_property(meta, pos, "usage") + local storage = ele.helpers.get_node_property(meta, pos, "storage") + + -- Fluid buffer + local flbuffer = fluid_lib.get_buffer_data(pos, buffer_name) + if not flbuffer or flbuffer.fluid == "" then return false end + + -- If more to burn and the energy produced was used: produce some more + if burn_time > 0 then + if storage + generation > capacity then + return false + end + + meta:set_int("storage", storage + generation) + + burn_time = burn_time - 1 + meta:set_int("burn_time", burn_time) + end + + local pow_percent = math.floor((storage / capacity) * 100) + + -- Burn another bucket of lava + if burn_time == 0 then + local inv = meta:get_inventory() + if flbuffer.amount >= 1000 then + meta:set_int("burn_time", btime) + meta:set_int("burn_totaltime", btime) + + -- Take lava + flbuffer.amount = flbuffer.amount - 1000 + + local active_node = nodename.."_active" + ele.helpers.swap_node(pos, active_node) + else + meta:set_string("formspec", ele.formspec.get_fluid_generator_formspec(pow_percent, 0, flbuffer)) + meta:set_string("infotext", ("%s Idle\n%s\n%s"):format(nodedef.description, + ele.capacity_text(capacity, storage), fluid_lib.buffer_to_string(flbuffer))) + + ele.helpers.swap_node(pos, nodename) + return false + end + end + if burn_totaltime == 0 then burn_totaltime = 1 end + + local percent = math.floor((burn_time / burn_totaltime) * 100) + meta:set_string("formspec", ele.formspec.get_fluid_generator_formspec(pow_percent, percent, flbuffer)) + meta:set_string("infotext", ("%s Active\n%s\n%s"):format(nodedef.description, + ele.capacity_text(capacity, storage), fluid_lib.buffer_to_string(flbuffer))) + + meta:set_int(buffer_name .. "_fluid_storage", flbuffer.amount) + + return true + end, + on_construct = function (pos) + local meta = minetest.get_meta(pos) + + local capacity = ele.helpers.get_node_property(meta, pos, "capacity") + local storage = ele.helpers.get_node_property(meta, pos, "storage") + + meta:set_string("formspec", ele.formspec.get_fluid_generator_formspec(math.floor((storage / capacity) * 100), 0)) + end + } + + nodedef.fuel = nil + + for key,val in pairs(defaults) do + if not nodedef[key] then + nodedef[key] = val + end + end + + ele.register_machine(nodename, nodedef) +end diff --git a/elepower_machines/machines/bases/init.lua b/elepower_machines/machines/bases/init.lua index f40366f..2a7aad0 100644 --- a/elepower_machines/machines/bases/init.lua +++ b/elepower_machines/machines/bases/init.lua @@ -1,4 +1,5 @@ dofile(elepm.modpath.."/machines/bases/crafter.lua") dofile(elepm.modpath.."/machines/bases/generator.lua") +dofile(elepm.modpath.."/machines/bases/fluidgenerator.lua") dofile(elepm.modpath.."/machines/bases/storage.lua") diff --git a/elepower_machines/machines/init.lua b/elepower_machines/machines/init.lua index 01685a2..5e71400 100644 --- a/elepower_machines/machines/init.lua +++ b/elepower_machines/machines/init.lua @@ -13,3 +13,4 @@ dofile(elepm.modpath.."/machines/storage.lua") dofile(elepm.modpath.."/machines/lava_cooler.lua") dofile(elepm.modpath.."/machines/solderer.lua") dofile(elepm.modpath.."/machines/lava_generator.lua") +dofile(elepm.modpath.."/machines/steam_turbine.lua") diff --git a/elepower_machines/machines/lava_generator.lua b/elepower_machines/machines/lava_generator.lua index 2d9c065..4fa55ea 100644 --- a/elepower_machines/machines/lava_generator.lua +++ b/elepower_machines/machines/lava_generator.lua @@ -1,11 +1,6 @@ -ele.register_machine("elepower_machines:lava_generator", { +ele.register_fluid_generator("elepower_machines:lava_generator", { description = "Lava Generator", - groups = { - fluid_container = 1, - ele_provider = 1, - oddly_breakable_by_hand = 1, - }, ele_usage = 64, tiles = { "elepower_machine_top.png", "elepower_machine_base.png", "elepower_machine_side.png", @@ -26,75 +21,4 @@ ele.register_machine("elepower_machines:lava_generator", { } }, tube = false, - on_timer = function (pos, elapsed) - local meta = minetest.get_meta(pos) - local nodename = "elepower_machines:lava_generator" - - local burn_time = meta:get_int("burn_time") - local burn_totaltime = meta:get_int("burn_totaltime") - - local capacity = ele.helpers.get_node_property(meta, pos, "capacity") - local generation = ele.helpers.get_node_property(meta, pos, "usage") - local storage = ele.helpers.get_node_property(meta, pos, "storage") - - -- Fluid buffer - local flbuffer = fluid_lib.get_buffer_data(pos, "lava") - if not flbuffer or flbuffer.fluid == "" then return false end - - -- If more to burn and the energy produced was used: produce some more - if burn_time > 0 then - if storage + generation > capacity then - return false - end - - meta:set_int("storage", storage + generation) - - burn_time = burn_time - 1 - meta:set_int("burn_time", burn_time) - end - - local pow_percent = math.floor((storage / capacity) * 100) - - -- Burn another bucket of lava - if burn_time == 0 then - local inv = meta:get_inventory() - if flbuffer.amount >= 1000 then - -- Lava burn time - local fuel = 60 - - meta:set_int("burn_time", fuel) - meta:set_int("burn_totaltime", fuel) - - -- Take lava - flbuffer.amount = flbuffer.amount - 1000 - - local active_node = nodename.."_active" - ele.helpers.swap_node(pos, active_node) - else - meta:set_string("formspec", ele.formspec.get_lava_generator_formspec(pow_percent, 0, flbuffer)) - meta:set_string("infotext", "Lava Generator Idle\n" .. ele.capacity_text(capacity, storage) .. - "\n" .. fluid_lib.buffer_to_string(flbuffer)) - ele.helpers.swap_node(pos, nodename) - return false - end - end - if burn_totaltime == 0 then burn_totaltime = 1 end - - local percent = math.floor((burn_time / burn_totaltime) * 100) - meta:set_string("formspec", ele.formspec.get_lava_generator_formspec(pow_percent, percent, flbuffer)) - meta:set_string("infotext", "Lava Generator Active\n" .. ele.capacity_text(capacity, storage) .. - "\n" .. fluid_lib.buffer_to_string(flbuffer)) - - meta:set_int("lava_fluid_storage", flbuffer.amount) - - return true - end, - on_construct = function (pos) - local meta = minetest.get_meta(pos) - - local capacity = ele.helpers.get_node_property(meta, pos, "capacity") - local storage = ele.helpers.get_node_property(meta, pos, "storage") - - meta:set_string("formspec", ele.formspec.get_lava_generator_formspec(math.floor((storage / capacity) * 100), 0)) - end }) diff --git a/elepower_machines/machines/sawmill.lua b/elepower_machines/machines/sawmill.lua index a98c534..217e337 100644 --- a/elepower_machines/machines/sawmill.lua +++ b/elepower_machines/machines/sawmill.lua @@ -2,6 +2,7 @@ elepm.register_craft_type("saw", { description = "Sawmilling", inputs = 1, + gui_name = "elepower_saw", }) elepm.register_crafter("elepower_machines:sawmill", { diff --git a/elepower_machines/machines/steam_turbine.lua b/elepower_machines/machines/steam_turbine.lua new file mode 100644 index 0000000..f74da2d --- /dev/null +++ b/elepower_machines/machines/steam_turbine.lua @@ -0,0 +1,25 @@ + +ele.register_fluid_generator("elepower_machines:steam_turbine", { + description = "Steam Turbine", + ele_usage = 64, + tiles = { + "elepower_machine_top.png^elepower_power_port.png", "elepower_machine_base.png", "elepower_machine_side.png", + "elepower_machine_side.png", "elepower_turbine_side.png", "elepower_turbine_side.png", + }, + ele_active_node = true, + ele_active_nodedef = { + tiles = { + "elepower_machine_top.png^elepower_power_port.png", "elepower_machine_base.png", "elepower_machine_side.png", + "elepower_machine_side.png", "elepower_turbine_side.png", "elepower_turbine_side.png", + }, + }, + fluid_buffers = { + steam = { + capacity = 8000, + accepts = {"elepower_dynamics:steam"}, + drainable = false + } + }, + tube = false, + ele_no_automatic_ports = true, +}) diff --git a/elepower_machines/textures/elepower_saw_bg.png b/elepower_machines/textures/elepower_saw_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..625e588fb3726e5d21a31fed572988d5d13c3ba2 GIT binary patch literal 8821 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 AyZ`_I literal 0 HcmV?d00001 diff --git a/elepower_machines/textures/elepower_saw_fg.png b/elepower_machines/textures/elepower_saw_fg.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f4cdd8d6f0472808484115af99dffc4db312e1 GIT binary patch literal 5247 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 FV1jIQ##8_R literal 0 HcmV?d00001 diff --git a/elepower_machines/textures/elepower_sawmill.png b/elepower_machines/textures/elepower_sawmill.png index f2089cb4e3250a242cbe45519bdc39274471e978..bfb17d3f1b46a871951ee305a64a737fdbb2666b 100644 GIT binary patch delta 8617 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 delta 2289 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 delta 2206 zcmV;P2x0f>kO7l6C5cc@M-2)Z3IG5A4M|8uQUCw|5C8xG5C{eU001BJ|6u?C1x=Gr z8x?!)Y~qYb)Yp~QleAsW{i0>^L04yiK{6Q4^&0)AchDL9yy5T>Aziq=Y4(5q zX#Suhz~RGZL2drVXmN~wd6%t+%YHj0uB;jO%8b_9<#7l6oQ^Zt^G>)UN}@trLy{HT zl@c*v9Av3cra^s;l`2fM+!;7Bb7ezSffxZs;%Y8%ans;nl4$^+O+`8wQ2E$GOKn=} zDn%%66cw_EAdIl(f8FX=n8ug|MWlb@i52YPnc1*nB1fb&fenbz*gGC)9kGLAgyz^noh0vQ2NhUsi9 z7r;W!af6X;jqv~nRRG=C6KJurk{fQ#gtOcP?{k*V|NBa z&V`F9wz%R;D6yoHE30a%t*-hSYOJZ|#?3U;aq}&-*iy@#I#Q|I?z-=x$DVo~NVQ>x z9d7s$MjT0vd{Eo4KJMQ@jW&O3ypWoV;h+X;2qJ=JJ8=^;AjXyec$f%~QOpxF9m!gr z$W6?2VpN4=80jWBjV5A1&~{=s=wSCk&MD*n3~mZQ@Si|VP3V3BxhHO4q1N&`=*&WB zmf;MlHmJVN95ep3c6rTkkXlC;T^^B}Gk~=SK+X6&uMn&d_&W|S(z<{8R#Dq4=z4qC zU7Qw<3U}4D7W<9)K87uydNo@miRw9!I!?k);ED@C~^=N6PM5W61~!l#jw+hsbb;JzeZd^EhnfW!gcK9(h%} zq+>dhEP2$zBU0(0BNNv}Rys2$vQ#-x98j!4ZcnhYm6(lVSQGDxTM0RHgkL6Z3+=-~ zD@^T_hUu@oQ#%ylhLU~+iFzz|=z9?3y&CPdlWyE6HBWAzynlbGA6b1C@}q;8Q&Pj) zPo{3sSWgYActsD5vUlSjov1uYO)Pfpqg$!jBJOcHtu7x(?d4A3`7L#Kz6feTZ#I`& zJ=vn~{mb#gs#B;*2>|gVkJQ@%_jI5>`YSrOh^beD8m7I%#Z@$rOq%pPvi{cFP*Lg= zb7#blb9}`6u3>*Krjm50b1tY`zAi78X2&*3!mZ%pA?o<3J54~DXSJSuOUD<9QayRo zwuLKR=wr(@{QPxHz>Ik7k4xxft;I>M-{Pp>vQ6D=4gOi0;(a}b%Zc_m34-$Dm1%A~ z<8%xRS2*U<;!60kx%OK8qamn;bR8D>ZV32nYWME%l7vb!i{O2T;hQYa41pk|CqCki z;{2)j)piowC&W+qW!uv!{U77yv|7r)JMp(`HZk7|`%X~$dzRlC)ej~Qe1awQFRl3M z$$LjqCX-7WB1?+R4S-MxgYQh?2>dhw*AXt>Jh*?XFVT`Vg%3HeyJcH~OB5VCM#1@I zW33*^TH&E#QOtb3NRu4Af=+&<_gxS_F0;5B(*h(nHDfd|I5spbVL3B4 zEi_{=HZ5UdH#sdbFg7K-{Hf1+CIA$|sFg9hgog}6S7NggLA^-pY24YJ`L;(K) z{{a7>y{D6tSuP+52MZA#^CDzElYuTLe*z{+L_t(I%WaZRPuoBc#ecgtu~0Ce*hz?p zxI{uofm5sAs-C%)Q;!_@RK7&w-0#ru(B9Hpqy~xnGq#1m&P)$ZHc)jgyV`mC=FOWi z*Vor-j6p;&#_;c5RZ-P3dUEUajwKY$k=M0BK%CZDNL>%FIz2>BQLKud4p6A-NB0`cRG#U*a9v*ml zdSWmbpsJ2oRq6NpbvwVus47X4f7BS?_p#Oz1OXz#V!j~HbD}76X0=)^n$0H5<&rpx z>GgW}zF$vayPVdDa!Ml$z(zh1bCiDS(Y4e3bF zj8Js5NE@l0PKU{4!eX(YD2jKZ9FNDmyu7?yGGh!r22iDa(1tH{;@9_|hzMz#^7{Hp zQ4~~FN#}DHfT$VOKn0(=Kutu2s2O2^%bP3y7x6(18(%O6%w`I+Vh#$mnl~rgLW;rg gm_1@Pu5aJ|0#~sb=PX7Dv;Y7A07*qoM6N<$g3@dum;e9(