Giter Site home page Giter Site logo

zomis / factoriomods Goto Github PK

View Code? Open in Web Editor NEW
15.0 15.0 7.0 1.4 MB

Various mods for the game Factorio

Home Page: https://mods.factorio.com/mods/zomis

License: MIT License

Lua 98.87% Groovy 1.10% Shell 0.04%
factorio factorio-mod game-factorio lua mod

factoriomods's People

Contributors

asvdvl avatar chayleaf avatar dugabot avatar flydiverny avatar franois avatar igorlutiy avatar motsols avatar vogel612 avatar zomis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

factoriomods's Issues

Visual Signals: Mod Seeting for Ugly Scroll Bars

Visual Singals: Can you think of a possibilty to add a "Mod Setting" taht adjusts the number of signals tracked in a row before seeing the ugly horizontal and vertical sroll bars. At the moment it is 7. When you add an 8th signal in the row...it's ugly town.

Resources should be connected but aren't considered as such

Resource Count mod should consider some resources as part of the same area, but sometimes divides areas into two or even three pieces when it really should be the same area.

Map Exchange string where this can be seen: (go a bit to the left and a bit down to a copper field)

>>>AAAMAB0AAAADAwYAAAAEAAAAY29hbAMDAgoAAABjb3BwZXItb3Jl
AwMCCQAAAGNydWRlLW9pbAMDAgoAAABlbmVteS1iYXNlAwMCCAAAAGl
yb24tb3JlAwMCBQAAAHN0b25lAwMCV6xWkpgRAABYKwAAAAAAAAAAAA
ADAASXjeA=<<<

Possible solution: Find all resources nearby and check distance < X.

What is it Missing UPS hit...

So all things being equal, I tested the new "What is it Missing" mod an noticed that in a fresh world I was hardly running at even 10 UPS. I did the debug option on time usage and saw the mod utilizing close to 40.000/0.000/0.000. I removed it and everything was back to a normal 60 UPS.

Advanced Combinator: Crashed, can't close window

Map crashed with the command window opened (tried entering ' * ' instead of a number value then applying). Next time I load from autosave, the command window pops up, but pressing Close does nothing.

Auto-Upgrade

Create a GUI that shows the number of the different types, and have the possibility to upgrade/downgrade by clicking a button.

The upgrade will be done by marking entities for removal, and when they have been removed, they will be replaced by something else.

  • Use LuaForce.logistic_networks
  • Use LuaLogisticNetwork.find_cell_closest_to(position)
  • Use LuaLogisticCell.is_in_construction_range(position)

Chests

  • Wooden Chest
  • Iron Chest
  • Steel Chest
  • Smart Chest
  • Passive Provider Chest / Active Provider Chest

Belts

Normal belts

  • Transport Belt
  • Fast Transport Belt
  • Express Transport Belt

Underground belts

  • Underground Belt
  • Fast
  • Express

Splitters

  • Splitter
  • Fast Splitter
  • Express Splitter

Inserters

  • Burner Inserter
  • Inserter
  • Fast Inserter
  • Smart Inserter?

Electric Poles

  • Small Electric Pole
  • Medium Electric Pole

Assembling Machines

  • Assembling Machine 1
  • Assembling Machine 2
  • Assembling Machine 3

If you have no visual signals placed and you click the menu icon (in the upper left) it crashes to the title screen

I didn't get a good look at the error message, but it said it was an index error. I assume it tried to index the visual signals, but because there were none, it tried to index null. Based off my (fairly poor) knowledge of LUA, you should probably be able to fix this easily by adding a check to see if items exist before trying to index them.

(I'd label this with the bug tag, but I can't find the button, do I not have perms or am I blind?)

Find empty mining drills

Add a clickable button that when clicked shows a mining drill that has no more resources to mine. Use the player teleportation trick from Advanced Logistics System for showing the mining drill.

recipe for visual signals

Hi there,
Isn't the recipe for the GUI Signal Display far too expensive? I find the item useful but it should be somewhat cheaper (similar to the combinators). I find the item should be available mid-game instead of just late game (where I don't care for much signals anymore because I have everything available everywhere anway).
What do you think? Why did you make it so expensive? Might also promote your mod a bit more, if the item is more available ;)

Flexibilize tempview

  • Put all stuff related to tempview in one directory, so that it's easy to include it from control.lua and data.lua
  • Pass parameter to tempview for the name of the backbutton, to avoid triggering two events

Visual Signals display error in Multiplayer

Hi there,
In a multiplayer game where I tried the "visual signals" mod of yours I got this error when placing the first signal display:
"Error while running event visual-signals::on_tick (ID 0)
visual-signals/control.lua:166: attempt to index field 'gui_signal_display' (a nil value)"

I'm player number 2 on that map so maybe it's multiplayer related?
Thanks for checking!

Detected recipe change message flood

I keep getting the following message periodically:

[What is missing] Detected recipe change at {1077.5, -520.5} from iron-plate to copper-plate

It floods the console with a whole bunch in a row when it happens. The numbers in the brackets changes in each flood set. Also it alternates between 'from iron to copper' and 'from copper to iron'.

I uploaded a zip file with my save, mod list, and mod settings files (25.2MB) to google drive. (Github's max upload size is 10MB.)
https://drive.google.com/file/d/0Byroz2BAyLHob1FmSGZtNGhxb2M/view?usp=sharing

Number of machines producing

An important factor that will determine how fast you are is: How fast can you get your machines up and running?

Check for some of the options of https://lua-api.factorio.com/latest/defines.html#defines.entity_status to determine functional/not-functional machines.

Maybe some players don't want their machines to be on "output full" because that means that they are overproducing?

Either way, at first check for things like "X machines producing iron ore at "

Advanced Combinator: Blueprint

Could it be possible to copy over the commands when building from blueprints?

Currently, it gets restored to default.

Listen for item produced event

Instead of manually detecting through magic when an item is produced by a mining drill, an assembling machine, or anything else, listen for an item produced event.

Odd behavior on Advanced Combinator

So I'm trying to use the Advanced Combinator to automate sat production in conjunction with the Crafting Combinator, but it is giving me some issues. Specifically, I am currently trying to get the an automation for Solar Panels 3s. I have the reads coming in from my storage to determine the cases on what is present, but after that is where it falls apart. I have tried a bitwise-and and an addition to see if I can get the triggers to fire right, but I cannot. I have tracked it down to not understanding what the const field is for at the end of the value_of_signal function. I am assuming that is to read the value on the combinator rather than the incoming line. Maybe that is my issue. I want to do my comparisons and get my boolean values, then use those to determine what to craft. What am I not getting?

if(compare(green(this,item/solar-panel),>,const(0)),set_signal(const(7),signal(signal_type(virtual/signal-0),const(1))));
if(compare(green(this,item/solar-panel-2),>,const(0)),set_signal(const(8),signal(signal_type(virtual/signal-1),const(1))));
if(compare(green(this,item/solar-panel-3),<,const(300)),set_signal(const(9),signal(signal_type(virtual/signal-2),const(1))));
if(compare(add(value_of_signal(signal(signal_type(virtual/signal-0),const(1))),value_of_signal(signal(signal_type(virtual/signal-0),const(1)))),=,const(2)),set_signal(const(1),signal(signal_type(virtual/signal-A),const(1))));

Visual Signals crashing in multiplayer

  • New player joining
  • New player didn't see the GUI button at the top so I placed down a GUI Signal Display
  • New player clicked the GUI button at the top and clicked one of the checkboxes

Crash:

603005.674 Error MainLoop.cpp:1207: Exception at tick 19555041: The mod Visual Signals (0.18.2) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event visual-signals::on_gui_checked_state_changed (ID 3)
__visual-signals__/control.lua:212: attempt to index field 'gui_signal_display' (a nil value)
stack traceback:
        __visual-signals__/control.lua:212: in function <__visual-signals__/control.lua:205>
603005.675 Error ServerMultiplayerManager.cpp:90: MultiplayerManager failed: "The mod Visual Signals (0.18.2) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event visual-signals::on_gui_checked_state_changed (ID 3)
__visual-signals__/control.lua:212: attempt to index field 'gui_signal_display' (a nil value)
stack traceback:
        __visual-signals__/control.lua:212: in function <__visual-signals__/control.lua:205>"

Chest view

View number of items in a specific chest at the top-left of the screen, always.

  • Create GUI to choose which chest(s) to show
  • Add option for summing all items, or show all chests separately
  • Add option to choose logistic network items

Electric pole break detection

Whenever an electric pole is destroyed, detect if that will split up your electronic network into two different networks.

Timeline showing some stuff

  • Research completed
  • Something is crafted X times
  • X number of resources gathered
  • Rocket launched
  • Include a public interface so that other mods can hook into this

Other thoughts:

  • Showing first time some resource is depleted is a bad idea, as this says nothing really, it depends on how much resources were there from the beginning

What is Missing Idea: show how long it's been since an ingredient was available

In my mind there's a difference between "What's the bottleneck" and "why isn't this working", and it would be cool to easily be able to see "electric engine units haven't been made in 5 minutes" as opposed to "you need more electric engine units to make this faster, but one was just available 5 seconds ago so it's not actually broken". I don't know if that would be a timer on each icon, or just highlighting them in shades of red as they sit idle for longer. Thanks!

Visual Signals: I would like to read the console when I need it

Love the Display, but as soon as there's a few displays showing, it takes up an inordinate amount of space over the console, which is unhelpful for multiplayer games.

Would be nice if the display window could be moved or minimized to allow more use of the console

Player specific config, specify config

Each player should have the possibility to have specific configuration, preferably this should be possible to enter before the game starts. (So that you don't have to pause the game to enter this later)

Specify what the configuration should contain. JSON-format seems optimal.

  • Type of notification
  • Notification parameter (item type)
  • Notification value(s) (mathematical formula?)

Overall Game Progress

Hardcode some game progress goals and have the ability to show how much resources are remaining (only count chests) until game is completed, and/or some other goals are met.

Possible goals:

  • Research Rocket Silo
  • Build Rocket Silo, Rocket and Satellite
  • Tank
  • Roboport
  • Destroyer Capsule
  • Science Pack 1
  • Science Pack 2
  • Science Pack 3
  • Science Pack 4

What needs to be done:

  • Create a "Progress" button in the top/left
  • Create a GUI to see all goals and some quick progress information for each goal
  • Possibly create a GUI to see more detailed information about the goals
  • Find which research topics needs to be researched for the goal
  • Find requirements for items needed to produce research goal
  • Do some math

Scan items in both chests and transport betls, perhaps even in robots.

Example for the rocket silo:

  • Requires 30 seconds
  • 1000 steel
  • 1000 concrete
  • 100 pipes
  • 200 processing units
  • 200 electric engine units

Then below all that show what is required to build those things, for example:

  • 5000 iron plate
  • 4000 electric circuit
  • 400 advanced circuit
  • ...

Then show stuff needed to produce that:

  • ... iron plate
  • ... copper cable
  • ...

As iron plate can occur on multiple levels, perhaps only show the sum of it on the bottom-most level?

Crash on boot (v1.0.0)

135.596 Error MainLoop.cpp:1207: Exception at tick 0: The mod Advanced Combinator (0.18.1) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event advanced-combinator::on_tick (ID 0)
advanced-combinator/control.lua:86: bad argument #1 of 2 to 'pairs' (table expected, got nil)
stack traceback:
[C]: in function 'pairs'
advanced-combinator/control.lua:86: in function <advanced-combinator/control.lua:85>

Save Timeline to HTML file

Save Timeline to HTML file. Use a <table> with the following headers:

  • Tick number
  • Timestamp (HH:MM:SS)
  • Event
  • Event parameter
  • Event value

Visual Signals: Make it possible to reorder

Even though it is possible to hide all and then show one by one, reordering the Signal Displays would be helpful.

Add this to the detailed GUI where you can change names of them.

Reordering should ignore if it is shown or not and then when showing a hidden one it should show it in the correct order, as they appear in the renaming GUI.

Technologies for Drills Monitoring

This is a good place to add technologies, for example:

  • Monitoring (general technology for all my monitoring related stuff), requires Electronics and maybe something else
  • Empty Drills Notification (get informed when a Drill is exhausted)
  • Drills Monitor (click to find closest useless drill)
  • Drills In Action (get information about how fast all drills gather resources, and how much remains, and the number of drills for each resource)
  • Drills Auto-Deconstruct (call entity.order_deconstruction(force))

Speed up resource count

By storing the resource-entities that was found while hovering, it can save performance by only having to loop over those entities again (assuming we're still holding over the same resource group), instead of searching again for which tiles contains resources.

Categories?

What does one press to itemize items into categories like in the first picture shown at the mod portal?
Regards,
~B

Timeline: Prepare test-data to support #13

To make it easier for non-Factorio developers to help with #13, make some test-data so that the script can be executed directly with Lua without the need of a Factorio installation.

What is missing: Removed recipe crashes game

If you are tracking "God Modules" (Bob's Mods) for example and then you remove the recipe for God Modules (by disabling that Mod option for example), then What is missing is causing Factorio to crash when it detects the recipe change on the machine that was producing them.

Production Monitoring

This is just some more or less organized random ideas just to put it down there:

  • Monitor all mining drills to see resources / minute
  • Monitor burners to see resources / minute, and productivity level
  • Monitor assembling factories, see resources / minute, and what cost is mostly lacking, and how long it has been since it did anything.
  • Click on a resource to see the distribution of it, where it goes, and where it comes from
  • Later on add to see the full distribution chain of stuff, for example: Automation of Science Pack 2: transport belt INPUT_STATS, inserter INPUT_STATS. And check this recursively to find out the root cause, which might be that a Burner Miner Drill has no coal, or that a factory is not getting enough iron wheels.
  • Later on add support for isolated parts of transportation belts, inserters, logistic networks, etc.
  • Expected time left until something runs out (whether it is items from a chest, or from logistic network, or from a parent product, or from iron ore)

INPUT_STATS:
Items / Minute (or second)
Last item retrieved at, second to last received at
Store all occasions of items retrieved for statistics?

QUESTIONS:
What to do with items that are lying in chests?
How to handle requester chests?

Other stuffs that might need to be considered:

  • Oil Refinery (assembling-machine)
  • Chemical Plant (assembling-machine)
  • Rocket Silo (assembling-machine)
  • Lab
  • Beacon
  • Boiler
  • Steam Engine
  • Transport belts
  • Inserters

For the exact formula of drills, see https://wiki.factorio.com/index.php?title=Mining_drills#Mining_Speed_Formula

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.