Code Monkey home page Code Monkey logo

bottlenecklite's Introduction

shield shield shield

Bottleneck Lite

Bottleneck Lite is a mod for Factorio that helps you find bottlenecks in your factory. It is inspired by the Bottleneck mod, but takes advantage of newer API features to eliminate all runtime overhead and improve responsiveness.

Download on the Mod Portal.

Features

Bottleneck Lite adds "indicators" to every crafting machine and mining drill, allowing you to quickly determine its status.

The indicators will be colored according to these statuses:

  • Disabled (red)
  • Full output (yellow)
  • Idle (red)
  • Insufficient input (red)
  • Low power (yellow)
  • No minable resources (red)
  • No power (red)
  • Working (green)

The colors are freely customizable in the mod settings menu. To hide an indicator entirely, set Alpha (A) to zero. Other settings include indicator size, whether or not they will glow in the dark, and whether or not they will be drawn on mining drills.

NOTE: Because of the way the mod works, all settings are under the Startup tab in the mod settings menu, and any changes require restarting Factorio to take effect.

Features

Compared to Bottleneck

Bottleneck Lite, in comparison to Bottleneck, has no runtime scripting. The indicators are added to the actual sprites of each entity, and are tinted based on the working visualisations property. This means that Bottleneck Lite can scale infinitely, and will instantly respond to changes in entity status regardless of how many entities there are.

Pros

  • Zero runtime overhead
  • Instant responsiveness regardless of scale
  • Indicators can glow in the dark
  • Significantly fewer settings (some might consider this a con)

Cons

  • Changing settings requires restarting Factorio
  • No hotkey to toggle the indicators - enabling/disabling them is a setting, and so requires a restart
  • Only one style of indicator (no alert, cross, stop, minus, or 3D variants)
  • No indicators on labs

Compatibility

For mod authors - if you don't want an indicator to show on your entity for some reason, add bottleneck_ignore = true to its prototype and BNL will ignore it.

Screenshots

bottlenecklite's People

Contributors

jarg-compilatron avatar raiguard avatar snouz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bottlenecklite's Issues

The last update broke all my mod settings!

When I updated this mod to version 1.2.5, my saved game was broken with all settings reseted!

Look at the difference on the log:

1.2.4:
factorio-previous.log

1.2.5:
factorio-current.log

Maybe this line will help:

3.680 Error GlobalModSettings.cpp:161: Failed to read mod settings: Unsupported color format. Expected a list of 4 values { r, g, b, a } or a dictionary { r = ..., g = ..., b = ..., a = ... }.

Thanks

Incorrect icon during output full

Based on other posts I assume that this might be an engine limitation since you're just reading the animation state, but to clear it up; Is this possible to fix?
image
Thanks for your contributions regardless.

Versioning of the mod requirements

Hi.

I notice that you like to push the base game requirements to beyond stable. I guess it is due to using new experimental features in the Factorio api, but for us users that keep Factorio at stable, this is a tiny hassle.

I know, updating mods based on a save game will download latest versions, regardless of info.json content, compared to syncing with a server, but regardless, now I have to download old versions or play without the mod.

Due to the lack of support from the Factorio client on this matter, would it be a better practice to keep mods with base set to experimental versions from being deployed, until stable base is released? Or is it a better practice to just play Factorio experimental?

Colorblind Accommodation

If possible, can you change the green color to a darker green or add a dark green option? Although I am not extremely red-green colorblind, it's often hard to tell the difference between working and idle machines under the default settings. I know that there is the option to change the light green to other colors, but it would be nice.

Disabled certain indicators

Hello,
since the change to colors, i am missing the option to disable specific indicators. Like as example, when a machine is working fine, i do not want to see any indicator, same as full output. These things are fine to me and do not need any color (i also do not want green indicators, because i only want to see them if something is wrong. Else i want to keep it close to the basegame without a symbol)
I tried to put the alpha on 0. The color went black but this is fully ignored. It shown as i never changed a thing.

Hope you can change it in a way that 0 Alpha removes them.

Updating from 1.2.4 to 1.2.5 resets mod settings

When I updated this mod from 1.2.4 to 1.2.5 all mod settings were reset. Attempting to load a save brings up the sync mods screen but fails to restore mod settings properly. Downgrading back to 1.2.4 allows it to restore the startup settings. I was able to update to 1.2.5 and manually set everything back to what it was before with no issue.

Add electricity symbol for low power

Instead of having a circle for low power, i'd like to see a lightning bolt looking thing. Yellow lightning bolt for low power, and red for no power.

If electricity get's it's own symbol, then I don't have to give it it's own color (like purple) to be able to tell what's wrong.

Error on game startup after adding the mod

Hey there
Getting the following error on game startup:

61.072 Error ModManager.cpp:1574: Fehler beim Laden der Mod „BottleneckLite“: __BottleneckLite__/data-final-fixes.lua:24: attempt to index local 'selection_box' (a nil value)
stack traceback:
	__BottleneckLite__/data-final-fixes.lua:24: in function 'build_indicator
	__BottleneckLite__/data-final-fixes.lua:73: in function 'add_to_wv
	__BottleneckLite__/data-final-fixes.lua:85: in main chunk

Cheers

Give priority to certain warnings

I have no/low power set to the color purple. When power is low though, I don't always see purple because it's overridden by the colors set for full output. I'd like to let low/no power take precedence.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.