Thermal Solar Power (Lite)


Streamlined fork of Thermal Solar Power by MarximusMaximus and others. Contains the basic thermal solar panel (+ large version for better performance), heat exchanger & heat pipe. A new heat loss mechanism has been added, along with various features, visual updates, settings and new mod compat. The mod is carefully balanced for vanilla, but can be configured.

Content
17 hours ago
1.1 - 2.0
2.25K
Fluids Power

Changelog

Version: 2.1.2
Date: 2024-11-04
  Changes:
    - Now uses a (possibly better) targeted function for removing entities from the storage table
      when their surface is cleared/destroyed, instead of triggering a complete reset. Seems like
      a relevant update for the Space Age DLC, where space platforms can be deleted.
    - Combined a few script functions, modularity not needed. Became easier to read instead.
    - Cleaned up console commands, improved descriptions. Removed most of the info from the 'info'
      command for now, since it needs fixing.
    - Fixed punctuation error in chinese translation.
    - Tidied up, fixed a bit of formatting in general.
    - Fixed changelog for v2.1.1.
  Bugfixes:
    - Replaced the event parameter 'created_entity' (obsolete in Factorio 2.0.7) with 'entity'.
      Actually caused no issues, since it was skipped as part of an 'or' statement.
Version: 2.1.1
Date: 2024-11-03
  Bugfixes:
    - (Hopefully) fixed issue with thermal panels not working on platforms in the Space Age DLC.
      (Theory: Built/pre-mined events needed by script not registered on platforms.)
Version: 2.1.0
Date: 2024-11-03
  Changes:
    - Balanced all recipes for Factorio 2.0! Generally cheaper as a result.
Version: 2.0.2
Date: 2024-11-02
  Changes:
    - Added simplified chinese translation, contributed by user Houraiji_Kyuusyou. Many thanks!
    - Added missing delimiters to all numbers in all translations.
    - Tidied up a bit.
Version: 2.0.1
Date: 2024-11-02
  Changes:
    - Removed tech reset script, tested and confirmed to no longer be needed in Factorio 2.0.7.
      (Modding: "Reset technology effects is automatically run when technology unlocks change.")
    - Set "base >= 2.0.7" as dependency in info.json.
Version: 2.0.0
Date: 2024-10-25
  Changes:
    - Increased version number to 2.0.0, updated for Factorio 2.0. Won't work with older versions!
    - Fixed references so they match the new prototype property trees.
    - Replaced the obsolete 'global' with 'storage' in all control scripts.
    - Made sure that no files using mods['mod_name'] will be required by control.lua, otherwise
      game will crash on loading a world in 2.0.
    - Disabled almost all mod compatibility options, since the mods have not been updated for 2.0.
    - Removed all low resolution assets that are no longer useful.
    - Updated translations.
    - Tidied up a bit.
Version: 1.4.1
Date: 2024-09-04
  Changes:
    - Fantario compat: Moved tech to an earlier stage before Steel Processing, since none of the
      recipes use steel. Lowered cost to somewhat match Automation 2 in the same tier.
Version: 1.4.0
Date: 2024-09-03
  Changes:
    - Provided compatibility option for Fantario: Hides Basic Heat Pipe, adapts recipes, unlockable
      right after Fluid Handling, unlocks pipes and underground pipes as well, just in case.
  Bugfixes:
    - Basic Heat Pipe: Corrected wrong address for a value, heat transfer rate should now be 500MW.
Version: 1.3.5
Date: 2024-09-02
  Changes:
    - Tidied up in general, improved explanations to code, restructured code for console commands.
Version: 1.3.4
Date: 2024-08-29
  Changes:
    - Replaced adaptation for Sea Block with one specifically for Bob's Power, thereby expanding
      compatibility. Recipes were kept the same.
    - Simplified some control scripts, reorganized some code.
    - Made it easier to change mod name by referring to one variable in shared.lua.
    - No longer resets panels on configuration changed, nor attempts to create the global table for
      them on entity built, not needed.
    - Double-checked that renamed personal forks of the mod work without issue. Removed readme.txt
      with note on resetting, no longer needed.
    - Replaced MIT-license markdown document with simple text file, now mentioned in info.json too.
    - Made small change to a description in settings.
