Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recipe enhancements #311

Merged
merged 8 commits into from
Jun 27, 2023
Merged

Recipe enhancements #311

merged 8 commits into from
Jun 27, 2023

Conversation

OgelGames
Copy link
Contributor

@OgelGames OgelGames commented Jun 24, 2023

A few minor, but much needed recipe enhancements:

  • Adds centrifuge recipes to the supported craft guides by adding each output separately. This way you can at least find out what can be obtained by centrifuging. Also works for any other recipe type with multiple outputs.
  • Adds support for hiding individual recipes. This is useful when there are multiple similar variations. (e.g. beehive centrifuging)
  • Adds icons for recipe types in unified_inventory. Purely cosmetic.
  • Removes the weird and expensive carbon steel to cast iron alloying recipes. The recipes don't make sense and a few players have complained about this.

Example of chernobylite dust centrifuging recipe:

image

image

@S-S-X
Copy link
Member

S-S-X commented Jun 27, 2023

Does not have to be changed here but any alloying recipe, that currently results in dust, should be updated to give ingots instead. It just makes sense to return only ingots from smelting and never dust piles.

local result = data.output
if (type(result)=="table") then
result = result[1]
if data.hidden then return end
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good if this return in the middle of function can be refactored to not be here.

Pretty sure this function should be split into two for readability, everything below this line would probably be better split into another local function.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know, seems unnecessary to split it, even for readability. I think I'll just leave it for now, it can be refactored later when group support is added.

Copy link
Member

@S-S-X S-S-X left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but didn't test.

That return in the middle without logging isn't big thing, at least not yet, so works for me even if it stays.

@OgelGames
Copy link
Contributor Author

I changed the dust alloy recipes to output ingots, but I just thought, won't it break automated setups?

@github-actions
Copy link

Click for detailed source code test coverage report

Test coverage report for Technic CNC 87.36% in 11/14 files:

File                             Hits Missed Coverage
-----------------------------------------------------
programs.lua                   263  0      100.00%25%0Amaterials/technic_worldgen.lua 32   0      100.00%25%0Amaterials/init.lua             14   0      100.00%25%0Amaterials/default.lua          183  0      100.00%25%0Amaterials/basic_materials.lua  17   0      100.00%25%0Ainit.lua                       16   0      100.00%25%0Adigilines.lua                  55   0      100.00%25%0Acnc.lua                        53   0      100.00%25%0Aformspec.lua                   104  7      93.69%25%0Aapi.lua                        219  43     83.59%25%0Apipeworks.lua                  25   13     65.79%25%0Amaterials/moreblocks.lua       0    29     0.00%25%0Amaterials/ethereal.lua         0    37     0.00%25%0Amaterials/bakedclay.lua        0    13     0.00%25

Test coverage report for technic chests 45.49% in 6/6 files:

File          Hits Missed Coverage
----------------------------------
chests.lua    102  18     85.00%25%0Ainit.lua      34   18     65.38%25%0Aregister.lua  84   78     51.85%25%0Aformspec.lua  76   94     44.71%25%0Ainventory.lua 10   100    9.09%25%0Adigilines.lua 2    61     3.17%25

Test coverage report for technic 66.35% in 96/96 files:

