From 1a1b3caeaa374f627218feebd735364b6f1a36ff Mon Sep 17 00:00:00 2001 From: Evert Prants Date: Fri, 22 Jun 2018 21:03:41 +0300 Subject: [PATCH] Start with nuclear, add new mineral and components, complexify recipes --- elepower_dynamics/crafting.lua | 55 ++++- elepower_dynamics/craftitems.lua | 78 +++++- elepower_dynamics/dusts.lua | 5 + elepower_dynamics/gears.lua | 5 + elepower_dynamics/mod.conf | 2 +- elepower_dynamics/nodes.lua | 8 + .../textures/elepower_capacitor.png | Bin 0 -> 1963 bytes elepower_dynamics/textures/elepower_chip.png | Bin 0 -> 430 bytes .../textures/elepower_conduit.png | Bin 5878 -> 1835 bytes elepower_dynamics/textures/elepower_ic.png | Bin 0 -> 438 bytes elepower_dynamics/textures/elepower_ic_2.png | Bin 0 -> 429 bytes .../textures/elepower_mineral_viridisium.png | Bin 0 -> 1536 bytes elepower_dynamics/textures/elepower_pcb.png | Bin 0 -> 341 bytes .../textures/elepower_silver_coil.png | Bin 0 -> 1833 bytes .../textures/elepower_viridisium_ingot.png | Bin 0 -> 1530 bytes .../textures/elepower_viridisium_lump.png | Bin 0 -> 1571 bytes elepower_dynamics/worldgen.lua | 35 +++ elepower_farming/crafting.lua | 6 +- elepower_machines/craft.lua | 12 +- elepower_machines/crafting.lua | 32 ++- elepower_machines/formspec.lua | 23 ++ elepower_machines/machines/bases/crafter.lua | 6 +- .../machines/coal_alloy_furnace.lua | 224 ++++++++++++++++++ elepower_machines/machines/init.lua | 1 + .../textures/elepower_cfalloy_bottom.png | Bin 0 -> 540 bytes .../textures/elepower_cfalloy_front.png | Bin 0 -> 657 bytes .../elepower_cfalloy_front_active.png | Bin 0 -> 5444 bytes .../textures/elepower_cfalloy_side.png | Bin 0 -> 686 bytes .../textures/elepower_cfalloy_top.png | Bin 0 -> 1891 bytes elepower_nuclear/craftitems.lua | 72 ++++++ elepower_nuclear/init.lua | 2 + .../elenuclear_depleted_uranium_dust.png | Bin 0 -> 422 bytes .../elenuclear_depleted_uranium_ingot.png | Bin 0 -> 5680 bytes .../textures/elenuclear_fuel_rod_depleted.png | Bin 0 -> 414 bytes .../textures/elenuclear_fuel_rod_empty.png | Bin 0 -> 413 bytes .../textures/elenuclear_fuel_rod_fissile.png | Bin 0 -> 420 bytes .../elenuclear_graphite_moderator.png | Bin 0 -> 419 bytes .../textures/elenuclear_graphite_rod.png | Bin 0 -> 1690 bytes .../textures/elenuclear_heat_exchanger.png | Bin 0 -> 524 bytes .../textures/elenuclear_reinforced_block.png | Bin 0 -> 515 bytes .../textures/elenuclear_uranium_dust.png | Bin 0 -> 381 bytes .../textures/elenuclear_uranium_ingot.png | Bin 0 -> 481 bytes .../textures/elenuclear_uranium_lump.png | Bin 0 -> 481 bytes .../textures/elenuclear_uranium_waste.png | Bin 0 -> 404 bytes elepower_papi/machine.lua | 2 +- 45 files changed, 531 insertions(+), 37 deletions(-) create mode 100644 elepower_dynamics/textures/elepower_capacitor.png create mode 100644 elepower_dynamics/textures/elepower_chip.png create mode 100644 elepower_dynamics/textures/elepower_ic.png create mode 100644 elepower_dynamics/textures/elepower_ic_2.png create mode 100644 elepower_dynamics/textures/elepower_mineral_viridisium.png create mode 100644 elepower_dynamics/textures/elepower_pcb.png create mode 100644 elepower_dynamics/textures/elepower_silver_coil.png create mode 100644 elepower_dynamics/textures/elepower_viridisium_ingot.png create mode 100644 elepower_dynamics/textures/elepower_viridisium_lump.png create mode 100644 elepower_machines/machines/coal_alloy_furnace.lua create mode 100644 elepower_machines/textures/elepower_cfalloy_bottom.png create mode 100644 elepower_machines/textures/elepower_cfalloy_front.png create mode 100644 elepower_machines/textures/elepower_cfalloy_front_active.png create mode 100644 elepower_machines/textures/elepower_cfalloy_side.png create mode 100644 elepower_machines/textures/elepower_cfalloy_top.png create mode 100644 elepower_nuclear/craftitems.lua create mode 100644 elepower_nuclear/textures/elenuclear_depleted_uranium_dust.png create mode 100644 elepower_nuclear/textures/elenuclear_depleted_uranium_ingot.png create mode 100644 elepower_nuclear/textures/elenuclear_fuel_rod_depleted.png create mode 100644 elepower_nuclear/textures/elenuclear_fuel_rod_empty.png create mode 100644 elepower_nuclear/textures/elenuclear_fuel_rod_fissile.png create mode 100644 elepower_nuclear/textures/elenuclear_graphite_moderator.png create mode 100644 elepower_nuclear/textures/elenuclear_graphite_rod.png create mode 100644 elepower_nuclear/textures/elenuclear_heat_exchanger.png create mode 100644 elepower_nuclear/textures/elenuclear_reinforced_block.png create mode 100644 elepower_nuclear/textures/elenuclear_uranium_dust.png create mode 100644 elepower_nuclear/textures/elenuclear_uranium_ingot.png create mode 100644 elepower_nuclear/textures/elenuclear_uranium_lump.png create mode 100644 elepower_nuclear/textures/elenuclear_uranium_waste.png diff --git a/elepower_dynamics/crafting.lua b/elepower_dynamics/crafting.lua index 835424a..80d9ffe 100644 --- a/elepower_dynamics/crafting.lua +++ b/elepower_dynamics/crafting.lua @@ -129,8 +129,8 @@ minetest.register_craft({ minetest.register_craft({ output = "elepower_dynamics:fluid_transfer_node", recipe = { - {"group:stone", "elepower_dynamics:fluid_duct", "group:stone"}, - {"elepower_dynamics:steel_gear", "elepower_dynamics:servo_valve", "elepower_dynamics:steel_gear"}, + {"group:stone", "elepower_dynamics:control_circuit", "group:stone"}, + {"elepower_dynamics:viridisium_gear", "elepower_dynamics:servo_valve", "elepower_dynamics:viridisium_gear"}, {"group:stone", "elepower_dynamics:fluid_duct", "group:stone"}, } }) @@ -158,6 +158,15 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "elepower_dynamics:wound_silver_coil", + recipe = { + {"", "moreores:silver_ingot", ""}, + {"moreores:silver_ingot", "elepower_dynamics:iron_ingot", "moreores:silver_ingot"}, + {"", "moreores:silver_ingot", ""} + } +}) + minetest.register_craft({ output = "elepower_dynamics:copper_wire", recipe = { @@ -183,6 +192,42 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "elepower_dynamics:chip", + recipe = { + {"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting"}, + {"default:mese_crystal", "dye:black", "default:mese_crystal"}, + {"default:copper_ingot", "moreores:silver_ingot", "default:copper_ingot"}, + } +}) + +minetest.register_craft({ + output = "elepower_dynamics:capacitor", + recipe = { + {"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting"}, + {"moreores:silver_ingot", "default:mese_crystal", "moreores:silver_ingot"}, + {"default:copper_ingot", "dye:violet", "default:copper_ingot"}, + } +}) + +minetest.register_craft({ + output = "elepower_dynamics:integrated_circuit", + recipe = { + {"elepower_dynamics:chip", "elepower_dynamics:chip", "elepower_dynamics:chip"}, + {"elepower_dynamics:capacitor", "elepower_dynamics:pcb", "elepower_dynamics:capacitor"}, + {"default:copper_ingot", "default:mese_crystal", "default:gold_ingot"}, + } +}) + +minetest.register_craft({ + output = "elepower_dynamics:control_circuit", + recipe = { + {"elepower_dynamics:chip", "elepower_dynamics:chip", "elepower_dynamics:chip"}, + {"elepower_dynamics:capacitor", "elepower_dynamics:integrated_circuit", "elepower_dynamics:capacitor"}, + {"default:gold_ingot", "elepower_dynamics:viridisium_ingot", "default:gold_ingot"}, + } +}) + -------------- -- Smelting -- -------------- @@ -207,9 +252,9 @@ minetest.register_craft({ minetest.register_craft({ type = "cooking", - output = "default:steel_ingot", - recipe = "elepower_dynamics:iron_ingot", - cooktime = 20 + output = "elepower_dynamics:viridisium_ingot", + recipe = "elepower_dynamics:viridisium_lump", + cooktime = 10, }) ----------- diff --git a/elepower_dynamics/craftitems.lua b/elepower_dynamics/craftitems.lua index 83ea74b..37a67ac 100644 --- a/elepower_dynamics/craftitems.lua +++ b/elepower_dynamics/craftitems.lua @@ -35,6 +35,12 @@ minetest.register_craftitem("elepower_dynamics:electrum_ingot", { groups = {electrum = 1, ingot = 1} }) +minetest.register_craftitem("elepower_dynamics:viridisium_ingot", { + description = "Viridisium Ingot", + inventory_image = "elepower_viridisium_ingot.png", + groups = {viridisium = 1, ingot = 1} +}) + -- Lumps minetest.register_craftitem("elepower_dynamics:lead_lump", { @@ -49,7 +55,13 @@ minetest.register_craftitem("elepower_dynamics:nickel_lump", { groups = {nickel = 1, lump = 1} }) --- Other +minetest.register_craftitem("elepower_dynamics:viridisium_lump", { + description = "Viridisium Lump", + inventory_image = "elepower_viridisium_lump.png", + groups = {viridisium = 1, lump = 1} +}) + +-- Special minetest.register_craftitem("elepower_dynamics:carbon_fiber", { description = "Carbon Fibers", @@ -63,30 +75,38 @@ minetest.register_craftitem("elepower_dynamics:carbon_sheet", { groups = {carbon_fiber_sheet = 1, sheet = 1} }) +minetest.register_craftitem("elepower_dynamics:tree_tap", { + description = "Steel Treetap", + inventory_image = "elepower_tree_tap.png", + groups = {treetap = 1, static_component = 1} +}) + +minetest.register_craftitem("elepower_dynamics:pcb", { + description = "Printed Circuit Board (PCB)", + inventory_image = "elepower_pcb.png", + groups = {pcb = 1, static_component = 1} +}) + +-- Electronics + minetest.register_craftitem("elepower_dynamics:wound_copper_coil", { description = "Wound Copper Coil", inventory_image = "elepower_copper_coil.png", groups = {copper = 1, coil = 1, component = 1} }) +minetest.register_craftitem("elepower_dynamics:wound_silver_coil", { + description = "Wound Silver Coil", + inventory_image = "elepower_silver_coil.png", + groups = {silver = 1, coil = 1, component = 1} +}) + minetest.register_craftitem("elepower_dynamics:copper_wire", { description = "Copper Wire", inventory_image = "elepower_copper_wire.png", groups = {copper = 1, wire = 1, component = 1} }) -minetest.register_craftitem("elepower_dynamics:servo_valve", { - description = "Servo Valve", - inventory_image = "elepower_servo_valve.png", - groups = {servo_valve = 1, component = 1} -}) - -minetest.register_craftitem("elepower_dynamics:tree_tap", { - description = "Steel Treetap", - inventory_image = "elepower_tree_tap.png", - groups = {treetap = 1, component = 1} -}) - minetest.register_craftitem("elepower_dynamics:induction_coil", { description = "Induction Coil", inventory_image = "elepower_induction_coil.png", @@ -99,6 +119,38 @@ minetest.register_craftitem("elepower_dynamics:induction_coil_advanced", { groups = {induction_coil = 1, component = 1} }) +minetest.register_craftitem("elepower_dynamics:chip", { + description = "Chip", + inventory_image = "elepower_chip.png", + groups = {ic = 2, component = 1} +}) + +minetest.register_craftitem("elepower_dynamics:capacitor", { + description = "Capacitor", + inventory_image = "elepower_capacitor.png", + groups = {capacitor = 2, component = 1} +}) + +-- Assembled Components + +minetest.register_craftitem("elepower_dynamics:servo_valve", { + description = "Servo Valve", + inventory_image = "elepower_servo_valve.png", + groups = {servo_valve = 1, assembled_component = 1} +}) + +minetest.register_craftitem("elepower_dynamics:integrated_circuit", { + description = "Integrated Circuit", + inventory_image = "elepower_ic.png", + groups = {ic = 1, assembled_component = 1} +}) + +minetest.register_craftitem("elepower_dynamics:control_circuit", { + description = "Integrated Control Circuit", + inventory_image = "elepower_ic_2.png", + groups = {ic = 2, assembled_component = 1, control_circuit = 1} +}) + --------------- -- Overrides -- --------------- diff --git a/elepower_dynamics/dusts.lua b/elepower_dynamics/dusts.lua index a3dbea5..d4c8b5b 100644 --- a/elepower_dynamics/dusts.lua +++ b/elepower_dynamics/dusts.lua @@ -100,6 +100,11 @@ elepd.register_dust("electrum", { color = "#ebeb90" }) +elepd.register_dust("viridisium", { + description = "Viridisium", + color = "#5b9751" +}) + elepd.register_dust("wood", { description = "Wood Shavings", force_description = true, diff --git a/elepower_dynamics/gears.lua b/elepower_dynamics/gears.lua index 4da3dec..069652c 100644 --- a/elepower_dynamics/gears.lua +++ b/elepower_dynamics/gears.lua @@ -95,3 +95,8 @@ elepd.register_gear("electrum", { description = "Electrum", color = "#ebeb90" }) + +elepd.register_gear("viridisium", { + description = "Viridisium", + color = "#5b9751" +}) diff --git a/elepower_dynamics/mod.conf b/elepower_dynamics/mod.conf index ff91a33..536550d 100644 --- a/elepower_dynamics/mod.conf +++ b/elepower_dynamics/mod.conf @@ -1,4 +1,4 @@ name = elepower_dynamics description = Elepower Dynamics. Conduits and materials! -depends = elepower_papi,elepower_fapi,default,fluid_tanks +depends = elepower_papi,elepower_fapi,default,fluid_tanks,dye optional_depends = moreores,pipeworks,homedecor diff --git a/elepower_dynamics/nodes.lua b/elepower_dynamics/nodes.lua index 3c56470..df7521b 100644 --- a/elepower_dynamics/nodes.lua +++ b/elepower_dynamics/nodes.lua @@ -23,6 +23,14 @@ minetest.register_node("elepower_dynamics:stone_with_nickel", { sounds = default.node_sound_stone_defaults(), }) +minetest.register_node("elepower_dynamics:stone_with_viridisium", { + description = "Viridisium Ore", + tiles = {"default_stone.png^elepower_mineral_viridisium.png"}, + groups = {cracky = 3}, + drop = 'elepower_dynamics:viridisium_lump', + sounds = default.node_sound_stone_defaults(), +}) + minetest.register_node("elepower_dynamics:particle_board", { description = "Particle Board", tiles = {"elepower_particle_board.png"}, diff --git a/elepower_dynamics/textures/elepower_capacitor.png b/elepower_dynamics/textures/elepower_capacitor.png new file mode 100644 index 0000000000000000000000000000000000000000..499ddc4ced6f330fe37b12f8e294a21ad8324414 GIT binary patch literal 1963 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 WjWMzR&PQM{GI+ZBxvXyz literal 0 HcmV?d00001 diff --git a/elepower_dynamics/textures/elepower_conduit.png b/elepower_dynamics/textures/elepower_conduit.png index 900095576398ab5f46aacd0db9371ff029241bc3..f20abf7a6775998e4e34762d3266efda6e826878 100644 GIT binary patch delta 1740 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 literal 0 HcmV?d00001 diff --git a/elepower_dynamics/textures/elepower_mineral_viridisium.png b/elepower_dynamics/textures/elepower_mineral_viridisium.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c21e0d74f61811ae8643ff1a9eef69c4b29a64 GIT binary patch literal 1536 zcmV+b2LJhqP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+SQhAlH?`~hW~Sl905sy#BnemRk=ZqpBIchJ-s_$ zyR)f^-EFW8Lg()~sj}MA+-w%%056V`=wimco+zSbv3;3b&ntW`EmpPZeD^YrrQzR2Ap(#7pz<&^G~U&*`NOWfq#g>Q^zWAt-(B_wP)?M+=4r4OYq0 zfSRQu90XFnZK1VnUdvT7EZoQ(qJyA}W}N)a={_@PjG0hG-fmyPE}oeND<(N2=Ly3= zgvNGiTn@g@=VNje5RA*sh7A^fObx()M0yD>S)c_2Bib{8N!wNc7r}xEV~`$!d?JaI z$Sbo`A~@0jsK9iVzz48UjND)(2ayCg$O5d5IZA6NM?S?Uga8pGIZ?35QUEK2i1^W9 zh@lcCh8Sat8ZG8nlBAhoDQTJ&wWw&&s7X~#vleG!!J;KoGs{*oXFm2On~TBOd9{!;XBE%C1TcHP%$MTFtdIZqks)Ej4Y{ax0xWLaB!yd+OS) z=UxUvZO8~Cjx==G$ZnLI+Q$0B`2}jUsqrE;2kK1?Qq@ZZ&2kbaGZ5oI0Irh&iDRD3 zyio`|$xUWHGqNHwjEoabqe%<|Lnn@dZgwx^qC*+|7H$q8_&dnCiS85Re&qHuYOSmn zoh(8#4X0DRAp1s$g{^STc;Q9-{9CR2XuxONuPcHd+w8|7rnOpICZp6!tE*Q=5$V~^ zoB7iJQtSLLPW)KWpw;1{s~@@e({dP|`-9=(d7AqsgS;D*9u1&&`jnq6uor{#tMPd= zm|r8;%p-lq=}%jyW6h7q{*xafuD4UEHlh*A*W$wYZ;HtOr6RR*3bWwE}8@D=D!EoH~?RGajmy@L?6u|MVh ztrqX7Gj_Fh8u%L70V!l-FLDL9*VDjDwY{s_y}jnw+CQm?@csX=`*3;D@ACaHu#TI* zdnc*D{R$wwUr-I|c5m}}1p9N5{Ty)5J56VGNnXwZm7+h35R2HbCi0Q71@X{ zM%n29`A5W?iWJ{R$RGDFf?~c9(xPY900006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru;szEE0SoB=LOuWh02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{0096=L_t(I%e9irN&`UR709IGlkcb1J$Ti|*{X&XW0DwlfMrDLI9;cTT$X?><>&pI!O^jbgEy$-R94I7N;u=xnoS&PUnpeW$T$GwvlA5AW zo>`Ki;O^-g5Z=fq4pg+))5S5w;`G%?2YC-G@VLrrq_>A|a( zc1|xaVH$yVd=AGarObdd#a99~=|Q@Zfm+&N<4li|2~n em{9)1GH&~xz@5w8|Mmbq!r zaB^>EX>4U6ba`-PAZ2)IW&i+q+SOM{vfMTd-SZSV0s(M54#%q8Aji++q@L||*^5N_ zEm8mlfOr`ARr}}fuKvQs?3^;z2N#{wxJ)#W6DC2gE6pcqGoSlKpUDGVT?__EFv@xj zZqpm+jP<J}g*}Mfky{og7VG}nY(RlK(P+-0U zNf;fT4E~}f(9L|(vJ_~s(jN18{QBeTN0zH&`iA@g(rZQ^=yyn~>CnTFCxqNJzNM4B z(bYYq6Sq6f&Rv=x>1{aV?mDQAU+*>a-q!AtaoDokn>t&WGpx(QTk|W2+v8_-7|tGd z#2t_l1#wgnWEpp%NDLS|8LE`1Q=4O<0uv24_86H93l#-o02q0F+=li{T7d$Xc#2l8uN1ILHF%#y6hkQntLvD1-pQic{i&O_T(%jIoFxZvtW{ zS+T}i>#VoIMw^_tkzvkxH!5oK;*Gc7dGCXdKB*wV1RGrNA%qxGQsyk#WSd>~IpmmAVO6A^86M9rR$OMZBnAb4W95cP$aM5&47@Uk%hnA<4$u zI2b*SJ|{cpIGn{pOKsD1-X!Phq@egWoGzy15~)>vR(=?%hB>p1G4;Fz`m9jSA8q_> zV(L@5?QDF;UtAKqO+F;$t_{Sq0hj7C$;Y;Z=;SNEm|2`!Qforj{$TWXHmi3=yX`ch zYP|1T2HKOj%Ua!bOu&F8Xf)StV8bEe=JqGI(iWJVr#Hr{FRl00<;!2@js0qGfRo+=5k#){!-gv zi-RtLX;~24h7O0GvHgY4S{gdFeV;oc*K&UVeZ_?>Xj+Ka`+)t(X)UXbxr>dXJ7A=K zWy_U7{zAWQ8)J^$l$`?V>m2w=3aFHT4H!p?6dVlRmbi*Y>2hYfu<_j8bZP+S|-rwQ`ETJag#o>^%ZEwd%Vz zdqzHSG!y3D8)}zE{~-jw9@Xy(_|FOQI5_CX>@2HM@dakSAh-}0003@Nkl!ug}eT~8}#A30)a=C<*64!Tcd?-vbMxLvFZcr3Ouq+DzAcR24 z{^X+x9LLEJZof)ODa_|{Xsuyc78<=EHAytau~F44Yeb{7Gzl}KP$)oLe(WVN^Tct} zwxbHF>E4p;RZye&<^NVc Xy(NAKu$RLU00000NkvXXu0mjfmWF4; literal 0 HcmV?d00001 diff --git a/elepower_dynamics/textures/elepower_viridisium_ingot.png b/elepower_dynamics/textures/elepower_viridisium_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..a83e70a3e3a1af4b0eed5f18eb6c2d27df0b3cdc GIT binary patch literal 1530 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 usage then + if result.time ~= 0 and storage >= usage then power_operation = true end - if not result or not power_operation then + if result.time == 0 or not power_operation then ele.helpers.swap_node(pos, machine_node) - if not result then + if result.time == 0 then meta:set_string("formspec", ele.formspec.get_crafter_formspec(craft_type, pow_percent)) meta:set_int("src_time", 0) meta:set_string("infotext", ("%s Idle"):format(nodedef.description) .. diff --git a/elepower_machines/machines/coal_alloy_furnace.lua b/elepower_machines/machines/coal_alloy_furnace.lua new file mode 100644 index 0000000..10745ab --- /dev/null +++ b/elepower_machines/machines/coal_alloy_furnace.lua @@ -0,0 +1,224 @@ + +local function can_dig(pos, player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src") +end + +local function allow_metadata_inventory_put(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if listname == "fuel" then + if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then + return stack:get_count() + else + return 0 + end + elseif listname == "src" then + return stack:get_count() + elseif listname == "dst" then + return 0 + end +end + +local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local stack = inv:get_stack(from_list, from_index) + return allow_metadata_inventory_put(pos, to_list, to_index, stack, player) +end + +local function allow_metadata_inventory_take(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + return stack:get_count() +end + +local function alloy_furnace_timer(pos, elapsed) + -- + -- Inizialize metadata + -- + local meta = minetest.get_meta(pos) + local fuel_time = meta:get_float("fuel_time") or 0 + local src_time = meta:get_float("src_time") or 0 + local fuel_totaltime = meta:get_float("fuel_totaltime") or 0 + + local inv = meta:get_inventory() + local srclist, fuellist + + local alloyable + local fuel + local time = 0 + + local update = true + while elapsed > 0 and update do + update = false + + srclist = inv:get_list("src") + fuellist = inv:get_list("fuel") + + -- + -- Alloying + -- + + -- Check if we have alloyable content + local alloy = elepm.get_recipe("alloy", srclist) + local afteralloy = alloy.new_input + alloyable = alloy.time ~= 0 + + local el = math.min(elapsed, fuel_totaltime - fuel_time) + if alloyable then -- fuel lasts long enough, adjust el to cooking duration + time = alloy.time + 4 + el = math.min(el, time - src_time) + end + + -- Check if we have enough fuel to burn + if fuel_time < fuel_totaltime then + -- The furnace is currently active and has enough fuel + fuel_time = fuel_time + el + -- If there is a alloyable item then check if it is ready yet + if alloyable then + src_time = src_time + el + if src_time >= time then + -- Place result in dst list if possible + if inv:room_for_item("dst", alloy.output) then + inv:add_item("dst", alloy.output) + inv:set_list("src", afteralloy) + src_time = src_time - time + update = true + end + else + -- Item could not be alloy: probably missing fuel + update = true + end + end + else + -- Furnace ran out of fuel + if alloyable then + -- We need to get new fuel + local afterfuel + fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + + if fuel.time == 0 then + -- No valid fuel in fuel list + fuel_totaltime = 0 + src_time = 0 + else + -- Take fuel from fuel list + inv:set_stack("fuel", 1, afterfuel.items[1]) + update = true + fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time) + end + else + -- We don't need to get new fuel since there is no alloyable item + fuel_totaltime = 0 + src_time = 0 + end + fuel_time = 0 + end + + elapsed = elapsed - el + end + + if fuel and fuel_totaltime > time then + fuel_totaltime = time + end + if srclist[1]:is_empty() then + src_time = 0 + end + + -- + -- Update formspec, infotext and node + -- + local formspec + local item_percent = 0 + if alloyable then + item_percent = math.floor(src_time / time * 100) + end + + local active = "Inactive" + local result = false + + if fuel_totaltime ~= 0 then + active = "Active" + local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100) + formspec = elepm.get_coal_alloy_furnace_formspec(fuel_percent, item_percent) + ele.helpers.swap_node(pos, "elepower_machines:coal_alloy_furnace_active") + result = true + else + formspec = elepm.get_coal_alloy_furnace_formspec(100, 0) + ele.helpers.swap_node(pos, "elepower_machines:coal_alloy_furnace") + minetest.get_node_timer(pos):stop() + end + + local infotext = "Alloy Furnace " .. active + + -- + -- Set meta values + -- + meta:set_float("fuel_totaltime", fuel_totaltime) + meta:set_float("fuel_time", fuel_time) + meta:set_float("src_time", src_time) + meta:set_string("formspec", formspec) + meta:set_string("infotext", infotext) + + return result +end + +local function metadata_inventory_changed(pos) + local t = minetest.get_node_timer(pos) + + if not t:is_started() then + t:start(1.0) + end +end + +ele.register_base_device("elepower_machines:coal_alloy_furnace", { + description = "Coal-fired Alloy Furnace", + paramtype2 = "facedir", + ele_active_node = true, + ele_active_nodedef = { + tiles = { + "elepower_cfalloy_top.png", "elepower_cfalloy_bottom.png", "elepower_cfalloy_side.png", + "elepower_cfalloy_side.png", "elepower_cfalloy_side.png", { + name = "elepower_cfalloy_front_active.png", + animation = { + aspect_h = 16, + aspect_w = 16, + length = 1, + type = "vertical_frames", + } + } + } + }, + tiles = { + "elepower_cfalloy_top.png", "elepower_cfalloy_bottom.png", "elepower_cfalloy_side.png", + "elepower_cfalloy_side.png", "elepower_cfalloy_side.png", "elepower_cfalloy_front.png" + }, + on_construct = function (pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + + inv:set_size("src", 2) + inv:set_size("dst", 4) + inv:set_size("fuel", 1) + + meta:set_string("formspec", elepm.get_coal_alloy_furnace_formspec(100, 0)) + end, + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_take = allow_metadata_inventory_take, + allow_metadata_inventory_move = allow_metadata_inventory_move, + on_metadata_inventory_move = metadata_inventory_changed, + on_metadata_inventory_take = metadata_inventory_changed, + on_metadata_inventory_put = metadata_inventory_changed, + can_dig = can_dig, + on_timer = alloy_furnace_timer, + groups = { + tubedevice = 1, + cracky = 2, + } +}) diff --git a/elepower_machines/machines/init.lua b/elepower_machines/machines/init.lua index 1a9666d..9bbf8db 100644 --- a/elepower_machines/machines/init.lua +++ b/elepower_machines/machines/init.lua @@ -3,6 +3,7 @@ dofile(elepm.modpath.."/machines/bases/init.lua") dofile(elepm.modpath.."/machines/accumulator.lua") dofile(elepm.modpath.."/machines/furnace.lua") dofile(elepm.modpath.."/machines/alloy_furnace.lua") +dofile(elepm.modpath.."/machines/coal_alloy_furnace.lua") dofile(elepm.modpath.."/machines/pulverizer.lua") dofile(elepm.modpath.."/machines/sawmill.lua") dofile(elepm.modpath.."/machines/generator.lua") diff --git a/elepower_machines/textures/elepower_cfalloy_bottom.png b/elepower_machines/textures/elepower_cfalloy_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..a61269dbada0c6d48f7e511ec983370f8e894258 GIT binary patch literal 540 zcmV+%0^|LOP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00D$aL_t(I%bkAKd+eTK>mJtA*)!|4nRag9Y|Q$PI$6iHdKW7 z_m9DF(8@`F+b)Cm?0&s#WnfITp>5DKYna&tOY$x zEq&qqb;jK>Gb%?9qC!McSv>uEV!!T~8LEsHs*G^R^@U1;jnXVjSh9~ZUWz__E zII4!A6p5fL)+v&vN@a3CwONH`#H79NJ7&xDzxRdS7n+Vgiz@rR&sH-6i_9@~2Mgc% zI&WAT)*i((gRaZWi%239lbhOyUE6jUV;h66kG)}CJD;DQ54m!TGQjC{`nP5JnO@`h e`T76WIg4+8%jfRMtUG=H0000e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00H?)L_t(I%Y~E6ZW}QSMUS2{ z9zOy!fxC$p4I0!1()|DbILIoA>-aH}W<+%{?jY_Whae@k(@ak4p`@@ zE6?F@VA3>9>IrRV@y@Z^?P#V`>Z&HC$nkVyKA)pwh@cbzb>#^$0bq>beZNO3g)tVT zHM!5c@Ase-MT8V1Hg$>A4M`|9Fz6D8{hrh51VGa?061rHN^v|M0SF;r7xOvO*$ja9 z-Hs3wo6Qre)h!=wvw7m%-5qu1`Iw`Au74C`41M1b+Q??J8I!KBzX0(1`ZmT^tJ_hZ z5Cd8%Mb4RKGUaW%y+Hkbf6sEcyokMRe`C-3h-7R^9d+dgae(P;M)y~fv-!%OH5lGD zM6A{Hylt{*8^l_#`e)MRmW#nQI8J~rO*9{R!YHWJ&aC) zwdR722uKkq1(AZ?e(3w<^@S8K>HllK^4whCjJ{ng<^wYD{QOKV<S@M6A0dgrQ1*L$}V68Q1?aPd|?gEqFVYea-TXV&ZW(5D-A zzdf~==pq2bm~gWxxtHMgh rfYJK=NyFLCIn#ChxG&B-)S1;E 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 u{<8iQp_TcZG6{q;gDL*^_0000e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00I_CL_t(I%Waa$mfJ=QMK4fA zQWT}`b`t+deDeR_(oVdv&*_$^fi(eMkdb>~EHM;ry$AW{%io?-;(R_6W2El~F4qhD zabz6#+?N|eKk)wk&f#!m9CxIYxLmJ1KRuzR(}~&|=0@N5q?B-TGz8A)Ga!g4h)_!A z?d_drMlF@w?M6&FlXAuluD2W0G*N11S?=t1BLGWUux6y30jSsd$j7JSk^O#82+Hg0 zzoaGM1^{VE061%6nkG~gfyYeDrO+-HYAFDenh}MPE22CeJ3bxP`qmdxUI|2m)*Ac$ zM9TTG1$b=w{^L7lM#+V)?@(3dd0q)>DGbBFe3=m-r4@U(8<^({r_+g#p&~5Hofsm` zj0nQ*exufgsuEPWFAKF4rfK5k<%QSRue4^k8>e(81SO@6iW2|$^Aq!Y!QEHE+&LZ& zXb1?fEDN7M|Meg+bIff0pF8o}f8Q{7RCO%?DvE9Dg`kgN5vA6OHA90UBE;!%*vbwF zF-CqDyWNhQGPPCMXhVoZcgM|$aTVo%o4T$ehDhvwJ=hOD?cQh`X#ipf0dzf8fS2dz z&A?w#O5QFnp(40DhiShOACCuWDfrer&ojd?Y=VBUPX%j@ejJIh!yU|w*mpgGkV{^# zPlQ?iTXKP?g#mtu-QU3`38I(5ijds2~tDP-~;K0;@c9UH7p3C(K@~07*qoM6N<$f&`5#RR910 literal 0 HcmV?d00001 diff --git a/elepower_machines/textures/elepower_cfalloy_top.png b/elepower_machines/textures/elepower_cfalloy_top.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc22f00318748f7c2e6de69a1a11964d21bcd30 GIT binary patch literal 1891 zcmV-p2b}ncP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3vp(&Q!#hX3mnIRX;jZ)u# zgPZLa+6CifwwJk1Lc4uiC|p|9o#txfuNW z7RnsoX8$k)e$+okdvVsWH~1P+-n)o;5M?~QCOZAETfppjShxRwpGz_{r^g+n& z@@qTWS3A8U9o*g|JGUi2+H2k-HaS}OTC1V8>)u^54qJ9}Q)?@uhH<%DYs_+ZJ$_b& zZtVU>ya6Fm;71ismhl#jEWp^A+B(M;L3sE9gM}e`^o=#>30UT)&q)Jg>5V7B|XxhMJLBhiZKjC zxJ{$lVc_+iPv@#Z&<-;PY%rZy$?S6L_r4=Y;eJc5MoGCqDIEG5%Cy9 zj4>q$O;|Z$cEW&^vSgi2w%KK$LykEWp`wc^wz%R;D6ym}RaeAub=B8UV@(%daHY#! z_HviM!WFO7;A%}b(`<9ix6mTBw5d(3AMbyl#*>;1QhlJ`)X?hvT7r8zv7H%+iD3Zu zod9bR>C9AMW2BSo%v2Oag%v1iJDkd$7zmn+#WvpTUgRtxjs6jC1Q7Bk$Wcf48{|H@ zeWO;>IOy~s)WfhFRcSFx`v)LVzZ9n{cU)@WT1wF*5I4~OE2fh~M(IxU5_f?Ww3n}W-pGI18$*(bA4yMtGh z7ae-H%DA)Lm1X=rIk=~0h|xL3`Myu;%2vCGT+1xcPW`2=iPz~A5AUF_?vbC)fCJ=Y zUe{t_nw>c1CoY(0wb-qMTa{FQ(2ri?w^`C@jj|@yQ$se(-cX8DF*Au7vT-OIu0uEgh9h<}FUJ9IgL z4PNw|zwNW#=Oe6`>)`?;57A>C_u+i@eelDWR&6F}q>&zU%L;C%1>DSTXXl-v{7MU7 zb0vMHx>KZo`nq1p3rF0J!aBT_`fy%KPSm(#h9!PSx_hK(B%JujCWKi>nhh^xANI|M z4M1!HCtRJD^~?vc9SJ@?bL%U57ZzH!myb|cp3HVRqNz_}@l68lgq0Row;gROU2`E>8hr_bzsqIU@9dm6oEubH@&vD3df#4~c^M~;~#o#)*S3EoM>oy@G> z2bEig2A%4tpN?t%NCNzR)YJQU&1cd*;uBtYZCvhoCXriVC_h~hzT^~k=gBrN5kK8k zph7+G4l8+RT!+w1{{n(S%`)ChVN?JB00v@9M??Vs0RI60puMM)00009a7bBm001r{ z001r{0eGc9b^rhX2XskIMF-*r77z|7+Iq{*0000PbVXQnLvL+uWo~o;Lvm$dbY)~9 zcWHEJAV*0}P*;Ht7XSbOl}SWFR5;6(lS^{kFbqT=K9VXf$0^?<$^EZokISAJ;gba= zdbS}KM3HP%qZ^RFe|~pFaIWsgR8ccj1b5?cRY6rAapN>x-Y+2EpUjku8nNrV7f~XD z%0g9neSO7M2lCg;3)RiGtpH>e^ofLRTgfP{w<{{b+uJ*8f)6S+>0hrm+zk=MTygjD zR>dCsLn#B}s)pL2>2A3D1WjG4s6NXxx(YSL)NoZMXjvD&KEH?v+?_s9qDp1bRs48* zV&8WbcT|rOx{GC90Opxls0gP+zBrq22(YdT-HjkjiEp?2q1U)l8RDwhOqf-47x&v8 z1VkSaObZ`vQ+ae3Q=P5|f{36IIXyqm6AVz@h$gZ}TGbinR-*I22|LeN2t_!9zL{nwI@6dxyWZ+pfy6$8VJD*=y+=jJh z@~YufA3HONNL)lfn08&Sx6!sa=*E~Ewr%C(@-dm7ZSIGtTrQXY8zxh_8+UV_pMU<} dIQREB{{uH{^7YArn`Qt2002ovPDHLkV1m=df*Sw; literal 0 HcmV?d00001 diff --git a/elepower_nuclear/craftitems.lua b/elepower_nuclear/craftitems.lua new file mode 100644 index 0000000..d9b2a5f --- /dev/null +++ b/elepower_nuclear/craftitems.lua @@ -0,0 +1,72 @@ + +--------------------------- +-- Fission-related items -- +--------------------------- + +-- Uranium + +minetest.register_craftitem("elepower_nuclear:uranium_lump", { + description = "Uranium Lump", + inventory_image = "elenuclear_uranium_lump.png" +}) + +minetest.register_craftitem("elepower_nuclear:uranium_ingot", { + description = "Enriched Uranium Ingot", + inventory_image = "elenuclear_uranium_ingot.png" +}) + +minetest.register_craftitem("elepower_nuclear:depleted_uranium_ingot", { + description = "Depleted Uranium Ingot", + inventory_image = "elenuclear_depleted_uranium_ingot.png" +}) + +-- Dusts + +minetest.register_craftitem("elepower_nuclear:uranium_dust", { + description = "Enriched Uranium Dust", + inventory_image = "elenuclear_uranium_dust.png" +}) + +minetest.register_craftitem("elepower_nuclear:depleted_uranium_dust", { + description = "Depleted Uranium Dust", + inventory_image = "elenuclear_depleted_uranium_dust.png" +}) + +minetest.register_craftitem("elepower_nuclear:uranium_waste", { + description = "Uranium Waste", + inventory_image = "elenuclear_uranium_waste.png" +}) + +-- Fuel rods + +minetest.register_craftitem("elepower_nuclear:fuel_rod_empty", { + description = "Empty Fuel Rod", + inventory_image = "elenuclear_fuel_rod_empty.png" +}) + +minetest.register_craftitem("elepower_nuclear:fuel_rod_fissile", { + description = "Fissile Fuel Rod", + inventory_image = "elenuclear_fuel_rod_fissile.png" +}) + +minetest.register_craftitem("elepower_nuclear:fuel_rod_depleted", { + description = "Depleted Fuel Rod", + inventory_image = "elenuclear_fuel_rod_depleted.png" +}) + +-------------------------- +-- Fusion-related items -- +-------------------------- + + + +------------------------- +-- Crafting components -- +------------------------- + +-- Graphite + +minetest.register_craftitem("elepower_nuclear:graphite_rod", { + description = "Graphite Rod", + inventory_image = "elenuclear_graphite_rod.png" +}) diff --git a/elepower_nuclear/init.lua b/elepower_nuclear/init.lua index a9a5dc3..02e76d7 100644 --- a/elepower_nuclear/init.lua +++ b/elepower_nuclear/init.lua @@ -5,3 +5,5 @@ local modpath = minetest.get_modpath(minetest.get_current_modname()) elenuclear = rawget(_G, "elenuclear") or {} elenuclear.modpath = modpath + +dofile(modpath.."/craftitems.lua") diff --git a/elepower_nuclear/textures/elenuclear_depleted_uranium_dust.png b/elepower_nuclear/textures/elenuclear_depleted_uranium_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..04ba6521e609961654b59b7b13dcc60becead11a GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=De8Ak0{?)V>TT$X?><>&pI!O^ioMcVg2fpa_FxiEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI0FMCpQnpsh{fr>lYPC87>FFNm-P}CKI&Aax9N+D@fp=Snoa5g zHVxteADa(`+8(W#_3pHY6YF7*m?vMAOIIv-)I4GOlK=hRCmpJ9Gh|CXbN-;0=9D18 zlQ}}64>UgnuiEVSLFUB5J(_#BimmvzVLvSiMFV^KLL)~h~P%ww`>9%Hd(ajpKYKPCy*>=l*;n{HpbziK5I7LI~|ETSm3&=z8FVQCh!ClZlOh_XaBDWEc$OhP2dgk)j@TG>RFsuk3V zNEJ}rwJh4YfyKIUK}3sK1#4AA#R?XJTU|O6D5m#%?e%$X|Cu~V<~!ee-gD-i^PO)d zd4kYD8%sw^91ds05AqL3f5&1U3p4cFx&IY_!VxRG#Z#tPKbP2lHnI>`uS!g8ZWvSjd_vgu9Nw*_PLFA;uC@3EmCw#h>N);W z)@ADz+;lo+)uil%-wt)!NvzAi4s(L56~`{;T+5nvm^0qGpmf7ihaU>Buc7Hv8XBwD zPI_#+;$rR8{de+?StrMj`S#51phRwEV`W3*numSAc0Fc%2l?ecJCt3mZ!dPH{Bm8t zVf^i1Om_XyUKM3C`qtStH{~8)OEh~x^D=hDg1U3j(8-hEt%*5yIMCH%VYx^@0zSQT zgKp)Hj>gQ9vZ|{5!N%y9zGW zw`biMyZX+wlznGT0nM^!v3sfxF6kj1O(*6Y+*P~YGxO(57aaGDEWUZY{ipgKVp+gC ze;=o)$yc(YUB_jep0(N?T7-OAC-BK#4M*#nva|CuD48oyLM;zcx1M(Ay9bHgg3L44 zg?&oz*nVTbVEL`t7x2?9PVcdXuhP8}Sm2Rq3lfeL*}mccN>mz9yZ2pNh*Jn-NHvobbI_r1hxk{H%~X zoXFJ2p{#~oH`6NRyuDBL_|bUtDBSg!t@Ow%{S$8CO~)jut;se~Nqcv7ZBlHz_&|}C z6W6QTF`cz7c5PQNTqga3xbZ97q%YdOdt@84^^~LS_9Nv^ZTP5bQ+GN~t5chu{%M@W zF}*=?VFOcg;42I>9z0b59#f3aV@50mE}RIO=-iLB`UanhF51)Jvy#2x-ttMAS$d2YGxnxg`A z>{tJ5<3@GZ_aDzxwrWgNuA>sx($%#SNmJ3i1}bSR+i&#tZLDr5f!_Vnh!m0s++;z{cx|Q@c!7OQ01fSyqps0jL`Oqpz0S+ z8`};XIGj{V?P2^L&|NoB{Nmvas}{~AVt12|a^BN1`%L4r)i*xb`AcR=%G98hqXt}N zZ$G?n#=cE$2f+ei@ky$;$BpQ=`SBWO*}RymQ5V|*`}Wx<8Y4TJA4$%1vQqnxn!RM{ zYmQoa=LyDl!OgqwU*K0e_My!Scw^U+DiILtTD-h^n{4n4E%ag8jc3;k6mmH{T2qsh4Pq=@+ z^q~a~XX__LTVzZ~Fc*a7BtQfUA(Bq6M6UCMWlvCf~iR$M?~(n(Ib>shbT%Yp*ju3jRY)y9q)}E>PU2_B8Nk2Sfc`=fW?pkaWM|6lxft)F*RxkGa2%hiNs_yDMMsq zpFn?MynR%^rVoeh6xeK zorMwtXz@tpfCM5d6%xY)nljf<1px@GiiBYqkAS6w$2<*70q-?byq)Jw;9;h4v`48C zRSN%aPU_!qUV~K`g!;m&6r=bNQ1aktu#w252C49P!{X%vAf_UZpavF0gY|^!I5-6+ z0tyL)cFCb7@~2(;hH7PTAdthLGl&qxWD)5A3m|gn0F}sQQUErMNu!DAg9SCru7<^k z7EnPx5_Aor*BM7Nh+F&3Vv7`W_j0|H0`CNVUtRwPKFu!Rw(b|qpU(s<3H8~&wF^C^5$DWOFL$~L6 ztrSVbWB2m&GRAy>!;P5A_xFipH(o28KHJo1?26-#-?j^EC*_u9Z0eb8)deaD<>q$& z-;{O{&MI~XQUn)Fiejhqf241ElJFV0Z=1Ax;L^fTX(zhHdyhCI6`Wr-$Mmd+1AndY5VRqB*|q`W_$Xlyh(I7SpxjIGhK^ zHr}qt0pDRlbE%kXJ0deTq1C0U#4?suGwJ!cqiN4#?XUVyUViCZjN1-a=x-X%nl0%r z-1kv{U4P^BJ!YS~+L&%zXSscZIOz5&i;k>;d%Mq(du1)9KND|O==nFDOfmw~6YeM* zot&LGoI|lo&0kD>HgI_Qin+b=*xl}%H!o!Kjx1Of^!u5J9(X}il)b#Y+H*c_{DJSU eeA$^MbdEWbbuTzA9{md#hvNr?`tSEm$ovD-Q+vh$ literal 0 HcmV?d00001 diff --git a/elepower_nuclear/textures/elenuclear_fuel_rod_depleted.png b/elepower_nuclear/textures/elenuclear_fuel_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..09f55b7a624752d39505c6251d9cd89f6a8ef2d7 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=De8Ak0{?)V>TT$X?><>&pI!O^kN2#e$N3#K<7H1FP^ z8d1W#?oiT%OSK-Q>WUrHUpb2f6c?TQxKiW{Yt7|KskFBIx@Yn~zAH+-5>wz{V)$f} zKd1cGflo0;J0!R0t!6k@9;j>Rr{uPM`P&AIP7eM*Q4SBW{cDt;&?|t&w zWh+}239vHED+%-}zVY68=G;)mrQ1ASD(3u+_04?ww&W)N_W~>FhjU9esm8_}Klr+8 zYs1^Sa&FC{ZRm*lj$M7gv`y!% z$D{T%@n_flb?oi5Z!^w|zrSO?PTk*?Wq+sEo9|;xjttznwovNTT$X?><>&pI!O^k<|rQs!K4Nyq3#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-JoPmLn)zif>#NzbTOR-*u9Yoq5mQR}Gv3ilpG6jxZV$ydU!VQ>eL z%;w1|ioTbx9nU)OK`&2avyIwb+kEy-HfmN}QjG>37Pi(8i)=F3E`4lJ;MlNir~3Kw zi9yA8-W$(~xx%Fl~{>%$T#U4t)7Far$@5s+HHZ}Btk*%m5>&#z;DGrqm{+`4+@pWR=1U3fFh$|o)_0fribr>mdKI;Vst E0Lwh5L;wH) literal 0 HcmV?d00001 diff --git a/elepower_nuclear/textures/elenuclear_fuel_rod_fissile.png b/elepower_nuclear/textures/elenuclear_fuel_rod_fissile.png new file mode 100644 index 0000000000000000000000000000000000000000..894d4e399016413ac529415e9b450337ec88b5ec GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=De8Ak0{?)V>TT$X?><>&pI!O^k=zWSN2G1)z{*iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI0FMCkEe@ch{frvlg@e_b`WXZ@97m3C8}!3>Ubf2%VPgdhq9#zAD>7|NpO+$O*LA-P;$;RUq5H__6ajx4T6S^;eD- z%4|8+U0i(5Nrz!W&SaCRG9^|#$CkS~sF`ldRV?`#6S^!jfBTKkWrk8aKOXzOFmv{d zw#KWQycnacbEmNAimXlzE18hSHPfp_K)N!EVcKhv7PYRVW8#;U5{&jd{+ZhrbGkS8 z$E1}ag(AXi+plW+=)Ir0xBf|Ocg-Sy{q=WvmhHb6^7r!b_$%s)0ipBXv__u?1|EZ_ LtDnm{r-UW|6%?u+ literal 0 HcmV?d00001 diff --git a/elepower_nuclear/textures/elenuclear_graphite_moderator.png b/elepower_nuclear/textures/elenuclear_graphite_moderator.png new file mode 100644 index 0000000000000000000000000000000000000000..d5aa6d154b70924c687523b480a8b845defd2b5d GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=De8Ak0{?)V>TT$X?><>&pI!O^i=Zq)bzGB2Y-O#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-JoPmLn+tbA{#NzbXNgMkP83?%CUo^QxdFc@^`Q=9c|Eum$7FwjN zs<6#7qRV$AVk4hR)BbemHwyi&(|+il&@(Asm390&J&4=(oNY>-f9Sas@U$)eX*kvx}To)qo$ zSr;;O-~0Pas@{&D?kOwXd0+0La{G_rDMgm*V>iyk<^0#TVK`t~#;G#7*cljh44$rj JF6*2UngG;rrA+_; literal 0 HcmV?d00001 diff --git a/elepower_nuclear/textures/elenuclear_graphite_rod.png b/elepower_nuclear/textures/elenuclear_graphite_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..a63f2988ec26f327e807ea9ce30a82d5db1e7ca3 GIT binary patch literal 1690 zcmV;L24(q)P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+T~YUmg^`C{AU%j1SA21R7t`%{qJAH{Dp%_**LE;q!26)mt5kEMzrh5*O{!l&ilfi#)IA5ZZJ%O zTGnL@+umVk^yh7_dz=irzZ)p^eWN_y$a^4;dxA6Lo=9j-VE4c#?}3E(%x+zmwJaM_ z)cYmW-GA)+7Y+EEd2*s0d?0l=JGQDJp&i*e1#fKv9hK93&X+yV)3rHW8JM^WiN%>G zLIHecg6kYV$uvi(~Y)y6gg$9QLBlQmz*ImC4riR6tSu zy^WLXSrSS_NL2VygOe4MN{JXU4sz5e)1ZFUl`0@Q?yRVpD+^TvV}uxq>m|3Fg$Ao6 zX%L^K!W{%wzG0zj+H_40y*HE>_nrd#`q#=%5Xxd^+EqCg0rS7`# zp=*yl^*rEeLxvlEgrOsjWJbQJwq<=+enU0ds_~`N?5H=@U{yUs&`c+OY6ivF5d_z% z0EuCqn%PLs@l65d|J6V(=c{QMF7NQeM%-rY=NrbS zwRzRyp$>VEZEthvzGXr?HlH^pc;;&4^vwyrjYu;#G_-y932!W2*9>rSExe$ZkFmtV zSp23xTJvle+Ap$86{%gSU1JZm1Nq@|Va#F3w$nHkYLCQzU7I@vhFeYFY0{9FAV_CD z)P=HjY0zMykZ>5u?U0RBv{-eAUUy{G(l^hPx>C1(@m!*2eyQ5y(*%SbDu*`nFf3OjID-vr9wz?t_=07(bzv`q&GLK~oK5!A64b!Gt>+AL)C^ z9unzoSbU49Hfwgj=oGZpvF9kr@%F1QeCPUaX=LPW z8`cf%2G^2Pg#Bt*s&%vLG#-b;Hn15rpL;A7zmfZJB7sihcqPkj7-@B38iY*+P-No@ z4j(|$u@|k-!)s}0f4n*^pxAIBc)J{O;d>QORF00GKZIu<@WBPP!?GLrG%E{T#GAl7 zq&xg7zMyR7<=H95v175cb{ChgYH>Fe&FfS)9PP;ya7kY5;3J`qEoo^<4Cuk;{YEJ0 z-b1W-9>>Ys*U}j9n$kot8WL;* zEWMH?FW>RG_gn*OF8z6mYWxTGJP$$$ltpRELGgY=zrb zZ2|y`>>VH)K@eg#ni~Sz_k9C)PuyZ)%{)gKgqRMVDybDM#Bprc)}_Q=Uf*y#p4acV kE$82A)j~O2vexhU0d5+vn-Ts&Jpcdz07*qoM6N<$fe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00DGKL_t(I%gvI#Pg8LehM#j` zpi2WS{orzgq7;}7jUO>xOl%Nn8C1f*$OJUSC?NqB2ERyTlmJN=XhXW)D(&xe;)2=| zHaO$?cyiwJ9=PkUUWIq_&tztp8IoA3?AfgW%Zo3SOvJC6%s4$e?+Wq$O}t-tu1tD} zAQ++DZqw;>@cj(w)DUmyp6W)xQt5><=>*wq8U*_XhkXC>6M)gtEUDo^%Ei380?Ng_ zl8HFJpFt9<)osGCMHseNtL`9)An-{h;*?&`M3DaLw2QXm1~-A&N-aZ{}Lo2iHXM#D7`5Viw#6gvDg5m*#c9Oee@_H<}zB*8rH#jWL}Y zi-zls=3m1-AE{i-D>XbAX*M(JjV5a!KijQexm?Wa^01Ov|MbPUm+=Qv?UYwp!VT{L O0000e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00C=BL_t(I%T<%XmE154Lq9-G z>e%feZRDEn^JeRqvB(@K*&bbNJ&GgPx>c-#=g$wLgQlu@L?GaOOjhnKp^(I!iPSmAoD8j(xjMe)WJFMP zjj%g+5eWN2J7@MhHbn>bLnua=2vY?SohWxxOE}hLW|EmmIthyiUdI6xwwSZKzTZcq z6Sx3Lg#AHK*vvV3jQAjOA6rPmnYB2mhM0M(kad@`PK5U}dcKB80f@{5Hi}NFDk5Ty z*Kex8AKEU%Txj|m7PVBUY{Ko1e-vo<_5J-mh;XYR@#`^eWY_6V+wHtINt8=Q$j2|-@BThscGBg)eiLD+%x?Hw9ZnCTDX5Y)Tn`mzd3pkEd z)mmMOF#`0t5720B^)CE-J`q|v?9J=KvWT_nd*$z*`42TT$X?><>&pI!O^ip1b8TbTMWB#miEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8f13PZ!4!i_?228)hAL5O9re>1uJk+H^X1&SHxvavKeQI4Eh> zh|NE8bsAUJ7T>NJg&Vaiw{(eaaJJKtV%z&aot^Vv@Hxvl#oG@bljt#2o}4tzN=ato z&MQe`aSYxc*!2}z)@{hsY^vT+|zdY+-UzK=w z&~4_@e|i6{3R2^1=0ABP_UNwrswleMQX;M^W@IR2e>i0kK4>Ny- z@83|<*z0v|cVN{EUMG%_&{q2&KMpB*XI}bjX(Y_tuq}7vwMTo^{ZAd-|2Od6Mag4P W?RE9Lnw|nZ%;4$j=d#Wzp$P!Q4V?1; literal 0 HcmV?d00001 diff --git a/elepower_nuclear/textures/elenuclear_uranium_ingot.png b/elepower_nuclear/textures/elenuclear_uranium_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..8856985d9987b15216f1d8701133899769c4f35c GIT binary patch literal 481 zcmV<70UrK|P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Bu!L_t(I%iWSaZWKWfg}>Lm z1fK4(Ljp2H=xY#r53wsjXe5r|%}BiX3|LNm8U#0(?j8cBilE0r0?WksrQPq7O-t;dcz<8Rm#i+FbaQtwqCj)j@7cNA~seh7?gkxY(YDE&)mtVAbtYXdy zNq{gj%pA!mr4ggZInn0%H^J`eqN9#^tq5jL2oW%*Qi(AzoSfhe?hX#MH8u~3IVVb~ z0GytU$c<^50LWt}a&shgB6^VahpneHtjJxhHO!p6&H%s`Lopzrl!`6J&Br@!P$$5_ z+>u}y2BxWkK!{~A2%^>6TNtWt-rWNbj+eKpwNYC`4`J&ZaBy?xxzTFl_4!N1JnQpn z{%ei-YChAJXpATlg_}+(ee23n4Yh!GPl*=4YZ` XQmUIyBmvgh00000NkvXXu0mjffX2y% literal 0 HcmV?d00001 diff --git a/elepower_nuclear/textures/elenuclear_uranium_lump.png b/elepower_nuclear/textures/elenuclear_uranium_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ce3c068c8d5a51687a89012fe375a7d983db59 GIT binary patch literal 481 zcmV<70UrK|P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Bu!L_t(I%k9xiN?cJ8#_@lh z*S&q4piP<{G?@tQ#Pmi~#E^`#7R8Vl!DWbwyU0K^Dmw8INZ^uw+;dK4Aod_Wa4goK zC@8+)pbB0~9$PG~Ehs<;mSNqn{rNzi1uSn2^zWZBbMt*NpsHALT;E)gV&?m&eR&jE z`7+RM_bsY$+XQPZMHLv<6Izw$oJ$tSLCR)-&AyZvlusx;qHdAuvlXVRUpSq zY%*or)9SP-%95h=VGY7!!Xaf0&(YdnWPj+yCHj3y0;a&+{Q&DC9b z@Q90R3;M3#CwPZ11EYEZPEbvFV>mm%;OmE7dHRj(1C33>w=B*YQp|`#2EP3lej)V_ X=>36tHdUDe00000NkvXXu0mjfT6o4v literal 0 HcmV?d00001 diff --git a/elepower_nuclear/textures/elenuclear_uranium_waste.png b/elepower_nuclear/textures/elenuclear_uranium_waste.png new file mode 100644 index 0000000000000000000000000000000000000000..368768f815f3376776dbd81505561cd8cc9b7bfe GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=De8Ak0{?)V>TT$X?><>&pI!O^ipHN!eqc1W-t_#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-J9H{7zr;B5V#p%71eYp-92(-pWbGJUw`mJNz`N&bk(WYVDo$7`~ z9TkGMzTcK+=!k4N=DI95=)c3!#tWCueK-1S#Q0CriGxGYu3a)Yp~q5b?er^5QVcFS zd(t)kd0VguFcv9o4dR;f`8(6$)bj@f8?+lX3woxn^qa&or`SVNp1UW^HmA>;d3rr} zl;DK3#&_qI$%Pwq?2eGvu~?q&(CxBq`ChsFU*FZ@xMEKSZW3b(wjOG5T{de}7Y)RZ5&c~V1w_0nj!it-Iaqr*FSTV(jd2%${uPbhj r_oY6>vYxZNEE0B+p}snBU#E2Pk*NAa_D_AlaA5Fs^>bP0l+XkK%m$TP literal 0 HcmV?d00001 diff --git a/elepower_papi/machine.lua b/elepower_papi/machine.lua index c105778..b3a9289 100644 --- a/elepower_papi/machine.lua +++ b/elepower_papi/machine.lua @@ -74,7 +74,7 @@ local function allow_metadata_inventory_take(pos, listname, index, stack, player return stack:get_count() end -function metadata_inventory_changed(pos) +local function metadata_inventory_changed(pos) local t = minetest.get_node_timer(pos) if not t:is_started() then