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

Rework coal alloy furnace ABM a bit #400

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Rework coal alloy furnace ABM a bit #400

wants to merge 2 commits into from

Conversation

S-S-X
Copy link
Member

@S-S-X S-S-X commented Feb 9, 2025

Closes #398

For API technic.get_recipe(method, items) I'd rather leave it as is and not try to check every possible user mistake there but rather specify that arguments must be of correct type and contain correct information.

This old compatibility shim has been there for over 11 years already and now it has been removed.
Additionally we've already dropped some similar compatibility shims that were not even this old.

		if inv:get_size("src") == 1 then -- Old furnace -> convert it
			inv:set_size("src", 2)
			inv:set_stack("src", 2, inv:get_stack("src2", 1))
			inv:set_size("src2", 0)
		end

@S-S-X S-S-X added the Bug Something isn't working label Feb 9, 2025
Comment on lines -192 to 193
local fuel = nil
local afterfuel
local fuellist = inv:get_list("fuel")

if fuellist then
fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})
end
local fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})

if fuel.time <= 0 then
Copy link
Member Author

Choose a reason for hiding this comment

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

Kind of seems too simple to me, did I overlook something?

Reasoning: in case if fuellist expression fails then it would anyway crash on if fuel.time <= 0 so basically this shouldn't really affect outcome and is basically just cleanup.

I believe this should be fine and there's other issues unrelated to this change in case it actually crashes.

Copy link

github-actions bot commented Feb 9, 2025

Click for detailed source code test coverage report

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

File                             Hits Missed Coverage
-----------------------------------------------------
programs.lua                   263  0      100.00%
materials/technic_worldgen.lua 32   0      100.00%
materials/init.lua             14   0      100.00%
materials/default.lua          183  0      100.00%
materials/basic_materials.lua  17   0      100.00%
init.lua                       16   0      100.00%
digilines.lua                  55   0      100.00%
cnc.lua                        53   0      100.00%
formspec.lua                   104  7      93.69%
api.lua                        231  43     84.31%
pipeworks.lua                  25   13     65.79%
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 44.99% in 6/6 files:

File          Hits Missed Coverage
----------------------------------
chests.lua    102  18     85.00%
init.lua      34   18     65.38%
register.lua  85   78     52.15%
formspec.lua  76   94     44.71%
inventory.lua 11   110    9.09%
digilines.lua 2    61     3.17%

Test coverage report for technic 67.06% in 97/98 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     16   0      100.00%
machines/other/init.lua                   6    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/cables.lua                    40   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                   17   0      100.00%
machines/LV/generator.lua                 10   0      100.00%
machines/LV/electric_furnace.lua          16   0      100.00%
machines/LV/compressor.lua                21   0      100.00%
machines/LV/cables.lua                    41   0      100.00%
machines/LV/battery_box.lua               15   0      100.00%
machines/LV/alloy_furnace.lua             18   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/cables.lua                    39   0      100.00%
machines/HV/battery_box.lua               17   0      100.00%
legacy.lua                                33   0      100.00%
crafts.lua                                134  0      100.00%
machines/LV/led.lua                       80   1      98.77%
items.lua                                 113  2      98.26%
config.lua                                48   1      97.96%
machines/register/compressor_recipes.lua  41   1      97.62%
machines/register/grindings.lua           39   1      97.50%
materials.lua                             72   2      97.30%
machines/LV/geothermal.lua                82   3      96.47%
machines/register/solar_array.lua         48   2      96.00%
machines/LV/solar_panel.lua               44   2      95.65%
machines/network.lua                      403  21     95.05%
machines/register/alloy_recipes.lua       41   3      93.18%
tools/init.lua                            13   1      92.86%
init.lua                                  25   2      92.59%
machines/LV/water_mill.lua                73   6      92.41%
machines/register/cables.lua              109  9      92.37%
machines/compat/tools.lua                 61   6      91.04%
machines/register/recipes.lua             134  14     90.54%
machines/LV/lamp.lua                      131  17     88.51%
register.lua                              28   4      87.50%
machines/register/grinder_recipes.lua     109  16     87.20%
machines/register/battery_box.lua         252  54     82.35%
tools/flashlight.lua                      65   14     82.28%
util/throttle.lua                         9    2      81.82%
machines/init.lua                         38   9      80.85%
machines/LV/extractor.lua                 18   5      78.26%
radiation.lua                             279  81     77.50%
machines/register/machine_base.lua        171  51     77.03%
machines/power_monitor.lua                63   19     76.83%
machines/register/centrifuge_recipes.lua  23   7      76.67%
machines/other/coal_furnace.lua           3    1      75.00%
machines/switching_station.lua            84   32     72.41%
effects.lua                               5    2      71.43%
machines/overload.lua                     12   5      70.59%
machines/MV/wind_mill.lua                 52   22     70.27%
machines/supply_converter.lua             98   46     68.06%
machines/MV/hydro_turbine.lua             49   26     65.33%
machines/other/injector.lua               83   45     64.84%
machines/switching_station_globalstep.lua 28   16     63.64%
tools/multimeter.lua                      130  78     62.50%
machines/other/coal_alloy_furnace.lua     97   59     62.18%
machines/MV/tool_workshop.lua             67   43     60.91%
machines/register/generator.lua           127  83     60.48%
tools/cans.lua                            54   48     52.94%
machines/other/constructor.lua            84   77     52.17%
tools/mining_lasers.lua                   37   35     51.39%
machines/LV/music_player.lua              48   47     50.53%
machines/register/common.lua              64   70     47.76%
tools/tree_tap.lua                        25   30     45.45%
tools/vacuum.lua                          16   20     44.44%
machines/HV/forcefield.lua                111  158    41.26%
machines/HV/nuclear_reactor.lua           145  214    40.39%
helpers.lua                               62   98     38.75%
machines/HV/quarry.lua                    155  250    38.27%
tools/sonic_screwdriver.lua               17   33     34.00%
tools/chainsaw.lua                        40   81     33.06%
machines/compat/api.lua                   16   34     32.00%
chatcommands.lua                          19   45     29.69%
tools/mining_drill.lua                    66   195    25.29%
machines/other/anchor.lua                 16   74     17.78%
tools/prospector.lua                      15   100    13.04%
machines/register/extractor_recipes.lua   8    77     9.41%
machines/compat/digtron.lua               4    41     8.89%
mtt.lua                                   0    6      0.00%