File                                      Hits Missed Coverage
--------------------------------------------------------------
max_lag.lua                               12   0      100.00%25%0Amachines/register/init.lua                15   0      100.00%25%0Amachines/register/freezer_recipes.lua     15   0      100.00%25%0Amachines/other/init.lua                   6    0      100.00%25%0Amachines/MV/solar_array.lua               12   0      100.00%25%0Amachines/MV/init.lua                      17   0      100.00%25%0Amachines/MV/grinder.lua                   17   0      100.00%25%0Amachines/MV/generator.lua                 9    0      100.00%25%0Amachines/MV/freezer.lua                   17   0      100.00%25%0Amachines/MV/extractor.lua                 17   0      100.00%25%0Amachines/MV/electric_furnace.lua          17   0      100.00%25%0Amachines/MV/compressor.lua                17   0      100.00%25%0Amachines/MV/centrifuge.lua                17   0      100.00%25%0Amachines/MV/cables.lua                    40   0      100.00%25%0Amachines/MV/battery_box.lua               17   0      100.00%25%0Amachines/MV/alloy_furnace.lua             19   0      100.00%25%0Amachines/LV/solar_array.lua               11   0      100.00%25%0Amachines/LV/init.lua                      17   0      100.00%25%0Amachines/LV/grinder.lua                   16   0      100.00%25%0Amachines/LV/generator.lua                 9    0      100.00%25%0Amachines/LV/electric_furnace.lua          15   0      100.00%25%0Amachines/LV/compressor.lua                20   0      100.00%25%0Amachines/LV/cables.lua                    40   0      100.00%25%0Amachines/LV/battery_box.lua               15   0      100.00%25%0Amachines/LV/alloy_furnace.lua             17   0      100.00%25%0Amachines/HV/solar_array.lua               11   0      100.00%25%0Amachines/HV/init.lua                      12   0      100.00%25%0Amachines/HV/grinder.lua                   17   0      100.00%25%0Amachines/HV/generator.lua                 9    0      100.00%25%0Amachines/HV/electric_furnace.lua          17   0      100.00%25%0Amachines/HV/compressor.lua                17   0      100.00%25%0Amachines/HV/cables.lua                    39   0      100.00%25%0Amachines/HV/battery_box.lua               17   0      100.00%25%0Alegacy.lua                                33   0      100.00%25%0Acrafts.lua                                133  0      100.00%25%0Amachines/LV/led.lua                       73   1      98.65%25%0Aitems.lua                                 107  2      98.17%25%0Aconfig.lua                                49   1      98.00%25%0Amachines/register/compressor_recipes.lua  38   1      97.44%25%0Amachines/LV/geothermal.lua                75   3      96.15%25%0Amachines/register/solar_array.lua         46   2      95.83%25%0Amachines/LV/solar_panel.lua               42   2      95.45%25%0Ainit.lua                                  21   1      95.45%25%0Amachines/network.lua                      403  21     95.05%25%0Atools/init.lua                            13   1      92.86%25%0Amachines/register/alloy_recipes.lua       39   3      92.86%25%0Amachines/register/cables.lua              97   8      92.38%25%0Amachines/LV/water_mill.lua                67   6      91.78%25%0Amachines/compat/tools.lua                 58   6      90.62%25%0Amachines/register/grindings.lua           42   5      89.36%25%0Amachines/LV/lamp.lua                      124  17     87.94%25%0Aregister.lua                              28   4      87.50%25%0Amachines/register/grinder_recipes.lua     108  16     87.10%25%0Amachines/register/recipes.lua             68   12     85.00%25%0Amachines/register/battery_box.lua         239  43     84.75%25%0Atools/flashlight.lua                      64   13     83.12%25%0Autil/throttle.lua                         9    2      81.82%25%0Amachines/init.lua                         38   9      80.85%25%0Amachines/register/machine_base.lua        165  41     80.10%25%0Amachines/LV/extractor.lua                 18   5      78.26%25%0Aradiation.lua                             271  80     77.21%25%0Amachines/register/centrifuge_recipes.lua  22   7      75.86%25%0Amachines/power_monitor.lua                59   19     75.64%25%0Amachines/switching_station.lua            80   32     71.43%25%0Aeffects.lua                               5    2      71.43%25%0Amachines/overload.lua                     12   5      70.59%25%0Amachines/MV/wind_mill.lua                 46   22     67.65%25%0Amachines/supply_converter.lua             95   46     67.38%25%0Amachines/other/coal_furnace.lua           2    1      66.67%25%0Amachines/other/injector.lua               72   39     64.86%25%0Amachines/switching_station_globalstep.lua 28   16     63.64%25%0Atools/multimeter.lua                      130  78     62.50%25%0Amachines/MV/hydro_turbine.lua             43   26     62.32%25%0Amachines/MV/tool_workshop.lua             56   34     62.22%25%0Amachines/other/coal_alloy_furnace.lua     80   49     62.02%25%0Amachines/register/generator.lua           122  88     58.10%25%0Atools/cans.lua                            53   48     52.48%25%0Atools/mining_lasers.lua                   36   35     50.70%25%0Amachines/other/constructor.lua            67   69     49.26%25%0Amachines/LV/music_player.lua              44   46     48.89%25%0Atools/tree_tap.lua                        24   27     47.06%25%0Atools/vacuum.lua                          16   20     44.44%25%0Amachines/register/common.lua              50   64     43.86%25%0Amachines/HV/forcefield.lua                103  157    39.62%25%0Amachines/HV/quarry.lua                    132  202    39.52%25%0Amachines/HV/nuclear_reactor.lua           119  206    36.62%25%0Ahelpers.lua                               54   99     35.29%25%0Atools/sonic_screwdriver.lua               16   33     32.65%25%0Amachines/compat/api.lua                   16   34     32.00%25%0Atools/chainsaw.lua                        37   80     31.62%25%0Achatcommands.lua                          19   45     29.69%25%0Atools/mining_drill.lua                    65   195    25.00%25%0Amachines/other/anchor.lua                 14   74     15.91%25%0Atools/prospector.lua                      14   100    12.28%25%0Amachines/register/extractor_recipes.lua   8    77     9.41%25%0Amachines/compat/digtron.lua               4    41     8.89%25

