Constructron-Continued-Fixed deprecated


A fork of Constructron Continued which removes overly-verbose logging.

Utilities
1 year, 7 months ago
1.1
138

Changelog

Version: 1.0.35
Date: 2022-09-16
  Changed:
    - Added Space Exploration as an optional dependency for Stringweasel.
Version: 1.0.34
Date: 2022-08-27
  Changed:
    - New, hopefully more fitting and unique, mod thumbnail.
    - Added a new setting to control wether a Constructron will clear all bots from it's inventory after a job is done. Bots will get requested at the beginning of a new job with this enabled.
Version: 1.0.33
Date: 2022-08-19
  Changed:
    - Enabled the ability to repair at any percentage for high health buildings that get damaged only slightly.
    - Minor setting rename.
Version: 1.0.32
Date: 2022-07-20
  Fixes:
    - Fixed a bug that disabled deconstruction when items-on-ground is disabled.
Version: 1.0.31
Date: 2022-07-9
  Fixes:
    - Fixed a crash when recalling Constructrons when no stations are present on the surface.
    - Fixed unwanted behaviour with internal troubleshooting commands.
Version: 1.0.30
Date: 2022-06-4
  Fixes:
    - Fixed multiplayer desyncs by disabling the pathfinder cache in path requests.
    - Fixed a job loop in very specific circumstances.
  Improvements:
    - Constructrons will now spread out randomly around a station when there are more than 10 Constructrons on a surface.
Version: 1.0.29
Date: 2022-05-25
  Fixes:
    - Fix a bug that caused entities marked for deconstruction to not be actioned after a reset all command.
Version: 1.0.28
Date: 2022-05-23
  Improvements:
    - Added better visualisation to single entity chunk checks for deconstruction & upgrades.
  Fixes:
    - Fixed a bug that caused build/deconstruction/upgrade checks to miss entities.
Version: 1.0.27
Date: 2022-05-22
  Fixes:
    - Fixed crash with 'lastpos' variable not being set in jobs that existed prior to v1.0.26.
Version: 1.0.26
Date: 2022-05-22
  Improvements:
    - Anti-stuck / waypoint orbiting / pathfinding reattempts added which will find new paths during landfill jobs as they become available.
    - Prioritized deconstruction jobs after reset command is given.
    - Added extra validation to go_to_position action.
  Fixes:
    - Fixed an issue that prevented landfill from being enabled through the mod settings menu.
Version: 1.0.25
Date: 2022-05-15
  Fixes:
    - Optimized the get_service_stations function when unit_numbers were extremely high to fix very slow responses in the function and even game freezes.
Version: 1.0.24
Date: 2022-05-14
  Fixes:
    - Bugfix in deconstruction checks to fix unremoved trees and rocks.
Version: 1.0.23
Date: 2022-05-11
  Fixes:
    - Bugfix for Rocket Constructrun not responding to scripting due to entity placement filters.
    - Bugfix for entity counts not subtracting at time of removal which caused a crash when Constructrons performed a check and had no robots in inventory.
Version: 1.0.22
Date: 2022-05-6
  New Features:
    - New setting: entities_per_tick - control how many items are processed into jobs per tick. Higher numbers requires more initial compute with large blueprints.
    - Added /ctron stats command for further diagnostics.
    - Added /ctron clear inventory command.
  Improvements:
    - Optimizations to job assignment process with a significant amount of Constructrons.
    - Optimizations through out other parts of job assignment process.
    - Optimizations to on_built event.
    - Optimizations to inventory calculations.
  Fixes:
    - Bugfix in /ctron reset all command whilst recalling the Constructrons.
    - Bugfix after surface deletion.
Version: 1.0.21
Date: 2022-05-1
  New Features:
    - Rocket Constructron for Space Exporation. This must be enabled in the startup settings and is only placable in space zones. WIP.
  Improvements:
    - Commands! enable|disable|reset|clear. Please see the mod portal page for info.
    - Performance improvements in entity processing and Constructron checks.
  Fixes:
    - Minor bugfix with unit status not clearing after it was picked up/destroyed.
    - Bugfix for Constructrons requesting more than one path at once.
    - Bugfix for landfill not being constructed after toggling the setting.
    - Bugfix for LTN like entities that cannot be crafted by the player.
Version: 1.0.20
Date: 2022-04-15
  Fixes:
    - Changed chunk calculation assumptions back to original value to decrease the chance of missing entities.
    - Bugfix in migration script which only occurred in older saves.
Version: 1.0.19
Date: 2022-04-10
  Improvements:
    - Added a check to detect entities that may have been missed during an upgrade job.
    - Moved missed entity messages to debug instead of game chat.
    - Added a game alert when a Constructrons logistic request is not fulfilled within 30 seconds by default.
    - Added a setting to control after how long the alert is displayed.
    - Items on the ground that get marked for deconstruction will now be actioned.
    - Added a toggle option in startup settings that toggles deconstruction of items on ground.
  Fixes:
    - Fixed a bug that caused Rocks and trees to be excluded from deconstruction jobs.
    - Construction robots will now be cleared from inventory if the count exceeds desired_robot_count.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
Version: 1.0.18
Date: 2022-04-03
  Experimental:
    - Added the ability to construct landfill and landfill like tiles! READ NOTES!
  Improvements:
    - Reregistered and recounted all entities on all surfaces to reduce the chances of crashes occuring from entites previously placed on older versions of the mod.
    - Added force checks to various actions such as construct, deconstruct and upgrade to accomodate AbandonedRuins mod and Auto-Deconstruct mod.
    - Added force to chunk checks so other forces entities will not be considered when a ghost is placed from another force.
    - Expanded minimum chunk check range so item-request-proxies / missing modules would be found in single entity construction if they got missed somehow.
  Fixes:
    - Various crashes due to lack of entity validation.
  Notes:
    - Landfill can be enabled or disabled through the mod settings menu.
    - Landfill functionality is highly experimental and does not represent the finished product.
    - Landfill is best constructed in small jobs close to the shore. It is highly recommended to have atleast a few Constructrons placed.
    - Constructrons will obviously not be able to reach entities/tiles in the middle of a lake and will cause Construnctrons to become stuck if this is done.
    - Constructing landfill will likely cause inefficient behaviour of Constructrons until the job is complete.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
Version: 1.0.17
Date: 2022-03-26
  Fixes:
    - Fixed job assignment function exit when previous surfaces had no available Constructrons.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.16
Date: 2022-03-25
  Fixes:
    - Fixed queue backlogs that were created if a player performed an action on a lot of entities and then undone the changes
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.15
Date: 2022-03-21
  Fixes:
    - Added validation to pathfinder to prevent a crash.
    - Bug fixes in chunk check processes.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.14
Date: 2022-03-21
  Improvements:
    - Constructrons can now repair entities! This is OFF by default - toggle this in the mod settings.
    - v3 pathfinder has been introduced for better path finding!
    - A mod settings to control how low an entity can get before a repair job is triggered has been added.
    - Startup mod settings have been added which gives the ability to toggle construct, rebuild, deconstruct, upgrade and repair jobs.
    - Debug text no longer has a random offset.
  Fixes:
    - Map mod settings now update in game.
  Notes:
    - The Constructron colour whilst performing a repair job is charcoal.
    - Any pre-existing damage on entities will not be repaired. The repair jobs are triggered by on_entity_damaged.
    - Constructrons that are already on the way to repair an entity that dies will still proceed as the job is already in progress.
    - Constructrons that are already on the way to repair an entity that gets repaired by a local robot will still proceed as the job is already in progress.
    - If you find there are too many repair jobs that are fulfilled by robots the advice is to lower the repair % or toggle the repair jobs to OFF.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.13
Date: 2022-03-11
  Improvements:
    - Countless amounts of code cleanup and refactoring all thanks to Karoschl!
    - Constructron waypoint circling should be detected and reset.
  Krastorio2:
    - Tesla coils should now target Constructrons
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.12
Date: 2022-03-11
  Improvements:
    - Compatibility with Packing Tape
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.11
Date: 2022-03-09
  Improvements:
    - Constructrons are now painted grey(idle) when placed or cloned to another surface.
  Fixes:
    - Resolved a crash in Constructron staging when no stations were placed.
    - Resolved a crash in go_to_position retry when a companion was no longer valid.
    - Fixed companion Constructrons not resetting thier status after the leader became invalid.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.10
Date: 2022-03-08
  Improvements:
    - Chunk checks now finds item-request-proxy / unfulfilled modules and will queue another job.
  Fixes:
    - Resolved a crash when a Constructron companion was no longer valid.
    - Resolved 'calculate_required_inventory_slot_count' crash.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.9
Date: 2022-03-05
  Improvements:
    - The mod will now detect unbuilt ghost tiles after a build job.
    - Constructron pathing now takes into account the smallest gaps(1 tile) between water to path through.
    - Garbage collection on path requests that fail to navigate to destination.
  Fixes:
    - Resolved a crash in 1.0.7 migrations with invalid entities.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.8
Date: 2022-02-26
  Improvements:
    - Surface support! using this mod with Space Exploration is now possible.
    - Visual debuging! Massive improvements to the debug view so it is alot more obvious to see what a Constructron is doing.
    - Constructrons will now request/refill robots based on two new mod settings, robot_name and robot_count.
    - Service Stations now have a new look.
    - Construction and Deconstruction jobs will now be fulfilled by another Constructron after the original stops existing.
    - Deconstruction jobs now have better logic to detect when a Constructrons inventory is full. The process is much faster but still needs work.
    - Added Fuzzy pathing logic to assist when entities are placed in tight places or when using mods like MazeRibbon018.
    - Constructrons will now retry move actions after a few seconds instead of max_jobtime.
    - Constructrons and Service Stations are now registered entities so their removal will be captured regardless of how they are removed.
  Fixes:
    - Resolved the 'next_station' crash when only one Service Station was placed.
    - Resolved an issue with unconstructucted rails being detected by the post job check.
  Space Exploration notes:
    - Space platform tiles are not constructed at this time for the same reason as Landfill.
    - Constructrons do not travel between surfaces themselves.
  Misc:
    - A discord has been created for discussions, ideas, bugs etc. https://discord.gg/m9TDSsH3u2
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill-like tiles are not constructed as this requires changes to the pathing calculation.
Version: 1.0.7
Date: 2022-02-09
  Improvements:
    - Added the ability to construct tiles! Landfill (and others like Landfill) is unfortunately still not possible at this stage. Landfill is specifically ignored.
    - Significantly more validation is performed at all job stages to prevent crashes.
    - Added event listening for when mods add modules to an entity (i.e Module Inerter) so Constructrons will now build modules even if a ghost is not created.
    - Constructrons will now move to other service stations in hope of fulfilling their logistic request at the new station after max_jobtime is reached. More logic to be added to make this smarter later.
    - Added Krastorio 2 support with equipment grids in Constructrons.
  Fixes:
    - Clean up service stations and constructrons that are destroyed which will prevent crashes at various stages.
    - Clean up service stations that are removed by bots which will prevent crashes at various stages.
    - Constructrons will now retry to move into position after overshooting its destination due to moving too fast after max_jobtime is reached.
    - Constructrons will now retry to move into position after max_jobtime if a player interferes with the Contructron either by driving the Constructron or using a connected Spidertron Remote to it.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue even if the inventory is full.
    - If something happens to the Constructron during an active job it continues as if nothing is wrong. There are checks in place to queue another job however.
    - The Landfill tile is not constructed as this requires changes to the pathing calculation.
Version: 1.0.6
Date: 2022-01-30
  Improvements:
    - Deconstruction jobs now adhere to the same 5 second(default) delay to allow for robots to deconstruct the entities.
    - Upgrade jobs now adhere to the same 5 second(default) delay to allow for robots to upgrade the entities.
    - Job start delay is now configurable. Allow more or less time for robots to finish building before a job is queued.
    - Ghosts created by other mods (such as Recursive Blueprints) will now be built.
    - Entities created by other mods that are not buildable by the player, like those found in Logistic Train Network(LTN) will now be skipped from logistic requests.
Version: 1.0.5
Date: 2022-01-25
  Improvements:
    - Contructrons will now rebuild entities that die. I.e are destroyed by biters or players.
    - Constructrons will now go back for items missed during a deconstruction job.
    - Alternate recipes. An easy mode and normal mode. Toggle this from the game menu > settings > mod settings > startup.
Version: 1.0.4
Date: 2022-01-13
  Fixes:
    - Linear constructron job assignment.
  Improvements:
    - Contructrons no longer will start a job without a roboport and at least one bot allowing time to place and fit equipment.
Version: 1.0.3
Date: 2022-01-12
  Fixes:
    - Crash on Constructron placement.
  Improvements:
    - Major performance improvements to ghost and deconstruction entity processing.
    - Ability to set maximum amount of time a job can take before timing out and returning home in the mod settings. Default is 2 minutes.
    - Code refactoring.
  Known issues:
    - After job time out, Constructrons will attempt to finish the build or deconstruction queue when the inventory is full.
    - Missed ghosts and deconstructions will no longer be considered by Contructrons until the entity is deconstructed again.
Version: 1.0.2
Date: 2022-01-10
  Fixes:
    - Mining a Constructron gives the player a Spidertron instead.
    - Partially fixed deconstruction process when Constructron inventory fills. Constructrons will not get stuck any more eliminating manual intervention.
  Known issues:
    - Constructrons will attempt to finish the deconstruction queue when the inventory is full.
    - Missed deconstructions will no longer be considered by Contructrons until the entity is deconstructed again.
    - Placing Constructrons whilst there are active jobs may cause a crash.
  Other:
    - Inception of debug mode.
Version: 1.0.1
Date: 2022-01-09
  Fixes:
    - Crash on mining a Constructron whilst there are active jobs.