[MOD 0.14.x] Bottleneck
Posted: Mon Jul 11, 2016 10:30 pm
by trold
Type: Mod
Name: Bottleneck
Description: The mod decorates assembling machines with an indicator light, making it easier to identify bottlenecks in your factory
License: MIT
Version: 0.10.0
Release: 2016-06-11
Tested-With-Factorio-Version: 0.18.0
Category: Helper
Tags: User-Interface, Info
Download-Url: https://mods.factorio.com/api/downloads ... 0.10.5.zip
Website: https://github.com/troelsbjerre/Bottleneck
Name: Bottleneck
Description: The mod decorates assembling machines with an indicator light, making it easier to identify bottlenecks in your factory
License: MIT
Version: 0.10.0
Release: 2016-06-11
Tested-With-Factorio-Version: 0.18.0
Category: Helper
Tags: User-Interface, Info
Download-Url: https://mods.factorio.com/api/downloads ... 0.10.5.zip
Website: https://github.com/troelsbjerre/Bottleneck
License
License
The MIT License (MIT)
Copyright (c) 2016 troelsbjerre
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
The MIT License (MIT)
Copyright (c) 2016 troelsbjerre
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Long description
Long description
The mod decorates assembling machines, furnaces, mining drill, pump jacks, and chemical plants with an indicator light, making it easier to identify bottlenecks in your factory:
Hotkey to toggle lights: SHIFT + ALT + L
The mod configuration menu (Game menu -> mods) has the following options:
The mod decorates assembling machines, furnaces, mining drill, pump jacks, and chemical plants with an indicator light, making it easier to identify bottlenecks in your factory:
- Green: currently doing stuff
- Yellow: not currently doing anything, limited by the output
- Red: not currently doing anything, limited by the input
Hotkey to toggle lights: SHIFT + ALT + L
The mod configuration menu (Game menu -> mods) has the following options:
- Number of machines updated per game tick (Default is 40, i.e. 40 machines/tick * 60 ticks/second=2400 machines/second). This ensures that the mod uses the same amount of time per tick on a small factory as on a large one, but as the factory gets larger, the lights update less frequently. If your factory has 10000 machines, each light will only update roughly once every 4 seconds. Increasing the machines/tick value will improve this at the cost of CPU power.
- Change the style of each indicator light. [img]https://raw.githubusercontent.com/troelsbjerre/Bottleneck/master/screenshots/red.png[/img] [img]https://raw.githubusercontent.com/troelsbjerre/Bottleneck/master/screenshots/green.png[/img] [img]https://raw.githubusercontent.com/troelsbjerre/Bottleneck/master/screenshots/mining.png[/img]
Version history
Version history
v0.10.5 2019.02.26:
v0.8.3 2017.05.30:
Bugfix
Bugfix
Optimization by Nexela (Nicholas Dunn):
bugfix:
Major cleanup by Nexela (Nicholas Dunn):
changes:
changes:
changes:
changes:
changes:
changes:
changes:
changes:
changes:
changes:
changes:
changes:
Bugfixes:
Bugfixes:
Bugfixes and features by factorio user apriori:
Bugfixes:
New features:
v0.1.0 2016.07.16:
Major refactoring to handle save and load properly
v0.0.3 2016.06.14:
New features:
New features:
v0.0.1 2016.06.11: Proof of concept.
v0.10.5 2019.02.26:
- Version bump to 0.18
- Version bump to 0.17 (not using any of the new faster API... sorry)
- Korean localization (thanks to MasterBabol)
- Japanese localization (thanks to shelaf)
- Fixed bug introduced by 0.16 causing fluids not to be checked correctly (thanks to ochristi)
- German localization (thanks to ST-DDT)
- 0.16 compatibility fix (thanks to ochristi)
- Changed logic for state tracking, to avoid light flickering (some machines would show as yellow for a tick per cycle, even when working 100%)
- Fixed lights on uranium miners without mining fluid
- Initialize STYLE from settings
v0.8.3 2017.05.30:
- Fixed hotkey and interface issue
- Quick fix to remove spam messages
- Reintroduced the hotkey: SHIFT+ALT_L
- Fully configurable lights
- Bugfixes
- Bugfixes
- Cached options values (turns out fetching them all the time is quite slow)
- Updated sprite indices for 0.15.10
- Added options menu (Menu->Options->Mods->Map)
- Updated for Factorio 0.15
Bugfix
- Collision mask added, so you can again walk through the indicator lights
- Switching to high contrast mode was broken by 0.6.1, which is now working again
Bugfix
- Using car as base type had unintended consequences, so now using storage-tank instead.
Optimization by Nexela (Nicholas Dunn):
- Indicator lights are now based on rotating an entity instead of destroying and creating.
bugfix:
- Rolled back a rebuild optimization, which used too much ram.
Major cleanup by Nexela (Nicholas Dunn):
- Code Restructure for 0 error/warns in linter.
- Several speedups.
- Ton of bug fixes and robustness improvements (incl. fixing desync issues)
- Add Remote interface.
- Custom events for hotkeys.
changes:
- Changed data structure from list to table, to allow for the following:
- Removed entities now have their associated lights disappear instantly, instead at next update.
- Mod now scales to larger factories, since removing elements (either from mining or destruction) is now expected constant time instead of linear in the number of lights.
changes:
- Fixed unhelpful options menu text
changes:
- High contrast mode replaces the yellow signal with a blue signal. SHIFT-B to toggle
changes:
- bugfix: 0.4.0 introduced caching of whether a mining drill was depleted, which was mistakenly also set if the drill was out of power.
changes:
- bugfix: re-introduced minor version numbers on global data. The use of function pointers inside global cause the function to be saved as well. This needs to be updated when loading a newer version of the mod, which includes minor versions.
changes:
- optimization: only checking for fluid output as a last resort (speeds update up quite a bit)
- optimization: clean transition from "removing lights a few at a time" to "all lights are off, so no need to check"
changes:
- bugfix: assemblers with fluid output now handled more consistently with the rest
- bugfix: depletion of mines fixed (now explicitly searching for ore patches, since old method sometimes failed)
- change: toggling the indicators now requires admin privileges, and toggling lights will now happen at the same rate as updates, instead of all in one tick
changes:
- bugfix: compatibility issue with unDecorator resolved
changes:
- bugfix: added sanity checks, in case signal entities have been destroyed by other mods
changes:
- bugfix: new fantories would get a red light (but not update) if lights were turned off
changes:
- bugfix: version number was not updated, which caused the position cache to not be filled, causing a crash
- performance: no longer repeatedly checking status when lights are toggled off (thanks factorio user bsdfhsbzxcbz)
changes:
- caching of light position (slightly lower CPU load)
- confirmed working for 0.14, so updated info.json
Bugfixes:
- fixed crash which could occur when removing the last assembler
Bugfixes:
- fixed issue with entity being updated multiple times per tick, incorrectly giving drills the yellow status
Bugfixes and features by factorio user apriori:
- Places the signals at the bottom center of oddly sized entities
- Hotkey 'B' for hiding signals
Bugfixes:
- Correctly handling machines idling while trying to output a bonus item (thanks to randomflyingtaco)
New features:
- Mining drills and pump jacks now also have indicator lights
- Only updates 40 entities per tick, as suggested by github user zamp
- Much more consistent use of red/yellow/green across different entity types
v0.1.0 2016.07.16:
Major refactoring to handle save and load properly
v0.0.3 2016.06.14:
New features:
- Furnaces now also have indicator lights
New features:
- Slightly improved graphics (inspired by sporefreak)
- Red light stays on for 5 seconds, to improve visibility (as suggested by Miravlix)
- Machines places by robots now also get an indicator
- Old indicator lights are filtered out at load (this is a hack; the mapping should be stored in global)
- New entities are now only created when state changes.
v0.0.1 2016.06.11: Proof of concept.