Version: 1.3.3
Date: 2024-05-25
  Bugfixes:
    - Finally made thermal panels work across several surfaces, fixing the global table reset
      function as well (including the command "/tspl reset").
    - Console: Made a search function properly count all thermal panels on all surfaces.
      Makes the "/tspl check" command display the right information.
  Changes:
    - Removed a now unneeded table merging function.
    - Removed some unneeded/unhelpful checks and restructured some scripts at the same time.
    - Fixed changelog for v1.3.2.
Version: 1.3.2
Date: 2024-05-24
  Bugfixes:
    - Attempted to make a search function properly append entities found on all surfaces to the
      same table. Meant to fix an issue with thermal panels and the reset function not working when
      several surfaces exist. (Did not work!)
  Changes:
    - Changed search method for a console command.
    - Added in a hidden command for testing.
Version: 1.3.1
Date: 2024-05-23
  Balancing:
    - Thermal Solar Panels: Doubled heat transfer rate.
  Bugfixes:
    - Now resets thermal panel global table on mod initialization as well, to prevent issues with 
      creating a personal fork in the middle of a playthrough. ("/tspl reset" command may still be
      needed if mod is simply modified.)
  Changes:
    - Tidied up use of variables for console commands.
    - Slightly increased saturation of console command colors.
Version: 1.3.0
Date: 2024-05-22
  Features:
    - Basic Heat Exchanger: Made target temperature configurable in the range of 100-500°C.
    - Added basic compatibility with Pyanodon (was a bit hard, mod is weird), along with
      suggested energy parameter values in Startup Settings.
  Bugfixes:
    - Thermal Solar Panel (Large): Changed remnants remove_on_tile_placement to false, added
      time_before_removed = 15 min.
  Changes:
    - Simplified and greatly compacted contents of recipes.lua.
    - Tidied up some more in code and graphics assets.
    - Added some categories to entries in changelog since v.1.2.0.
Version: 1.2.4
Date: 2024-05-19
  Changes:
    - Now also resets sunlight indicator on configuration changed.
    - Added on_entity_cloned event for entity registration (probably not that necessary).
    - Replaced deprecated lua math.pow(x,y) function used in rounding numbers for console output.
    - Added player nil-check for commands.
    - Tidied up a bit.
    - Fixed changelog for v.1.2.3.
Version: 1.2.3
Date: 2024-05-19
  Bugfixes:
    - Fixed issue with entity unregistration by once again using on_pre_player_mined_item. Sigh...
  Changes:
    - Made the use of functions in control scripts more consistent.
    - Fixed some internal descriptions.
    - Improved console command output.
    - Fixed changelog for v1.2.2 and v1.2.1.
Version: 1.2.2
Date: 2024-05-19
  Bugfixes:
    - Hopefully fixed a crash by once again using the pre-stage when removing entities.
  Changes:
    - Made some corrections to console command descriptions.
Version: 1.2.1
Date: 2024-05-19
  Graphics:
    - Basic Heat Pipe: Shifted color of icon towards yellow to be easier to distinguish.
  Changes:
    - Altered console command text colors to be lighter and more readable.
    - Restructured code related to global table resetting.
    - Changed the use of script events:
      - No longer uses pre-stage for removed entities, seems not needed anymore.
      - Now uses on_player_mined_entity instead of on_player_mined_item.
      - Extended creation of global table if missing to entity build events as well, just in case.
      - Clears and rebuilds global table if a surface is cleared or destroyed (fringe issue).
    - Resets solar-fluid from makeshift sunlight indicator with the 'reset' command (in case GUI
      was not closed due to death, disconnection, spectating etc.) (trivial issue).
    - Debugging: Improved and revealed a "check" command to count thermal panels in the world and
      the global table. In case there are issues.
    - Fixed changelog for v1.2.0.
