helfima / helmod Goto Github PK
View Code? Open in Web Editor NEWFactorio Mod
Factorio Mod
I Notice in the game science pack 1 was not reading right for my game.
Actual game had iron gear wheel: 5, copper: 15, fundamental technology components pack: 3,
Helms mod said it was iron gear wheel: 1, copper: 2, fundamental technology components pack: 1,
hmmm adding z to end was the fix for it and keeping it in zip formated, secon seem does not even box under ingredients has it right
In case you want to know my mod list which is
base, StickyNotes, TheFatController, VehiclesEquipement, what-is-it-used-for, advanced-logistics-system, AfraidOfTheDark, Alien Oil, Alternate Alien Science, angelstrigger-refining-enableproductivity,auto-research, autofill, AutoTrash, Bluebuild, blueprint-book-2, Bottleneck, CharcoalBurner, color-coding, compressor, Crafting_Speed_Research, electric-vehicles-lib, EvoGUI, EvolutionReduction, Expanded_Robot_Tech, Factorissimo, FARL, HandyHands, helmod, InterfaceChest, Landfill, launch-control, Lejv-armor, Miniaturization, MoreLight, Nanobots, Resource_Relocation_Machines, robotarmy, RSORadar, SatelliteRadar, SmallFixes, space-platform, Squeak Through, Teleportation, TimeTools, tree_collision, upgrade-planner, usefulSpace, VersepellesOreEnrichment, Warehousing, Waterfill, WideChests, wireless-charging-lib, YARM, ZRecycling, electric-vehicles, LogisticTrainNetwork, SmartTrains, wireless-charging, rso-mod, VersepellesAlienFarm,
bobplates, bobtech,bobenemies, bobores, bobvehicleequipment, bobconfig, bobinserters, boblibrary, bobassembly, bobelectronics, bobgreenhouse, boblogistics, bobmining, bobpower, bobrevamp, bobmodules, bobwarfare, flowcontrolbobs,
SpaceModforF014,marathon,BobExtended,
angelsaddons-oresilos, angelsaddons-warehouses, angelscomponents, angelspetrochem, angelsaddons-pressuretanks, angelsbioprocessing, angelslogistics, angelssmelting, angelsinfiniteores,angelsrefining,
LoaderSpeedPatch, Orbital Ion Cannon, replicators, add-loader, MiningTools, Arborium
I noticed this pattern used in a lot of your code:
if key ~= nil then
options.name = action..key
else
options.name = action
end
That can be simplified to:
options.name = key and (action..key) or action
There's also this sort of thing:
if style ~= nil then
options.style = style
end
An initial simplification is:
if style then --> nil is falsey, so we don't need to explicitly state it in this case
options.style = style
end
But nil
values in a table property are automatically removed, so we can further simplify it to (in most cases):
options.style = style
-- if style is nil, the options table won't have a style property
Cannot set corect resolution via consol comand
https://puu.sh/vB8K6/3b48de9c7c.png
factorio version is 0.15.5
Downloaded the mod and loaded an existing save game and got the error below. Starting a fresh game does not result in an error.
The is on version 0.4.4 of helmod and version 0.15.9 of Factorio.
Error while running event helmod::on_tick (ID 0)
helmod/helmod.lua:135: attempt to index field 'users' (a nil value)
When a product is in a recursive recipe, the values are null
[Hey Helfima, thanks for your great mod! I'm just putting down some ideas that might make it even better, feel free (obviously) to ignore me :)]
Helmod rounds up the # of factories required (which makes sense). It would be nice to see to what % the factories are used, i.e. if I have 4 red circuits it requires 1 green, but that is only used 67% of capacity.
There is a percentage next to each recipe, but that seems to always be 100%, so maybe this was a planned feature?
E.g. in this screenshot, it would be great if the percentage next to the green circuit plant said 67%.
by pieppiep
I would like is to have a block with more than one output recipe.
That way I can produce for example both science 1 and science 2 in one block.
It seems that all recipe inputs are rounded to the nearest whole number. This can lead to inaccurate results if you're clicking through a bunch of recipes. In this example, I wanted 2 solder/second, which will require 0.5 resin/second. I am incorrectly told that I will need 10 assembly machines producing resin, when in fact I only require 5 assembly machines.
Currently the default is always assembler level 1, even for chemical products or smelting, even though the selection list is subsequently filtered.
(Also, maybe instead of defaulting to level 1, default to the last picked option as I think most people use almost exclusively level 2 or 3 assemblers by the time they are really designing their plants)
I'm setting up a block for all of my science production. Decided to include red and green science as well as the requirements for assembly (so, inserters, gear wheels, circuits, etc.). For iron gears it's telling me I should put in 5 iron plates for 2.5 iron gears instead of the expected 6 for 3, because the concept of 0.5 gear wheels is silly.
by pieppiep:
Is it possible to show total input and total output on the production line.
For example, I want to make 1 science pack 1 and 1 science pack 2, the total would show 7.5 iron plate and 2.5 copper plate input.
Then I add a iron plate construction block and the total would show 7.5 iron ore and 2.5 copper plate input.
This small example it's possible to calculate it by hand, but when you have a block for each science pack and add some blocks to produce raw resources it's hard to see what resources you still need blocks for.
First, thanks for this mod, it really helped plan my base!
(https://forums.factorio.com/viewtopic.php?f=204&t=38856)
Now, maybe I don't understand how it works, but I can't get helmod to properly calculate the refinery part.
My base needs 4.5k light oil for rocket fuel, and around 11k PG for sulfur and plastic.
If I add a separate block with 'adv oil processing' as main recipe, it just refines up to 11k PG and 'throws away' the remaining light and heavy oil, and adding cracking recipes gives zero or negative numbers:
If I add refining and cracking to another production block (e.g. to the plastic block), it assumes that either the refinery should produce all PG (and heavy+light are rest products), or the cracking should produce all PG (and the original PG from the refining becomes a rest product):
I understand the difficulty since normally you have a single end product and everything just transforms intermediates until the end product is reached; but here you have 2 end products (fuel+gas) and how much light->pg cracking is needed and the ratio (pg->fuel : light->fuel) depends on the desired ratio between the end products, so the calculation is not as straightforward... but it would be nice to have :)
Give me a shout if you need more information and/or the save file!
add power on sub block
So, I was messing around with the mod, seeing what a hypothetical smelting line would require. Apparently the mod doesn't know that stone furnaces don't get power from the electrical grid, because it recommended I power the furnaces with 77 steam engines.
When it calculates how many machines are needed, it doesn't account for productivity.
Quick way to see this is to add 2 Productivity modules (-15% speed each) and 1 Tier 2 Speed module (+30%) speed. This is a total net speed of +0%. It thinks this setup takes the same number of assemblers as having 0 modules.
It would be nice to be able to specify a maximum number of factories per row, and then see what that does to input/output.
Explanation: Suppose I am making a red circuit plant, requiring also green circuits and cables.Now, the ideal ratio is 6 red : 1 green : 7 cable (2 for the reds, 5 for the green).
Now, I have a cool design that can only fit in 6 cable plants. What will that do to my output?
Maybe this is a stupid idea, feel free (obviously) to close ;-)
helmod.lua:183 in on_configuration_changed
attempt to index field "model" a nil value
form blondin: dans ton mod tu peu pas ajouter un truc pour qu'on soit pas obliger de changer les usines sur chaque ligne mais que ca les change toutes d'un coup
moi: idem pour les modules
when I view the summary of the production line you can see how many extractors you need. it defaults to electric mining drills, it says to the right that the nominal speed of the electric mining drill is 0.5, which is correct, but when you change the factory type to burner mining drill or when you click to change to electric mining drill, the value changes to an incorrect value. the nominal speed value of electric mining drills suddenly becomes 1.5 and the value of burner mining drills becomes 0.88.
This is annoying because sometimes I like to mess around with burner inserters for extraction, but I can't change the values or else the nominal speed gets messed up and the calculations get messed up.
Repost from https://forums.factorio.com/viewtopic.php?f=92&t=30465&start=20
This is a very useful mod! I wish I'd found it before I'd gone to the trouble of putting together my spreadsheet.
I was hoping you might be able to help guide re: correct settings for rocket fuel production. For example, let's say we want the breakdown of ingredients necessary to generate 1 rocket fuel per second, assuming advanced cracking (and no modules or beacons to keep it simple).
We know that 1 rocket fuel requires 10 solid fuel, which we can make from ~11.21 (liters of) crude. Here are the calcs.
I'm unable to replicate this calculation in Helmod (image below)
The numbers in the blue circle are calculated from the figures above: heavy cracking gives ~14% of all light (0.84 / 5.89), solid fuel conversion of light gives ~59% of all solid fuel (5.89 / 10) and solid fuel conversion of petroleum gives 41% of all solid fuel (4.11 / 10).
What am I doing wrong?
by pieppiep
I can think of right now is to import/export production lines via a string like the bluestrings so you can plan something in a different game
in MP game we need a data transfer or common data
Module can't use for all
And u can't put productivity module in beacon
Are there any plans to update this to factorio 0.15? I guess the dynamic recipe cost could make it more difficult...
The names "combo" and "factory" in the beacon panel are not very intuitive and I've noticed some people asking about it on reddit and the forums. Maybe just call them "beacons per assembler" and "total ratio assemblers:beacons" or something like that, or provide a tooltip or label for explanation?
Add inserter in line of block
add machine of bob mod
add machine of angel mod
Bad computing on input count when there are few line with same ingredient for the input
add refresh button or auto
When adding a recipe to the production line, clicking the same production time twice will cause a crash.
http://puu.sh/uWYeQ/809f92cc79.png
by Mobius1
Is it possible to, instead of setting the desired ammount of production of an item, calculate it after you set all the assembly machines and beacons. For example, if I'm using bob's mods and I set an Assembly Machine MK6 with 6 Raw Productivity Modules MK8 (120% prod per module 720% total productivity) beaconed by 16 MK3 beacons with 6 Raw Speed Modules inserted on them (166120% speed bonus), but I wanna know how many of a product this setup can produce, instead of saying "i wanna know how many assemblies with beacons i need to produce 1000 red packs per minute", it'd be like the inverse order of what we are doing now with the recipes. Is there a way to do that?
I'm playing Factorio with quite a few addons that add buttons to the top left, as a result helmod gets pushed to the right so far I can't actually access the tab that opens on the right:
The easiest solution (I think) is to have the window draggable, then you can just drag it to where you can see it.
Add filter on selector recipe when adding recipe from a existed line
Add filter by a name field
After I create the full chain for producing plastic with propene from natural gas, using Angels Petrochem, if I increase the output amount of plastic, the chain updates correctly.
But if I then reduce the amount of plastic, the steam cracking methane does not update and does not reduce the amount produced.
This happens on 0.3.1 and 0.3.0
Add few display size options
The game calculates how long it takes a given resource extractor using more than just the speed of the extractor. The formula is:
(mining power - ore mining hardness) * mining speed / mining time = production rate in resources per second. You can verify that on the wiki at https://wiki.factorio.com/Mining
An example of this in the baseline game:
Iron ore has hardness 0.9 and mining time 2. An electric drill has mining power 3 and mining speed 0.5. Plug that into the above and it's (3-.9)*.5/2 = 0.525 ore per second.
However, stone is slight different with 0.4 hardness instead of 0.9. That change results in 0.65 stone being mined per second.
Hi Helfima thanks for this amazing mod.
I found a problem with Angels, where cushed Ores can't be selected to make the final ores in the furnace.
Also I would like to ask if it's possible to implement the option select ratio besides poduction/time. For example 2 circuit assembler for 3 copper string assembler. And the option to fill for example a entire yellwo belt.
Thanks Halmex
Electric Mining Drills should be allowed to use productivity modules, but helmod doesn't think they can.
They also should have 3 slots, not 2.
Suggested change:
On line 32 of function SpeedController.methods:bindController(player) in helmod/speed/speedController.lua you should add "and player.admin" to the if statement
https://forums.factorio.com/viewtopic.php?f=92&t=30465&p=235334#p235334
Hi,
first of all: great mod, just perfect for those big bases with quadzillions of different (mod) products and I just love to plan my next production line ahead and min-max the shit out of it :)
Unfortunately I had to notice a rather annoying thing. I play on a headless server with a friend and sometimes (not every time, but often enough) when I close my pinned production line window I'll get a desync and have to restart the game. I attached my log file from such a desync, maybe you can look into it? Oh and I once had the same desync issue multiple times in a row while trying to select another production building for a given recipe, so maybe it's not just related to the pinned window.
factorio-previous.txt
I have a migration crash with the 0.3.0 upgrade script. It seems that "model" is a number on line 322 of helmod.lua in some circumstances. I had some "empty" production lines.
My fix was to wrap the rest of the loop with an "if type(model) == "table"" statement, however, I'm pretty sure that's not really very good. I can supply a save that'll crash, if you need it.
Note: I'm running 0.3.2, migrating from last version before 0.3.0.
I mostly play Factorio on a Leptop with a max resolution of 1366x768. With the currently supported display sizes the mod is unplayable because most of the buttons are unreachable. Could a display size option for 1366*768 be added?
Befor clicking "Add Production Block":
After clicking "Add Production Block":
I have a suggestion:
The config component of Bob's mods has two settings:
Currently, the former setting prevents you from using productivity modules in any recipe in this mod's GUI, while the latter is ignored (productivity modules can't be placed in beacons regardless of the setting).
This is probably an edge case (not sure how many people play with these settings turned on), but it would be nice to have support for these features.
@see https://forums.factorio.com/viewtopic.php?f=92&t=30465&p=248285#p248285
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.