See if your production is underflowing!


ATENTION: this mod is not compatible with Refined Power and other mods with custom machines that does not implement Attachments (like Splitters/Mergers), "Factories" (the ones that use recipes to consume and produce something), standard "Generators" or standard "Extractors". Any checker placed on belts or pipes connecting to those buildings will ignore their existance. A solution may come to some of those, but each case must be appropached one by one, and that takes time


This mod allows you to verify if your production can work at 100% efficiency or if it is on risk of underflowing, either because:

  • You don't have the correct set of conveyors capable to deliver the minimum amount of required items;
  • You are not producing enought items to deliver.

It is Multiplayer compatible. Many thanks to TwoTwoEleven (Micro Manage) for the orientations on how to get it working 😀

Multiplayer compatible

Find me at Satisfactory Modding Discord server (MarcioHuser#2377)



What it includes:

  • Two building for SOLIDS wich you can snap on existing belts (or have a belt passing through it). One with panels on each side; the other with panel on top of it. They can be stacked on top of each other. Both will show you:
    1. The maximum amount of items/minute the producers can inject into the belts (miners, constructors, foundries, etc. Modded producers should work as well). You can manually change this number, if you find it necessary;
    2. The maximum amount of items/minute your belts can transport. This takes into account not only the belt it is connected to, but also connected belst/lifts preceding or following the current one;
    3. The required amount of items/minute your consumers need to receive to be able to work at 100%. You can manually change this number, if you find it necessary
  • A wall variant for solids wich you can snap to Foundation Wall Poles. It works the same as the stackable buildings, showing the information for wichever belt/lift is connected or passing through the Wall Conveyor Pole
  • A building for LIQUIDS wich can snap on existing pipes. Different from the solid ones, the pipe MUST connect to it, if you don't place it directly on a pipe. It can be stacked with other Liquids Checker or any of the Solid Checkers
  • A wall variant for liquids wich you can snap to Walls, just like a pipe wall adapter. It also includes its own adapter and snaps the same as a reguler pipe wall adapter would. It works the same as the previous buildings, showing the information for wichever pipe connected with it
  • A hand tool that can give you the same stats, realtime. Just point to a pipe, belt or lift, and click: the tool display will showing the computed stats for the given belt/pipe. And yes, it IS expensive. You didn't though having an easy life would be cheap, right?
  • Color coding:
    • Blue: the field has a custom set, defined manually;
    • Green: the inject input and/or the throughput limit is the same value of the required output (if the required output is greater than zero). All three fields will be presented with green color if the required output equals the injected output and they era less or equal than the throughput limit
    • Yellow: The inject input is greater then the belt throughput limit;
    • Red: the inject input and/or the throughput limit is less than the required output
    • Black: injected input and/or throughput limit is greater than the required output. Indicates you still have room to increase the consumption of items


How do I get it:

It will become available to be unlocked at the hub once you have unlocked the Logistics Mk.3 milestone.

How can I build it:

Ground/floor checkers, for solid items

Method 1:
Just snap it into an existing belt. It snaps along any belt, much like how you can do with a splitter or a merger.
Method 2:
Place the building down and snap the belts to it. It acts like a conveyor pole, so you can snap from either direction, with any orientation. You can snap above other EfficiencyChecker Buildings, too, but only if they are not inclined
Method 3:
You don't even need to snap any belt to it. It will dected the one that is already passing through it. So,place it down, and just run the belt through it

Wall checkers, for solid items

Snap it to a Wall Conveyr Pole, no mather if it alrady has belts/lifts connected or not

Ground/floor checkers, for liquid items

Method 1:
Snap it to an existing pipe. It will split the pipe in two parts, as a junction would do. If you remove it with the pipes intact, they will also be rejoined
Method 2:
Place it on the ground os on top of another checker, and connect pipes to it. It will not detect the liquids if you just pass the pipe through it, it must be connected

Wall checkers, for liquids items

Snap it to any valid Wall. It will place a pipe wall attachment where you must connect the pipes

How can I use it:

  • No matter the method you chose to place it down, it will automatically detect if any belt, lift, factory, pipe, junction or pump has been placed or dismantled, and will auto update after a given timeout without any new building/conveyor being placed/removed;
  • By default it timeouts after 10s. You can also disable the auto-update, by editing the EfficiencyChecker.cfg, at the configs folder, if you need or want to save some processing cycles. If auto-update is disabled, all checkers can only be refreshed when you interact with it
  • You can manually type values for input and/or output, if you want to manually define your limits for the system. Useful for complex, load balanced belt systems

FicsIt-Networks integration

The following methods are available for all the Efficience Checker variants
  • updateBuilding(): mark the checker to recalculate at the next "tick"
  • injectItems(): return a list of known items that can possible pass through the conveyors
  • injectedInput: the amount of inject items the checker knows about
  • setCustomInjectedInput(float): defines the custom amount of injected items. If zero, it will be reseted to the computed one
  • isCustomInjectedInput(): true if a custom input is defined; false otherwhise
  • resetCustomInjectedInput(): resets the custom input to the computed one
  • limitedThroughput: the maximum amount of items per minute the conveyors system can handle
  • requiredOutput: the amount of required items the checker knows about
  • setCustomRequiredOutput(float): defines the custom amount of required items. If zero, it will be reseted to the computed one
  • isCustomRequiredOutput(): true if a custom output is defined; false otherwhise
  • resetCustomRequiredOutput(): resets the custom output to the computed one

A sample script can be downloaded here

Get FicsIt-Networks



Videos:



Note:

I am aware that, sometimes, the display panel "freezes" and will not update with the values. I haven't find a solution for that, yet. To solve it you can either rebuilt the Checker; OR just walk way and return later, as most of the time it will resume working by itself



Changelog

  • Version 1.0.1

    • Fix
      • New refactorying to prevent random crashes if you have Storage Teleporter and/or FicsIt-Networks
  • Version 1.0.0

    • New content
      • Efficiency Checker Hand Tool!!!!!
      • Added drop-down selection box to define if a specific Checker can auto update or not
    • Fix
      • Refactored part of the code to try to prevent crashing when using Storage Teleporter mod. If crashes still occur, you can disable Storage Teleporter support (it will be ignore by the checkers, as if they don't exist and the belt system will stop at it). Edit [game folder]\Configs\EfficiencyChecker.cfg and change the "ignoreStorageTeleporter" to true
  • Version 0.5.0

  • Version 0.4.1

    • Optimization
      • Reduction in triangles count and changed some LOD details, to try improve overall rendering performance
    • Fix
      • Fixed the algorithm for Train Freighter Platforms
  • Version 0.4.0

    • New Content
      • Added support for Train Freighter Platforms (liquid and solid). The Checkers will check all the items that can be transported to/from the station it is connected, interlinking all of then as a single, huge, merger/splitter. No consideration will be done regarding the distance the trains have to travel from station to station: it is up to you to keep the flow steady. Attention: it will not work with double-ended trains that go back-and-forth between stations
    • Fix
      • Fixed crash that could happen when removing a Pipe Checker that didn't have both connections being used
  • Version 0.3.5

    • Fix
      • Fixed a bug that would make the pipe network fluids to turn into "unknown type", if a checker is placed inline to a pipe and all the fluids come only from containers (could also happen if a pipe checker is removed and the pipes were merged together)
  • Version 0.3.4

    • Fix
      • Fixed a bug that would make wall pipe checkers to only consider one side of the system for input computing. If it choose the wrong side, it will not collect any producing machine, only consumers, and will give "zero" for the Inject Input and Limited Throughput stats
  • Version 0.3.3

    • Fix
      • Fixed Truck Stations handling, where the belt system comming in for the fuel input was considered as part of the belt system used for the input/output ones
      • Fixed a bug caused by Micro Manage when moving the pipe checker, wich caused the pipe attachment points to not move with it
  • Version 0.3.2

    • Fix
      • Fixed a bug where the checkers would not display a value for "Injected Input" nor "Throughput Limit", if the source of items are only the Truck Station and/or the Train Cargo Platform; or if the all the origin/terminal builds are not machines or conveyors (storage bins, splitters, mergers, docking stationg and freighter platforms)
  • Version 0.3.1

    • New Content
      • Added a new panel BELOW the Efficiency Checker (Top), for those who need to read the values from below
    • Fix
      • Fixed a bug where the calculations would not give the discounted inject input when there's a splitter placed before the checker (it was no longer discounting the values diverted through the other exits)
  • Version 0.3.0

    • New Content
      • Multiplayer support
  • Version 0.2.0

    • New Content
      • You can now rotate Checkers that stacks on top of each other
      • You can also rotate Pipe Checkers when placing alongside a pipe (increments of 22.5°). Press Left Control or "R" to reset the rotation (the arrow indicates wich side is "up")
      • Added FicsIt-Networks integration
    • Fix
      • Fixed a bug that kept the Injected Input fields on the panels with the last color they had, not changing to black when no special condition is met
  • Version 0.1.3

    • Fixes
      • Fixed crashes that happen when you have a belt loop in the system the checker is placed
  • Version 0.1.2

    • Fixes
      • Fixed crashes that happen when a fluid checker is placed and will update
  • Version 0.1.1

    • Fixes
      • Fixed the calculations for when there are mixed items serving the same machine (Assemblers, Manufacturers and other modded ones with multiple inputs), sorted by using smart/programmable splitters for each input
  • Version 0.1.0

    • New Content
      • Checker variants for LIQUIDS
      • Refactored to be Multiplayer compatible (still testing. Your feedback will be welcome)
      • Now you can manualy set how many items are/will be injected and/or consumed. Usefull if you have complex systems and already now how they would split, and only wants to check if the consumers will not be underflowed (and if the belts can handle it, too)
      • Added compatibility for MK4 Miners (from Miner Mk4 mod)
      • Now the popup window will show all the items that can pass by the checker, for mixed belts that relly on smart/programmable splitters
  • Version 0.0.10

    • Re-upload
  • Version 0.0.9

    • Fixes
      • Fixed the calculation of the effective production for overclocked/underclocked machines
  • Version 0.0.8

    • New content
      • New mesh for ground building, more in-inline with the overall FicsIt look
    • Fixes
      • Fixed the correct production speed for the MK4 buildings from MK++ Mod
  • Version 0.0.7

    • New content
      • Added compatibility for MK++ buildings (the effective consumption/production is multiplied accordingly to the building type)
      • Added compatibility for Farming Mod greenhouses (the effective consumption/production is multiplied accordingly to the Greenhouse type)
      • New texture for the wall variant
    • Optimization
      • Changings on the overclock value of a connected building are detected in real-time, now
  • Version 0.0.6

    • New content
      • Wall mounted variant. Just snap it to a conveyor wall hole, and it works the same as the regular ones
      • The "fat" variant is gone. It was replaced by the narrow one, but keeping the display on the side
      • Mew meshes, to reduce triangles and improve render performance
  • Version 0.0.5

    • Optimization
      • More adjustments on the auto-updating algorithm, to improve detection of wich buildings need to be updated
  • Version 0.0.4

    • New content
      • If the Checker is placed AFTER splitters, it will discount the amount delivered elsewere for the "Inject Items" information
    • Optimization
      • Some memory management adjustments
      • Changed the auto-updating to trigger only when the player is near the Checker (around 40 m or closer). This will lower the ocasional stutters that occur after some trackeable buildings are placed in the world
  • Version 0.0.3

    • Refactored the startup initialization code to no longer HANG the loading process
  • Version 0.0.2

    • Fixed auto-updating not working as promised








Credits:

Multiplayer banner, Icon and panel designed by Deantendo#4265 (find him at Satisfactory Modding Discord server)
Icons made by Freepik from www.flaticon.com
Efficiency Checker Mod Logo

Info

Created: Aug 7, 2020, 9:57:44 PM
Views: 102,018
Downloads: 35,658
Reference: EfficiencyCheckerMod