Version: 1.2.0
Date: 2024-05-17
  Graphics:
    - Basic Heat Exchanger: Added option for a yellow-colored version. Updated icon to match it.
    - Thermal Solar Panels: Removed heat/glow visual effect. Rarely seen, blandly colored most of
      the time. Saving on mod size instead.
  Balancing:
    - Adjusted many recipes to take less time, more in line with the base game.
    - Adjusted tech time cost for Krastorio 2 slightly.
    - Thermal Solar Panels: Changed stack sizes to 50 and 10.
  Changes:
    - Increased version number to 1.2.0.
    - Upscaled graphics: Removed option from Startup Settings, graphics seem good enough. Still
      selected according to the game's sprite resolution setting.
    - Fast-replacement: Entirely removed faulty option (could easily fix it, but it doesn't seem
      that necessary after all, and ensuring mod compat for it seems tedious).      
    - Removed code meant to pass on temperature from thermal panels & heat accumulators to their
      replacement. Unnecessary in this fork (and it didn't transfer the correct amount of heat
      energy either).
    - Increased level of information from console commands and enriched their output too!
    - Generally improved, simplified and restructured a lot of code, descriptions and formatting.
    - Updated locale.
Version: 1.1.2
Date: 2023-12-11
  Changes:
    - Updated energy parameter suggestions for Sea Block (removed them entirely).
    - Updated thumbnail.
Version: 1.1.1
Date: 2023-11-22
  Changes:
    - Updated thumbnail to reflect the new graphics.
Version: 1.1.0
Date: 2023-11-22
  Changes:
    - Increased version number to 1.1.0.
    - Updated thermal solar panel graphics with much better ai upscaling along with careful
      retouching. I couldn't really improve connection sprites due to some game limitations, but
      the overall result seems better.
Version: 1.0.9
Date: 2023-11-21
  Changes:
    - Fixed an issue with high-res connection sprites apparently not being loaded. Also retouched
      some graphics to fix issue with too dark shadows on connections. May improve it further
      another time.
    - Removed some unneeded variables and checks on value inputs from Startup Settings.
    - Adjusted suggestion for Sea Block in Startup Settings.
    - Clarified some code.
Version: 1.0.8
Date: 2023-11-19
  Changes:
    - Added mod adaptation for Sea Block along with a balancing suggestion in Settings.
      (Note: Will not reduce heat pipe max temp due to possible risk of save crash).
    - Removed unneccesary text from Settings.
Version: 1.0.7
Date: 2023-11-19
  Changes:
    - Made suggestions in Startup Settings on how to balance energy parameters for the overhaul
      mods, based on experimentation. Difficult, many things to consider!
    - Made an internal variable name easier to recognize.
Version: 1.0.6
Date: 2023-11-18
  Changes:
    - Adjusted tech cost and prerequisite alternatives.
    - Adjusted all recipe cost alternatives.
    - Added mod adaptation for Space Exploration.
    - Restructured code for recipes and tech.
Version: 1.0.5
Date: 2023-11-17
  Changes:
    - Fixed a typo in Startup Settings.
Version: 1.0.4
Date: 2023-11-17
  Changes:
    - Added option in Startup Settings to adapt recipes and tech tree to particular overhaul mods.
      Options so far include Industrial Revolution 3 and Krastorio 2. Energy parameters may still
      have to be adjusted by the user for better/preferred balance.
    - Added the command "/tspl unlock" which can forcefully unlock all recipes in this mod.
    - Improved layout and description of some of the code, fixed a description in Settings.
Version: 1.0.3
Date: 2023-11-16
  Changes:
    - Fixed issue with the large Thermal Panel returning a small panel when mined! No idea how I
      overlooked this...
    - Fixed changelog.
Version: 1.0.2
Date: 2023-11-15
  Changes:
    - Thermal Solar Panels:
      - Removed 3x heat transfer rate bonus from large variant to better match the normal one.
      - Adjusted heat transfer rates from 12MW to 18MW (so at least 27 large panels can transfer
        their heat energy to one end-point).
      - Removed heat transfer loss entirely to simplify. Script for heat dissipation is sufficient.
    - Basic Heat Exchanger:
      - Increased heat transfer rate from 12MW to 500MW to match the Basic Heat Pipe (this better 
        matches material costs for both too).
      - Removed heat transfer loss of 1°C, since it is not a feature of the vanilla variant.
      - Made energy conversion rate (and thus fluid throughput) configurable in Startup Settings.
    - Tidied up some code and descriptions. Compacted some code related to graphics assets.
    - Fixed some startup setting descriptions.
    - Added missing info to changelog for v.1.0.0.
Version: 1.0.1
Date: 2023-11-13
  Changes:
    - Made some corrections to changelog.
    - Removed some unused code.
Version: 1.0.0
Date: 2023-11-13
  Changes:
    - Initial release, for Factorio version 1.1.94.
    - Copied the mod Thermal Solar Power 1.2.0 by MarximusMaximus (and more).
    - Removed all higher tier versions of machines to simplify the mod.
    - Removed evaporation pond and heat accumulator, not really needed.
    - Removed recycler since need for recycling is much lower now.
    - Changed recipe costs and various other properties.
    - Changed sorting order of items in menu, grouping them all together.
    - Added icon graphics with changed hue for the basic heat exchanger and basic heat pipe.
    - Changed thumbnail.
    - Updated MIT License to include my username as well.
    - Updated both English and German locale (relied mostly on Google Translate for the latter),
      while discarding the Italian one (too difficult for me to update).
    - Added option to create fast replaceable groups for heat exchangers and heat pipes. Off by
      default to better deal with mod conflicts. Works with Bob's Power.
    - Basic Heat Exchanger:
      - Fixed visual glitch where heat pipes were always brightly glowing, by setting min. glow
        temp lower than max. temp. Set max temp to 1000°C to avoid heat visual mismatch in general.
        Won't matter much for game balance anyway due to heat loss.
      - Somehow fixed a graphics priority issue noticed around the panels as well.
    - Thermal Solar Panel:
      - Added missing shadows (had to change prototype from heat-pipe to reactor and create a new
        shadow image).
      - Improved visuals by trimming base sprite images and creating heat pipe connection sprite
        images for south direction. Not perfect.
      - Added optional ai-upscaled high-res version of the thermal solar panel graphics.
      - Added heat loss mechanism where loss is proportional to temperature above 15°C.
      - Made output be affected by surface solar power multiplier (useful for mods like SE).
      - Added settings to change heat energy output (range: 37.5 - 120 kW).
      - Added a makeshift sunlight indicator which provides a snapshot of sunlight level on gui
        opened. Very slowly goes down (because >0 amount of fluid must be consumed). Tiny issue:
        Death, crash, disconnection may leave fluid behind. Click entity to reset.
    - Large Thermal Solar Panel:
      - Created a 9x9 area version of the panels, for better performance. A bit more efficient as a
        side effect of how the heat mechanism works.
      - Made custom graphics for entity, icon and remnants.
    - Basic Heat Pipe:
      - Reduced heat capacity to a quarter of the vanilla variant.
    - Debugging/info:
      - Fixed issue with temperature script sometimes not working on mod update, by automatically
        rebuilding an internal list.
      - Added the command "/tspl reset" to rebuild internal list of panels on all surfaces (just an
        extra safety measure). Also clears any "solar-fluid" used for makeshift sunlight indicator.
      - Added the command "/tspl info" to inform of solar power multiplier and max. possible panel
        temperature on player's current surface.