Raw test runner output for geeks:

CNC:

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●%0A31 successes / 0 failures / 0 errors / 0 pending : 4.18722 seconds

Chests:

W:	Configuration: invalid key	exclude_textures%0A●●●●●%0A5 successes / 0 failures / 0 errors / 0 pending : 0.259433 seconds

Technic:

Created new `core` directory for libraries: /home/runner/.luarocks/share/lua/5.1/mineunit/core%0A%0AEngine 5.4.1 libraries downloaded to /home/runner/.luarocks/share/lua/5.1/mineunit/core/5.4.1%0AE:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●◌◌●●●◌E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●●●●●E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●●●●●●●E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●●●●●●●●●●●●●●●●●●E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●●●●●◌●●●●●E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0AW:	Deprecated technic.register_power_tool use. Setting max_charge for oldlegacy:powertool%0AW:	Deprecated technic.register_power_tool use. Setting max_charge for oldminimal:powertool%0AW:	Deprecated technic.register_power_tool use. Setting max_charge for oldhalfway:powertool%0AW:	Deprecated technic.register_power_tool use. Ensuring fields for oldlegacy:powertool%0AW:	Using metadata charge values for oldlegacy:powertool%0AW:	Updated legacy Technic power tool definition for oldlegacy:powertool%0AW:	Deprecated technic.register_power_tool use. Ensuring fields for oldminimal:powertool%0AW:	Using metadata charge values for oldminimal:powertool%0AW:	Updated legacy Technic power tool definition for oldminimal:powertool%0AW:	Deprecated technic.register_power_tool use. Ensuring fields for oldhalfway:powertool%0AW:	Mod oldhalfway seems to be aware of technic.plus but oldhalfway:powertool is still using deprecated registration, skipping meta charge compatibility.%0AW:	Updated legacy Technic power tool definition for oldhalfway:powertool%0A●●●●W:	Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool%0A●W:	Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool%0A●●●●●●●W:	Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool%0A●W:	Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool%0A●●●●●●●●●●●E:	Loading common/fs from 5.4.1 failed, trying to use builtin%0A●●●●●●●●●●●●●●●●●●●●●●%0A218 successes / 0 failures / 0 errors / 4 pending : 93.660157 seconds%0A%0APending → spec/api_spec.lua @ 133%0ATechnic API Machine registration registers my_mod:my_battery%0Aspec/api_spec.lua:133: Battery box registration does not include all fields%0A%0APending → spec/api_spec.lua @ 190%0ATechnic API Machine registration registers my_mod:machine_base%0Aspec/api_spec.lua:190: Base machine registration does not include all fields%0A%0APending → spec/api_spec.lua @ 285%0ATechnic API internals technic.cables TBD, misleading name and should be updated%0Aspec/api_spec.lua:285: TBD technic.cables naming and need, see technic networks data for possible options%0A%0APending → spec/supply_converter_spec.lua @ 78%0ASupply converter building overloads network%0Aspec/supply_converter_spec.lua:78: overload does not work with supply converter

@S-S-X
Copy link
Member

S-S-X commented Jun 27, 2023

I changed the dust alloy recipes to output ingots, but I just thought, won't it break automated setups?

It is possible but I think it is unlikely, what I've seen so far ppl usually seem to be feeding ingots to furnaces and that's probably because ingots are also better for storage (as a blocks) + because of being consistent with primary guide recipes.

While it can break setups I don't think it breaks that many setups and I'd say it is so inconsistent anyway that when it breaks some automated setup then that setup should be fixed instead of trying to protect it here.

While being backward compatible is generally nice thing, still going too far with protecting existing stuff isn't good for development.

Going to be beta release anyway 😁

@OgelGames
Copy link
Contributor Author

Ah, true. I didn't think of that.

While being backward compatible is generally nice thing, still going too far with protecting existing stuff isn't good for development.

Agreed 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants