Skip to content

Refactoring and fixing wrench registrations #242

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

Merged
merged 4 commits into from
Nov 15, 2021
Merged

Conversation

S-S-X
Copy link
Member

@S-S-X S-S-X commented Nov 14, 2021

What changed

  • Removed hard dependency to minetest_game / default. (also link to opt-depend on default #214)
  • Fixed and cleaned up technic machine and chest registrations.
  • Assertions for registration to catch possible dev errors.
  • Logging for registration if registering nodes that do not exist.
  • Does not add but allows easier adding rest of fields for mithril chest for example.

New registered, seems fine to me

  • technic:copper_protected_chest
  • technic:gold_protected_chest
  • technic:gold_protected_chest_black
  • technic:gold_protected_chest_blue
  • technic:gold_protected_chest_brown
  • technic:gold_protected_chest_cyan
  • technic:gold_protected_chest_dark_green
  • technic:gold_protected_chest_dark_grey
  • technic:gold_protected_chest_green
  • technic:gold_protected_chest_grey
  • technic:gold_protected_chest_magenta
  • technic:gold_protected_chest_orange
  • technic:gold_protected_chest_pink
  • technic:gold_protected_chest_red
  • technic:gold_protected_chest_violet
  • technic:gold_protected_chest_white
  • technic:gold_protected_chest_yellow
  • technic:hv_compressor
  • technic:hv_compressor_active
  • technic:hv_electric_furnace
  • technic:hv_electric_furnace_active
  • technic:hv_grinder
  • technic:hv_grinder_active
  • technic:iron_protected_chest
  • technic:lv_alloy_furnace
  • technic:lv_alloy_furnace_active
  • technic:lv_compressor
  • technic:lv_compressor_active
  • technic:lv_extractor
  • technic:lv_extractor_active
  • technic:lv_grinder
  • technic:lv_grinder_active
  • technic:mithril_protected_chest
  • technic:silver_protected_chest

Not registered anymore, seems fine to me

  • technic:alloy_furnace
  • technic:alloy_furnace_active
  • technic:compressor
  • technic:compressor_active
  • technic:extractor
  • technic:extractor_active
  • technic:grinder
  • technic:grinder_active

Changes, seems legit to me:

106 successes / 2 failures / 0 errors / 0 pending : 0.019801 seconds

Failure → spec/init_spec.lua @ 52
Wrench registered nodes Registration changed technic:iron_chest
spec/init_spec.lua:41: Expected objects to be the same.
Passed in:
(table: 0x562765e11870) {
  [lists] = {
    [1] = 'main' }
 *[metas] = {
    [infotext] = 2 } }
Expected:
(table: 0x562765defd60) {
  [lists] = {
    [1] = 'main' } }

Failure → spec/init_spec.lua @ 52
Wrench registered nodes Registration changed technic:copper_chest
spec/init_spec.lua:41: Expected objects to be the same.
Passed in:
(table: 0x562765e1a9c0) {
  [lists] = {
    [1] = 'main' }
 *[metas] = {
    [infotext] = 2 } }
Expected:
(table: 0x562765df67e0) {
  [lists] = {
    [1] = 'main' } }

Additional updates merged from #243:

Adds support for:

  • technic:cnc_mk2
  • technic:cnc_mk2_active
  • technic:mv_freezer
  • technic:mv_freezer_active

Better support for:

  • All technic_chests
  • CNC Machine (updated fields)

Also technic_cnc being separate mod was moved to separate file nodes/technic_cnc.lua

@S-S-X S-S-X added Enhancement New feature or request Cleanup Cleanup of bad code or other redundant/unnecessary stuff labels Nov 14, 2021
@S-S-X S-S-X mentioned this pull request Nov 14, 2021
@S-S-X
Copy link
Member Author

S-S-X commented Nov 15, 2021

This PR wont magically fix wrench, it just makes it work bit better...

@OgelGames
Copy link
Contributor

OgelGames commented Nov 15, 2021

This PR wont magically fix wrench, it just makes it work bit better...

Yeah, I already started doing that... Doesn't effect the node registrations though, those will get aliases anyway.

@S-S-X
Copy link
Member Author

S-S-X commented Nov 15, 2021

This PR wont magically fix wrench, it just makes it work bit better...

Yeah, I already started doing that... Doesn't effect the node registrations though, those will get aliases anyway.

Btw, some aliases are not exactly good and should be cleaned up everywhere... See technic:grinder for example.

@github-actions
Copy link

Click for detailed source code test coverage report

Test coverage report for Technic CNC 79.01% in 10/14 files:

File                             Hits Missed Coverage
-----------------------------------------------------
programs.lua                   263  0      100.00%
materials/basic_materials.lua  17   0      100.00%
materials/default.lua          177  4      97.79%
cnc.lua                        50   3      94.34%
materials/init.lua             13   1      92.86%
formspec.lua                   103  8      92.79%
digilines.lua                  39   8      82.98%
init.lua                       19   6      76.00%
api.lua                        160  83     65.84%
pipeworks.lua                  25   13     65.79%
materials/technic_worldgen.lua 0    25     0.00%
materials/moreblocks.lua       0    29     0.00%
materials/ethereal.lua         0    37     0.00%
materials/bakedclay.lua        0    13     0.00%

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

File          Hits Missed Coverage
----------------------------------
chests.lua    98   18     84.48%
init.lua      34   18     65.38%
register.lua  84   78     51.85%
formspec.lua  76   93     44.97%
inventory.lua 10   100    9.09%
digilines.lua 2    61     3.17%

Test coverage report for technic 65.26% in 111/111 files:

File                                      Hits Missed Coverage
--------------------------------------------------------------
max_lag.lua                                   12   0      100.00%
machines/register/init.lua                    15   0      100.00%
machines/register/freezer_recipes.lua         13   0      100.00%
machines/other/init.lua                       8    0      100.00%
machines/MV/solar_array.lua                   12   0      100.00%
machines/MV/init.lua                          17   0      100.00%
machines/MV/grinder.lua                       17   0      100.00%
machines/MV/generator.lua                     9    0      100.00%
machines/MV/freezer.lua                       17   0      100.00%
machines/MV/extractor.lua                     17   0      100.00%
machines/MV/electric_furnace.lua              17   0      100.00%
machines/MV/compressor.lua                    17   0      100.00%
machines/MV/centrifuge.lua                    17   0      100.00%
machines/MV/battery_box.lua                   17   0      100.00%
machines/MV/alloy_furnace.lua                 19   0      100.00%
machines/LV/solar_array.lua                   11   0      100.00%
machines/LV/init.lua                          17   0      100.00%
machines/LV/grinder.lua                       16   0      100.00%
machines/LV/generator.lua                     9    0      100.00%
machines/LV/electric_furnace.lua              15   0      100.00%
machines/LV/compressor.lua                    20   0      100.00%
machines/LV/battery_box.lua                   15   0      100.00%
machines/LV/alloy_furnace.lua                 17   0      100.00%
machines/HV/solar_array.lua                   11   0      100.00%
machines/HV/init.lua                          12   0      100.00%
machines/HV/grinder.lua                       17   0      100.00%
machines/HV/generator.lua                     9    0      100.00%
machines/HV/electric_furnace.lua              17   0      100.00%
machines/HV/compressor.lua                    17   0      100.00%
machines/HV/battery_box.lua                   17   0      100.00%
legacy.lua                                    33   0      100.00%
items.lua                                     128  0      100.00%
crafts.lua                                    133  0      100.00%
../technic_worldgen/nodes.lua                 109  0      100.00%
../technic_worldgen/crafts.lua                103  0      100.00%
../technic_worldgen/config.lua                9    0      100.00%
../technic_cnc/programs.lua                   263  0      100.00%
../technic_cnc/materials/technic_worldgen.lua 32   0      100.00%
../technic_cnc/materials/init.lua             14   0      100.00%
../technic_cnc/materials/basic_materials.lua  17   0      100.00%
machines/LV/led.lua                           73   1      98.65%
../technic_cnc/materials/default.lua          178  4      97.80%
machines/register/cables.lua                  174  4      97.75%
machines/register/compressor_recipes.lua      36   1      97.30%
machines/LV/geothermal.lua                    75   3      96.15%
config.lua                                    49   2      96.08%
machines/register/solar_array.lua             46   2      95.83%
machines/LV/solar_panel.lua                   42   2      95.45%
../technic_cnc/cnc.lua                        50   3      94.34%
tools/init.lua                                13   1      92.86%
machines/network.lua                          327  27     92.37%
machines/LV/water_mill.lua                    67   6      91.78%
machines/register/grindings.lua               42   5      89.36%
machines/LV/lamp.lua                          110  14     88.71%
../technic_worldgen/overrides.lua             39   5      88.64%
machines/MV/cables.lua                        29   4      87.88%
machines/LV/cables.lua                        29   4      87.88%
init.lua                                      29   4      87.88%
machines/HV/cables.lua                        28   4      87.50%
machines/register/grinder_recipes.lua         106  16     86.89%
../technic_worldgen/rubber.lua                64   10     86.49%
../technic_worldgen/init.lua                  19   3      86.36%
../technic_worldgen/oregen.lua                155  28     84.70%
util/throttle.lua                             9    2      81.82%
machines/register/machine_base.lua            165  41     80.10%
../technic_cnc/formspec.lua                   88   23     79.28%
machines/LV/extractor.lua                     18   5      78.26%
../technic_cnc/init.lua                       19   6      76.00%
machines/register/recipes.lua                 62   20     75.61%
tools/flashlight.lua                          65   21     75.58%
machines/switching_station.lua                76   25     75.25%
machines/register/battery_box.lua             222  73     75.25%
machines/register/centrifuge_recipes.lua      21   7      75.00%
radiation.lua                                 262  88     74.86%
../technic_cnc/api.lua                        194  66     74.62%
effects.lua                                   5    2      71.43%
machines/MV/wind_mill.lua                     46   22     67.65%
machines/other/coal_furnace.lua               2    1      66.67%
machines/supply_converter.lua                 93   48     65.96%
../technic_cnc/pipeworks.lua                  25   13     65.79%
machines/switching_station_globalstep.lua     40   21     65.57%
machines/register/alloy_recipes.lua           28   15     65.12%
machines/other/injector.lua                   72   39     64.86%
machines/MV/hydro_turbine.lua                 43   26     62.32%
machines/MV/tool_workshop.lua                 56   34     62.22%
machines/register/generator.lua               122  88     58.10%
register.lua                                  21   19     52.50%
tools/cans.lua                                53   48     52.48%
machines/power_monitor.lua                    40   38     51.28%
machines/init.lua                             55   54     50.46%
machines/other/coal_alloy_furnace.lua         63   63     50.00%
machines/LV/music_player.lua                  46   46     50.00%
tools/mining_lasers.lua                       39   40     49.37%
machines/other/constructor.lua                67   69     49.26%
tools/vacuum.lua                              19   21     47.50%
tools/tree_tap.lua                            24   27     47.06%
machines/HV/forcefield.lua                    101  157    39.15%
machines/HV/quarry.lua                        124  217    36.36%
machines/HV/nuclear_reactor.lua               116  208    35.80%
machines/register/common.lua                  39   75     34.21%
tools/chainsaw.lua                            40   83     32.52%
tools/multimeter.lua                          71   149    32.27%
machines/compat/api.lua                       16   34     32.00%
tools/sonic_screwdriver.lua                   18   40     31.03%
machines/other/frames.lua                     184  445    29.25%
helpers.lua                                   38   100    27.54%
tools/mining_drill.lua                        76   226    25.17%
machines/other/anchor.lua                     14   74     15.91%
machines/compat/digtron.lua                   2    11     15.38%
tools/prospector.lua                          16   92     14.81%
machines/register/extractor_recipes.lua       6    65     8.45%

Raw test runner output for geeks:

CNC:

●●●●●●●●●●●●●●●●●●●●●●
22 successes / 0 failures / 0 errors / 0 pending : 0.208222 seconds

Chests:

W:	Configuration: invalid key	exclude_textures
W:	Configuration: invalid key	validate_textures
●●●●●
5 successes / 0 failures / 0 errors / 0 pending : 0.042527 seconds

Technic:

●◌◌●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●
174 successes / 0 failures / 0 errors / 4 pending : 8.577173 seconds

Pending → spec/api_spec.lua @ 132
Technic API Machine registration registers my_mod:my_battery
spec/api_spec.lua:132: Battery box registration does not include all fields

Pending → spec/api_spec.lua @ 189
Technic API Machine registration registers my_mod:machine_base
spec/api_spec.lua:189: Base machine registration does not include all fields

Pending → spec/api_spec.lua @ 284
Technic API internals technic.cables TBD, misleading name and should be updated
spec/api_spec.lua:284: TBD technic.cables naming and need, see technic networks data for possible options

Pending → spec/supply_converter_spec.lua @ 78
Supply converter building overloads network
spec/supply_converter_spec.lua:78: overload does not work with supply converter

@S-S-X
Copy link
Member Author

S-S-X commented Nov 15, 2021

Unless someone has good reason to not merge this one I'll be merging this soon, still kinda no brainer even while some of node definition changes were added on top of refactoring those are just chests from #243 and those signs from mt game.
Well yes there's assertions added for API but if those get triggered it already means that definition was completely wrong.

@BuckarooBanzay
Copy link
Member

Unless someone has good reason to not merge this one I'll be merging this soon

@OgelGames
Copy link
Contributor

I also want this merged so I can continue working on my changes 👍

@OgelGames OgelGames merged commit b283cc6 into master Nov 15, 2021
@OgelGames OgelGames deleted the wrench-refactor branch November 25, 2021 03:54
@Athozus Athozus added this to the 2.0.0 milestone Apr 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cleanup Cleanup of bad code or other redundant/unnecessary stuff Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants