diff --git a/elepower_dynamics/init.lua b/elepower_dynamics/init.lua index 0dee742..644d236 100644 --- a/elepower_dynamics/init.lua +++ b/elepower_dynamics/init.lua @@ -14,6 +14,7 @@ dofile(modpath.."/nodes.lua") dofile(modpath.."/liquids.lua") dofile(modpath.."/tanks.lua") dofile(modpath.."/dusts.lua") +dofile(modpath.."/plates.lua") dofile(modpath.."/gears.lua") dofile(modpath.."/worldgen.lua") dofile(modpath.."/crafting.lua") diff --git a/elepower_dynamics/plates.lua b/elepower_dynamics/plates.lua new file mode 100644 index 0000000..0332c7c --- /dev/null +++ b/elepower_dynamics/plates.lua @@ -0,0 +1,56 @@ + +------------ +-- Plates -- +------------ + +elepd.registered_plates = {} + +function elepd.register_plate(mat, data) + local mod = minetest.get_current_modname() + local itemname = mod..":"..mat.."_plate" + + data.item = itemname + elepd.registered_plates[mat] = data + + -- Make descriptions overridable + local description = data.description .. " Plate" + if data.force_description then + description = data.description + end + + minetest.register_craftitem(itemname, { + description = description, + inventory_image = "elepower_plate.png^[multiply:" .. data.color, + groups = { + ["plate_" .. mat] = 1, + plate = 1 + } + }) +end + +-- Default plate list +local plates = { + {"bronze", "Bronze", "#fa7b26"}, + {"copper", "Copper", "#fcb15f"}, + {"gold", "Gold", "#ffff47"}, + {"steel", "Steel", "#ffffff"}, + {"tin", "Tin", "#c1c1c1"}, + {"mithril", "Mithril", "#8686df"}, + {"silver", "Silver", "#d7e2e8"}, + {"lead", "Lead", "#aeaedc"}, + {"iron", "Iron", "#dddddd"}, + {"diamond", "Diamond", "#02c1e8"}, + {"nickel", "Nickel", "#d6d5ab"}, + {"invar", "Invar", "#9fa5b2"}, + {"electrum", "Electrum", "#ebeb90"}, + {"viridisium", "Viridisium", "#5b9751"}, + {"zinc", "Zinc", "#598a9e"}, +} + +for _,plate in ipairs(plates) do + elepd.register_plate(plate[1], { + description = plate[2], + color = plate[3], + force_description = plate[4], + }) +end diff --git a/elepower_dynamics/textures/elepower_plate.png b/elepower_dynamics/textures/elepower_plate.png new file mode 100644 index 0000000..cf05e8c Binary files /dev/null and b/elepower_dynamics/textures/elepower_plate.png differ diff --git a/elepower_machines/crafting.lua b/elepower_machines/crafting.lua index 626fae0..74c6b5e 100644 --- a/elepower_machines/crafting.lua +++ b/elepower_machines/crafting.lua @@ -160,6 +160,16 @@ local soldering_recipes = { recipe = { "elepower_dynamics:chip 8", "elepower_dynamics:integrated_circuit 2", "elepower_dynamics:capacitor 4" }, output = "elepower_dynamics:control_circuit", time = 20, + }, + { + recipe = { "elepower_dynamics:wound_copper_coil 4", "elepower_dynamics:wound_silver_coil 2", "elepower_dynamics:copper_wire" }, + output = "elepower_dynamics:induction_coil", + time = 16, + }, + { + recipe = { "elepower_dynamics:induction_coil 4", "elepower_dynamics:copper_wire", "elepower_dynamics:viridisium_dust 2" }, + output = "elepower_dynamics:induction_coil_advanced", + time = 18, } } diff --git a/elepower_nuclear/crafting.lua b/elepower_nuclear/crafting.lua index 653c7e6..435545b 100644 --- a/elepower_nuclear/crafting.lua +++ b/elepower_nuclear/crafting.lua @@ -19,6 +19,56 @@ minetest.register_craft({ } }) +-- Graphite Moderator +minetest.register_craft({ + output = "elepower_nuclear:graphite_moderator", + recipe = { + {"", "elepower_nuclear:graphite_rod", ""}, + {"elepower_nuclear:graphite_rod", "elepower_dynamics:graphite_ingot", "elepower_nuclear:graphite_rod"}, + {"", "elepower_nuclear:graphite_rod", ""}, + } +}) + +-- Reactor Controller +minetest.register_craft({ + output = "elepower_nuclear:fission_controller", + recipe = { + {"elepower_dynamics:wound_copper_coil", "elepower_nuclear:graphite_moderator", "elepower_dynamics:wound_copper_coil"}, + {"elepower_nuclear:graphite_moderator", "elepower_nuclear:machine_block", "elepower_nuclear:graphite_moderator"}, + {"elepower_dynamics:viridisium_gear", "elepower_nuclear:graphite_moderator", "elepower_dynamics:viridisium_gear"}, + } +}) + +-- Reactor Core +minetest.register_craft({ + output = "elepower_nuclear:fission_core", + recipe = { + {"elepower_dynamics:induction_coil_advanced", "elepower_dynamics:graphite_ingot", "elepower_dynamics:induction_coil_advanced"}, + {"elepower_nuclear:graphite_moderator", "elepower_nuclear:machine_block", "elepower_nuclear:graphite_moderator"}, + {"elepower_dynamics:viridisium_gear", "elepower_dynamics:copper_plate", "elepower_dynamics:viridisium_gear"}, + } +}) + +-- Reactor Fluid Port +minetest.register_craft({ + output = "elepower_nuclear:reactor_fluid_port", + recipe = { + {"elepower_dynamics:portable_tank", "elepower_dynamics:copper_plate", "elepower_dynamics:portable_tank"}, + {"elepower_nuclear:graphite_moderator", "elepower_nuclear:machine_block", "elepower_nuclear:graphite_moderator"}, + {"elepower_dynamics:viridisium_gear", "elepower_dynamics:copper_plate", "elepower_dynamics:viridisium_gear"}, + } +}) + +-- Heat Exchanger +minetest.register_craft({ + output = "elepower_nuclear:heat_exchanger", + recipe = { + {"elepower_dynamics:portable_tank", "elepower_dynamics:copper_plate", "elepower_dynamics:portable_tank"}, + {"elepower_dynamics:copper_plate", "elepower_nuclear:machine_block", "elepower_dynamics:copper_plate"}, + {"elepower_dynamics:portable_tank", "elepower_dynamics:copper_plate", "elepower_dynamics:portable_tank"}, + } +}) + elepm.register_craft({ type = "enrichment", output = { "elepower_nuclear:uranium_dust", "elepower_nuclear:depleted_uranium_dust 3"}, diff --git a/elepower_nuclear/craftitems.lua b/elepower_nuclear/craftitems.lua index b9e644f..554ecf2 100644 --- a/elepower_nuclear/craftitems.lua +++ b/elepower_nuclear/craftitems.lua @@ -65,3 +65,8 @@ minetest.register_craftitem("elepower_nuclear:graphite_rod", { description = "Graphite Rod", inventory_image = "elenuclear_graphite_rod.png" }) + +minetest.register_craftitem("elepower_nuclear:graphite_moderator", { + description = "Graphite Moderator", + inventory_image = "elenuclear_graphite_moderator.png" +}) diff --git a/elepower_nuclear/machines/heat_exchanger.lua b/elepower_nuclear/machines/heat_exchanger.lua index 320adc0..ad265a0 100644 --- a/elepower_nuclear/machines/heat_exchanger.lua +++ b/elepower_nuclear/machines/heat_exchanger.lua @@ -9,10 +9,8 @@ local function get_formspec(heat, cold, water, steam) "image[3.5,1;1,1;gui_furnace_arrow_bg.png^[transformR270]".. ele.formspec.fluid_bar(6, 0, water).. ele.formspec.fluid_bar(7, 0, steam).. - "list[context;dst;5,1;1,1;]".. "list[current_player;main;0,4.25;8,1;]".. "list[current_player;main;0,5.5;8,3;8]".. - "listring[context;dst]".. "listring[current_player;main]".. default.get_hotbar_bg(0, 4.25) end diff --git a/screenshot.png b/screenshot.png index 3a30807..6dde337 100644 Binary files a/screenshot.png and b/screenshot.png differ