Raw test runner output for geeks:

CNC:

++ Executing suite spec/api_spec.lua
++ Executing suite spec/digilines_spec.lua
++ Executing suite spec/interaction_spec.lua
++ Executing suite spec/technic_cnc_spec.lua⭆ Starting test set technic_cnc_spec.lua:17 ⯈ Technic CNC
W:	Unsupported registration overrides detected for core.registered_on_mods_loaded

31 successes / 0 failures / 0 errors / 0 pending : 12.430347 seconds

Chests:

++ Executing suite spec/api_spec.lua
W:	Configuration: invalid key	exclude_textures

5 successes / 0 failures / 0 errors / 0 pending : 0.300635 seconds

Technic:

++ Executing suite spec/api_spec.lua◌◌⭆ Starting test set api_spec.lua:204 ⯈ Technic API Machine use
W:	Unsupported registration overrides detected for core.registered_on_mods_loaded
◌
++ Executing suite spec/building_spec.lua
++ Executing suite spec/hv_network_spec.lua⭆ Starting test set hv_network_spec.lua:11 ⯈ HV machine network
W:	Unsupported registration overrides detected for core.registered_on_mods_loaded

++ Executing suite spec/lv_network_spec.lua⭆ Starting test set lv_network_spec.lua:11 ⯈ LV machine network
W:	Unsupported registration overrides detected for core.registered_on_mods_loaded

++ Executing suite spec/network_spec.lua
++ Executing suite spec/nodes_spec.lua⭆ Starting test set nodes_spec.lua:11 ⯈ Technic node placement
W:	Unsupported registration overrides detected for core.registered_on_mods_loaded

++ Executing suite spec/supply_converter_spec.lua◌
++ Executing suite spec/tools_compatibility_spec.lua⭆ Starting test set tools_compatibility_spec.lua:11 ⯈ Technic power tool compatibility
W:	Deprecated technic.register_power_tool use. Setting max_charge for oldlegacy:powertool
W:	Deprecated technic.register_power_tool use. Setting max_charge for oldminimal:powertool
W:	Deprecated technic.register_power_tool use. Setting max_charge for oldhalfway:powertool
W:	Unsupported registration overrides detected for core.registered_on_mods_loaded
W:	Deprecated technic.register_power_tool use. Ensuring fields for oldlegacy:powertool
W:	Using metadata charge values for oldlegacy:powertool
W:	Updated legacy Technic power tool definition for oldlegacy:powertool
W:	Deprecated technic.register_power_tool use. Ensuring fields for oldminimal:powertool
W:	Using metadata charge values for oldminimal:powertool
W:	Updated legacy Technic power tool definition for oldminimal:powertool
W:	Deprecated technic.register_power_tool use. Ensuring fields for oldhalfway:powertool
W:	Mod oldhalfway seems to be aware of technic.plus but oldhalfway:powertool is still using deprecated registration, skipping meta charge compatibility.
W:	Updated legacy Technic power tool definition for oldhalfway:powertool
🢆 Running tests from tools_compatibility_spec.lua:92 ▷ Technic power tool compatibility oldlegacy:powertool can be used (minimum charge)
W:	Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool
🢆 Running tests from tools_compatibility_spec.lua:106 ▷ Technic power tool compatibility oldlegacy:powertool can be used (minimum charge + 1)
W:	Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool
🢆 Running tests from tools_compatibility_spec.lua:92 ▷ Technic power tool compatibility oldminimal:powertool can be used (minimum charge)
W:	Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool
🢆 Running tests from tools_compatibility_spec.lua:106 ▷ Technic power tool compatibility oldminimal:powertool can be used (minimum charge + 1)
W:	Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool

++ Executing suite spec/tools_spec.lua⭆ Starting test set tools_spec.lua:13 ⯈ Technic power tool
W:	Unsupported registration overrides detected for core.registered_on_mods_loaded

219 successes / 0 failures / 0 errors / 4 pending : 83.518696 seconds

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

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

Pending → spec/api_spec.lua @ 285
Technic API internals technic.cables TBD, misleading name and should be updated
spec/api_spec.lua:285: 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

recipes.lua:62: bad argument #1 to 'ipairs' (table expected, got nil)
1 participant