[MOD 0.17+] Adamo Mods

Topics and discussion about specific mods
Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

[MOD 0.17+] Adamo Mods

Post by Adamo » Sat Aug 17, 2019 2:08 pm

Here is a link to my published mods: https://mods.factorio.com/user/eladamo

My philosophy is to extend the vanilla game rather than replace it. Therefore, in almost all cases, my mods should be compatible with vanilla recipes and blueprints, and other mods. Here are exceptions:
  • Adamo Chemical requires Simple Silicon. This means red and blue chips require silicon wafers, made from quartz. Simple Silicon adds a quartz resource, and Adamo Chemical allows you to screen stone for quartz and other minerals.
  • Adamo Nuclear completely overhauls the nuclear production chain. More on that below.
  • Physics needs to be stress-tested on more mega reactors. It *should* work fine, and it works on mine, but I'd like more confirmation.
  • Carbon, by default, replaces water with steam in cracking and refinery recipes. This can be turned off with a setting.
My mods may not generally replace or hide vanilla recipes, but Adamo Chemical in particular provides alternative production chains and crafting machines with an array of balanced advantages and disadvantages (always a work in progress, of course). And one thing I love is organization. I hope you'll find that the menu ordering of recipes and other data introduced by my mods is self-contained and easy to follow. I also like pretty colors. The gas-fired boiler glows a pretty pink-red, and the thermal nuclear boiler, a deep blue-cyan, like Cherenkov radiation.

I'm little good with graphics. I can make icons and do some basic manipulations of colors and smudging on entities, but I've had to go out to the community to get good entity animations. So you'll find that I have licenses included with my mods for graphics that were put out under derivable licenses. I strongly appreciate the hard work you all have done, and that you used derivable licenses, which enabled me to apply my talents.

Physics: Reintroduces efficiencies to provide differentiation between fluid and chemical burners, nuclear boilers, nuclear reactors, and chemical-generated heat. This setup leaves nuclear reactors and chemical burner boilers as the most-efficient options, as we see in real life. This improves balance among the non-vanilla energy sources introduced by the other mods here, and mods from others. Also improves rockets.

Carbon: Introduces a new fluid resource: natural gas. Natural gas can be burned or broken down into methane and petroleum gas, and methane can be used in late-game to reform heavier hydrocarbons using the Fischer-Tropsch process. Syngas can be generated by steam reforming of methane or burning fuel items in the gasifier. The carbon mod can interface with your mod's syngas fluid through a mod setting, giving it a fuel_value and setting it to generate in the gasifier. It would be cool if someone integrated ammonia production along this process chain. Also adds some recipes to the standard oil production chain.
natgas.png
natgas.png (1.13 MiB) Viewed 1596 times
natgas2.png
natgas2.png (1014.14 KiB) Viewed 1598 times

Nuclear: My only overhaul mod. I'm a physicist by training, and programmer by trade, so it seemed like tackling the nuclear production chain would be just the thing for me. This mod uses a nuclear fuel and enrichment toy model I built to inform the recipes, and should provide an interesting, realistic, and possibly even educational experience. It's not much harder than the vanilla production chain (easier in some ways), but different; not magical.
recipes.png
recipes.png (38.75 KiB) Viewed 1614 times
uraniumprocessing.png
uraniumprocessing.png (3.87 MiB) Viewed 1224 times
reactors.png
reactors.png (529.16 KiB) Viewed 1230 times


Chemical: Adamo Chemical doesn't replace vanilla recipes, but offers several crafting machines with advantages and disadvantages using "chemical reaction type" categories deduced from all available recipes, and adds some useful new chemicals. It adds the ability to process stone for minerals that are used to make chemicals. Talk to me if you have a stone mineral you think should be added to the screening output. Many of the recipes in this graphic were picked up from mods, then organized along with the vanilla recipes according to various criteria I've set. Note these are new recipes copied from the original data: the old recipes are still available for use in vanilla machines.
chemical_reverse_engineering.png
chemical_reverse_engineering.png (199.77 KiB) Viewed 1609 times

Heat processing: Do chemistry with a small heat-powered chem plant; use chemical fuel to refine oil in the still; and make heat from chemical fuel in a burner-powered reactor entity.
noalt.png
noalt.png (3.17 MiB) Viewed 1618 times

Gas-fired boiler: burn fluids directly to make steam using a gas-fired boiler.

Gas generator: a derivative of KS Power, this implements his diesel generator as a generator that burns any fluid directly, at 80% efficiency.

Clicker: Multiplayer-focused player and vehicle camera interface with vehicle autopilot derived from the original helicopter mod. It also has basic functions to order compilatrons to scatter, follow, and move to map markers. I'd say it's a must-have for big multiplayer maps, but the autopilot only works well with vehicles that are always "flying". Reintegration with the original helicopter code is pending; dirigible works well, though. As does Adamo Cars. Probably Aircraft, too. It even follows players to other surfaces, e.g. when they go inside factorissimo buildings.
clickervideo.png
clickervideo.png (4.71 MiB) Viewed 1614 times
spyonfriends.png
spyonfriends.png (3.1 MiB) Viewed 1525 times

Companions: A control code which adds behaviours to compilatrons and the ability to make them. Compilatrons will graze on trees, pooping out boxes of wood when they're full, and attach themselves to your beacons to aid in production and research. It's cute: they run around and use their zappy beams.

Clusterio (Spaceport Edition): Minor fork of the Clusterio mod. Makes the clusterio mod "harder" in that it requires the player force to launch a rocket, thus reaching "spaceport status", before it can use the clusterio machines to send and receive items, or share research with other servers. Disables sending fluids by way of the fluid transmitter: all fluids must be sent in barrels. Adds buttons to travel to other servers from any spaceport.

Calibration: Applies data changes to base data and many mods, mostly for balancing. E.G. added electric-boiler and flare stacks to fluid-handling technology when those mods are present, and restricted some buildings from being built on top of ore. Some locale changes.

Catalogue: Serves as a meta-package for my server network's mod pack. Reorders recipes and items in a way that attempts to follow the vanilla ordering while separating unlike recipes and items into more categories. Also adds an "equipment" tab in addition to the existing "combat" tab. I don't intend to support huge mods like Bob's or Angel's in the catalog, but I am interested in all mods that are multiplayer-friendly, extend the game in some useful way, and are well-maintained.
cataloguing.png
cataloguing.png (184.44 KiB) Viewed 793 times

Contraptions: Scripted armor equipment and a plutonium-238-powered power armor.

Spacesuit: Weak starting armor with a few bots and an "emergency reactor" equipment generator that can't be otherwise crafted.

Pipes: copper, stone, and plastic pipes.

Quantized inserter: (Alternative to loader for cargo wagons, since loaders in to and out of cargo wagons is not UPS-friendly) An inserter and filter inserter that move at precisely one rotation per tick.

Finally, my mods do a ton of recipe and animation trolling and manipulation, so I've been compiling a utility library, which I keep updated, here: http://shadydealings.net/fact/factsheet.lua

Please use any of that code, or let me know if you find problems, or whatever.
Last edited by Adamo on Mon Sep 30, 2019 12:41 am, edited 29 times in total.

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 1812
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: [MOD 0.17+] Adamo's Mods

Post by BlueTemplar » Sat Aug 17, 2019 4:37 pm

Awesome ! Image
I'll probably use these instead of vanilla for my next game - with the Space Exploration mod.

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo's Mods

Post by Adamo » Sat Aug 17, 2019 5:01 pm

BlueTemplar wrote:
Sat Aug 17, 2019 4:37 pm
Awesome ! Image
I'll probably use these instead of vanilla for my next game - with the Space Exploration mod.
Thanks! Let me know how it goes. I think one thing we'd like to do re: Space Exploration is to have a "planet type" where each server only spawns as a certain type of planet, since the server network is already connected as a sort of "web of planets" through clusterio.

User avatar
Shenpen
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sat Aug 27, 2016 2:46 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Shenpen » Sun Aug 18, 2019 10:25 am

The nuclear stuff looks very interesting!

Samut
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sat Aug 17, 2019 7:23 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Samut » Sat Aug 31, 2019 2:35 am

How do I create more Compilatrons? I see a very expensive recipe in the code but not in the game.

Thanks.

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Adamo » Sat Aug 31, 2019 6:21 pm

Samut wrote:
Sat Aug 31, 2019 2:35 am
How do I create more Compilatrons? I see a very expensive recipe in the code but not in the game.

Thanks.
Did you research Effect Transmission? They should be available in that technology. If you added my mod after researching effect transmission, and you still can't make them, then you may need to run the command /c game.player.force.reset_technology_effects(), because sometimes the game does not automatically activate newly-added recipes in techs you've already researched.

Also, thanks for reminding me, I will go ahead and reduce the cost. I'll put the reduced cost in the next update. They used to be stronger, so they needed more expense.

myricaulus
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 08, 2017 3:33 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by myricaulus » Thu Sep 26, 2019 4:53 pm

Adamo wrote:
Sat Aug 31, 2019 6:21 pm
because sometimes the game does not automatically activate newly-added recipes in techs you've already researched.
It never does, you need to add a migration code for that like shown in the tutorial:
https://lua-api.factorio.com/latest/Migrations.html

Btw: Your mods are intriguing, could you provide me a mod list how you think they are supposed to be played, especially considering your "Calibrations" mod?

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Adamo » Thu Sep 26, 2019 6:24 pm

myricaulus wrote:
Thu Sep 26, 2019 4:53 pm
Very much appreciate your interest. I tried to give more complete descriptions of my mods in the mod portal entry for each mod, which you probably know how to find using the link in the original post.

Regarding calibrations, I'll say a bit here since I have not done a description for that mod. In literal terms it only applies changes to items in other mods (including the base mod). Most of these are very small changes that would never be noticed. We play on a clusterio of factorio servers using my mod pack that always stays on, so my mods are balanced toward that gameplay style. The calibration mod checks to see if certain things exist, and if they do, it changes them as I've seen fit over the years.

For example, let's see, the calibration mod hides the put-tank in the Clusterio mod. It adds a collision mask for many machines so that newbies can't build on top of ore patches. It hides the iron chest, because that is a garbage entity, and renames it "Terrible Chest" for people who know how to get around things being hidden. It changes the color of the concrete lamp post's light (Somehow I have a version that's 0.17 compatible, even though I don't see it on the mod portal. Seems like I might have gotten lucky. I don't remember fixing it for 0.17 myself.) to be that deep yellow we see with sodium street lamps. If you have the AAI Hauler, it will totally rebrand it to the "Dump Truck", with a different set of characteristics, and some weapons.

Let's see... it changes the recipes in the dirigibles mod to use pumps, like a sane mod. If you have uranium transport belts and vanilla HD loaders, it adds a uranium transport belt-compatible loader. That might be it. So here is the new record, I guess. I add stuff every once in a while when needed.

If you're looking for something that calibrates the physics/power production in the game to be a bit more interesting, that's the physics mod. The chemistry mod is all about recipes: adding new recipes; algorithmically generating alternative recipes from existing recipes; that sort of thing. Nuclear is a rework where I applied a centrifuging equation and a fast neutron reactor spectrum cross-sectional probability analysis to generate new nuclear recipes that represent a more-physical nuclear production chain. It's more straight-forward than the vanilla production tree, in some ways, but it adds a fluid step to the production chain, and you have to manipulate a number of fluids to get maximum efficiency from nuclear fuels. It's interesting, and adds more ways to use uranium. I'm not totally sold on all parts of the production chain, yet, especially the raffinate processing. It won't change too much going forward, though, and only if I find across-the-board improvements.

I guess that's all I'll say for now. Let me know if you have any questions. Thanks again.

myricaulus wrote:
Thu Sep 26, 2019 4:53 pm
It never does, you need to add a migration code for that like shown in the tutorial:
Thanks. I do realize that this can be fixed with a migration script, or a control script. I guess I'm being obstinate: I feel like the game should do this automatically. :P

myricaulus
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 08, 2017 3:33 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by myricaulus » Thu Sep 26, 2019 9:59 pm

Adamo wrote:
Thu Sep 26, 2019 6:24 pm
It hides the iron chest, because that is a garbage entity, and renames it "Terrible Chest" for people who know how to get around things being hidden.
This one gave me a good chuckle :-D

Anyways, i must inform you that u misunderstood me. I have already read your mod description carefully :-D What i wanted to know is, what other mods work well with yours. I assume if i smack all your mods together they most likely work, do they? But if i would combine them with PyBobAngelYuokiSpaceExploration i can imagine some overlapping ;). As you didn't define any inkompatible mods i wanted to ask this.

I have played the pyanodon mods and did find it interesting, but the circular dependencies across every production chain was to much a pain for me and too many byproducts for basically every single product.
Angels wasn't that hard, was actually really fun, with those molten metals and stuff, i just didnt like this ore processing because of all of this cleaning and the dependency of those cleaning by-products in later stages. it was a mess to stabilize... Together with bobs for the little extra oomph when needed its still my favorite i think. I even tried to alter Angels mods to remove those cleaning products, but its not easy. Everything is interwoven.
Space Exploration was really fun, even in space with all those circular production chains, but they were usually local to a single production block. Thats ok. Just the ratios in Space went a bit odd, very large scale productions to feed a single something for those late game science packs. Finally the UPS killed the base..
I just played Industrial Revolution with all those intermediates, this was quite fun until the scaling required for 1RPM around 1000 Steelsmelters+1000Ironsmelter+2000 ore processing in 3 steps to feed a measly final 40 Assemblers. I think it needs quite a rebalance. At least the dependencies of those ore-by-products are manageable.
On the other side there are bob mods, where you can fire 1RPM with a single Goldminer...
Now i will try DyWorld, lets see what awaits me.
Then i will try your mods and if you can suggest good mods like those above that works well together (like Bob+Angels) i will try that.

Regarding your comment about not using migration scripts i am actually a bit scared to try your stuff, maybe i get great bug-feast. I also didnt understand why factorio handles new recipes this way, but as i didnt want to answer questions of newbs about not find a recipe and blaming me for the misbehavior of factorio i just did what needed to be done. Apparently you dont think so :-\

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Adamo » Fri Sep 27, 2019 5:43 pm

myricaulus wrote:
Thu Sep 26, 2019 9:59 pm
Ahh, thanks for explaining in detail. I am meticulous about avoiding bugs. We had been using these mods in various forms for over a year before I started releasing them to the mod portal (and there are still many yet to be released!). I do use migrations in terms of moving names between changes, but those aren't scripts, they are json files, and I think I had to use a migration lua script at one point to handle something a bit more complicated, but I don't remember what it was. I am NOT against using migration scripts. I only meant that I am rebelling against the system not automatically activating new recipes that are added to a mod which are enabled by techs the player had already researched. And I'm pretty sure I've seen that the game does sometimes enable these new recipes, but not always. I just didn't want to have to add reset_technology_effects() in a script in every new release, or in a control script in each of my mods that adds new recipes. In my view, the game should do this automatically. This would only ever show up if you added my mods in the middle of a saved game, or if I added new recipes, which would always be noted in the changelog, and which rarely happens anymore. It can always be fixed by just running player.force.reset_technology_effects(). I'm still considering adding that functionality to my mods, don't get me wrong, but it's a minor point relative to the overall development.

In fact, there's another reason I haven't done it, yet: I've asked myself why they would decide not to do this automatically. The only reason I have come up with is that it would disable any recipes someone had previously enabled through some other means but isn't part of the force's researched technology. So if that's the reason, I don't want using my mod to suddenly change that behaviour for everyone. Since I use a function called add_recipe_to_tech() to add new recipes to technologies, I was thinking I might add to that function a "check" that will call a control script in the config state to enable all of my recipes that need to be enabled, without disabling recipes like they would be with reset_technology_effects(). So I might do that, but one unanswered question becomes: where do I put the control script? In every mod? That seems to be ridiculous. In just my Calibration mod? Well, most people who use one of my mods don't use that. So there is no simple, perfect solution. I might just open a feature request, instead.

Let me think for a moment about how I want to respond about mod compatibility. Before I go into more details, I will tell you that I can't guarantee mod compatibility, but that I try to think very hard about how things are added, and that I use systematic approaches to altering data, and I don't inject information into places that should hurt much. Every time one of my mods goes to alter data, it meticulously checks and enforces data correctness. The main reason I'm having trouble with IR is because he rebuilds the entire tech tree. It's actually possible my mods are perfectly compatible with what he's doing, but one of my dependencies isn't: Simple Silicon. I do plan to try to address that at some point, but been working on other things.

You can also take a look at my mod called "Catalogue". It lists all of the mods we use on my server network. So you can be sure that, at least, my mods are compatible with those mods, and with anything that works similarly to them, because I went about compatibility not by making exceptions in my code for edge cases, but by adjusting my design so that compatibility occurred naturally. The only exception I can think of at the moment is with the APP mod, which requires buildings to be added to an exception list he maintains, for people who use that mod. I did add my machines to his exception list, and I adjusted the way I was changing the assembler mk 3 to be consistent with what he was doing, so we're good there. Oh, another exception was with RSO, which needs special settings for new resources, like the natural gas resource in Carbon. That's also taken care of.

My hope is that you will find my mods to be not only compatible with other mods, but that the Chemical and Physics mods, notably, work with other mods in interesting and somewhat predictable ways. I'd be interested in any reports you can provide, and I'm willing to fix most compatibility issues, and usually will address them within a few hours. I'm only limited by not knowing what problems await fixing. I'm fairly confident there shouldn't be any naming collisions. The nuclear mod might have trouble with other mods if they also try to change the nuclear production chain, or it might just load itself mostly in parallel. On the other hand, my contraptions mod will pick up on at least some of the other nuclear mods' Plutonium 238 items and use whatever it finds as an ingredient in the nuclear armor recipe. So in that sense I've tried to think about how my additions can rely on other mods that do similar things to what mine do. I think I set it to find mine last, for the case where you've loaded multiple nuclear mods.

My control script mods -- Clicker, Companions, especially -- shouldn't be problematic at all in terms of compatibility. The various furnaces and generators I would think should be fine. Heat Processing adds a new chemical plant: should be fine, but it won't pick up on other crafting categories if other mods add them. Sometimes a mod would add a new crafting category, and add that category to the main chemical plant, you see, but then it wouldn't know to add it to mine. I could add support for any of those categories if someone wanted them to be available, though. Honestly, I'd say just give it a try and see; I do not expect many problems. One step I know I need to take to improve Adamo Chemical's compatibility is to remove the Simple Silicon dependency, but to do that I need to add a self-contained quartz resource, so I've been putting it off. But as long as your other mod is also compatible with Simple Silicon, this wouldn't be problematic.

Another thing I thought of that could be problematic is if another mod is altering vanilla data of the boiler or the steel or electric furnaces. If that happens, then there will be a race between my mod which copies data from that entity and the other mod, and the other mod will probably win, since I only make those sorts of changes in data-updates.lua, which gets loaded in the second round. So my mod would then pick up on those changes, and if they are, for example, animation changes, this could result in some weird things. If they changed the collision_box this could cause a crash, since if I've added any fluid boxes, they could now be inside the boundary. If they are just reasonable entity changes, then it's likely my mod would pick up on those changes and happily use them for your game. If the other mod makes those changes in data-updates.lua, then it's likely my mod would copy from the vanilla data, since most of my mods start with the word "adamo" and thus get loaded early in the order.

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 1812
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by BlueTemplar » Sat Sep 28, 2019 12:57 pm

myricaulus wrote:
Thu Sep 26, 2019 4:53 pm
[...]
Btw: Your mods are intriguing, could you provide me a mod list how you think they are supposed to be played, especially considering your "Calibrations" mod?
Yeaah, I've tried to figure that out myself... then went a little bit overboard with the mods (suggested of suggested of suggested...), ending up with 414 mods, spending several hours fixing bugs, managing to get past the data stage... then giving up because the game hung in the graphics loading stage !
Attachments
factorio-current_Diesel-Locomotive_0.2.3.log
(430.3 KiB) Downloaded 6 times

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Adamo » Sat Sep 28, 2019 1:45 pm

BlueTemplar wrote:
Sat Sep 28, 2019 12:57 pm
Hey BlueTemplar,

Could you give me more information about what you mean? Some of these 414 mods were mine, or were suggested by me at some point (i.e. through my catalogue mod)? Did you have trouble getting my mods to load along with some other mods, specifically? I know Simple Silicon is going to give trouble with some mods, but for the most part, I expect things to be compatible with almost any other mods, so I very much want to fix any of those issues. Even if you don't have perfect information, anything you can tell me might help.

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 1812
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by BlueTemplar » Sat Sep 28, 2019 1:53 pm

Nah, for the data stage it were mostly Reika's mods not liking what other mods did (and also having to update Concrete Poles to 0.17).
I gave up because hanging in the graphics stage (IIRC) didn't provide any feedback as to what was wrong - so I'm playing it safe again, adding mods small batch by small batch...

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Adamo » Sat Sep 28, 2019 1:57 pm

BlueTemplar wrote:
Sat Sep 28, 2019 1:53 pm
Nah, for the data stage it were mostly Reika's mods not liking what other mods did (and also having to update Concrete Poles to 0.17).
I gave up because hanging in the graphics stage (IIRC) didn't provide any feedback as to what was wrong - so I'm playing it safe again, adding mods small batch by small batch...
Ahh, yes, I've had a few troubles with Reika's as well. We use Radio Network, Factor-IO, and Dragon Industries, though, so those should at least be OK. There's some trouble with the Dragon Industries dependency due to the way it changes the tech tree, adding science pack technologies as prerequisites; sometimes, if a tech isn't setup properly, this can cause an error at the end of the data stage. We've let him know on his bug tracker about that.

If you have any experiences where you added one of my mods and it crashed, please do let me know right away. I'll usually fix it immediately.

myricaulus
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 08, 2017 3:33 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by myricaulus » Sun Sep 29, 2019 4:14 pm

Adamo wrote:
Fri Sep 27, 2019 5:43 pm
Since I use a function called add_recipe_to_tech() to add new recipes to technologies, I was thinking I might add to that function a "check" that will call a control script in the config state to enable all of my recipes that need to be enabled, without disabling recipes like they would be with reset_technology_effects(). So I might do that, but one unanswered question becomes: where do I put the control script? In every mod? That seems to be ridiculous.
I dont know lua that well, but is it possible to create an anonymous function every time add_recipe_to_tech is called, add it as a eventhandler to a custom event like "onFactorioIsTooStupidToLoadRecipesItself" and call it later in the control stage in some sort of library mod all your mods will depend on? Since add_recipe_to_tech knows both the recipe as well as the tech this line like

Code: Select all

recipes["rail-chain-signal"].enabled = technologies["rail-signals"].researched
could easily be executed, preferable in one generic migration script. I actually just saw on the official migration page :
The game resets recipes/ technologies any time mods, prototypes, or startup settings change, so this does not need to be done in migration scripts.
, but i can confirm adding recipes to researched technology does not make those available! Maybe a bug? Maybe do we understand that line wrong?

Anyways i feel way more comfortable now to try your mods after you explained me your point of view in this detail. Especially since the descriptions within the mods are, while quite funny, not very informative. Please don't take this personally, but if you see those mods first time, my first though was, "these are just some quick hacks" and not the mods of this pristine quality they apparently are. And you know the first impression sticks quite heavyly.

And finally i got an answer for my initial questen, how you think your mods are meant to be player: "catalogue", i will have a look later :-)

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 1812
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by BlueTemplar » Sun Sep 29, 2019 5:00 pm


myricaulus
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 08, 2017 3:33 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by myricaulus » Sun Sep 29, 2019 7:01 pm

Not Quite, as it is the same stuff i was telling here, but it still does not solve the fundamental issue, why factorio isnt doing it by itself, as it is clearly stating on https://lua-api.factorio.com/latest/Migrations.html
Lua migrations allow altering the loaded game state. Typically this is done when recipes or technologies have changed. The game resets recipes/ technologies any time mods, prototypes, or startup settings change, so this does not need to be done in migration scripts.
Btw: @Adamo, i got the following warning after installing about 80% of your Catalogue List :

Code: Select all

48.381 Warning! Sprite at {0,0; 32x32} from __adamo-nuclear__/graphics/icons/yellowcake.png is defined with 4 mipmap levels, but level 1 is expected to be at {32,0; 16x16} which is out of bounds of the source image.

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Adamo » Mon Sep 30, 2019 12:10 am

Appreciate the feedback, guys.
myricaulus wrote:
Sun Sep 29, 2019 4:14 pm
I dont know lua that well, but is it possible to create an anonymous function every time add_recipe_to_tech is called, add it as a eventhandler to a custom event like "onFactorioIsTooStupidToLoadRecipesItself" and call it later in the control stage in some sort of library mod all your mods will depend on? Since add_recipe_to_tech knows both the recipe as well as the tech this line like

Code: Select all

recipes["rail-chain-signal"].enabled = technologies["rail-signals"].researched
could easily be executed, preferable in one generic migration script.
[/code]
I think something like that could work, yes, although, provided I have access to write to files, which I haven't checked, yet, being the old C++ programmer I am, I probably would have just dropped a 1 or a 0 in a file to be checked at control phase. :P But yes, I'm sure there's something we can do. However, as you say, I also see this line on their migrations page,
myricaulus wrote:
Sun Sep 29, 2019 4:14 pm
The game resets recipes/ technologies any time mods, prototypes, or startup settings change, so this does not need to be done in migration scripts.
, but i can confirm adding recipes to researched technology does not make those available! Maybe a bug?
It might be a bug. It's hard for me not to interpret the line in a way other than how we are interpreting it. The exception I can think of is if this is meant to only apply to recipes and technologies that already existed in the saved game state, so it would then not apply to new recipes/techs that were added to an existing mod or added along with a new mod being added. I think this may be a bug, especially since I think I've seen it work in some cases (but I recognize my memory is not perfect). I will ask when I get a chance.
myricaulus wrote:
Sun Sep 29, 2019 4:14 pm
Anyways i feel way more comfortable now to try your mods after you explained me your point of view in this detail. Especially since the descriptions within the mods are, while quite funny, not very informative.
How can I improve their informativeness? Are you talking about the small descriptions in the in-game mod portal, or the full descriptions that are in some cases many paragraphs on the mods.factorio.com listing? I really did try to be informative in the long-form descriptions, and just use jokes in the short-form descriptions. Another thing I'm working on is that Pi-C pointed out where I can find the run-time errors from the system trying to read my changelogs, so I'm slowly fixing all of my changelogs to be viewable in the in-game mod portal. Most of my bigger mods are already fixed.
myricaulus wrote:
Sun Sep 29, 2019 4:14 pm
Please don't take this personally, but if you see those mods first time, my first though was, "these are just some quick hacks" and not the mods of this pristine quality they apparently are. And you know the first impression sticks quite heavyly.
I don't, for two reasons: one is I really did work my ass off to make my mods as reliable as I could, so my hope is that in time they will speak for themselves; the other is that I appreciate your feedback and I will use it to improve my presentation.
myricaulus wrote:
Sun Sep 29, 2019 4:14 pm
And finally i got an answer for my initial questen, how you think your mods are meant to be player: "catalogue", i will have a look later :-)
Excellent, but I want to add a statement to my answer, which I didn't make clear before: the way we play is on a cluster of factorio servers which are all running 24-7, and connect using clusterio. So everything I've done has at least an unconscious balance toward that form of play style, which is highly geared toward low-population multiplayer and sustainable defense and production. I think long-term planning is a fun challenge, and there are at least two classes of logistical puzzles that one or more of my mods include that aren't in the vanilla game; at least, not that I've been able to recognize. And finally that the ones that try to interact with other mods are designed to try to interact with other mods without knowing anything about them beforehand, so I am very strongly interested in any experiences you can provide about how good of a job they do.

BlueTemplar wrote:
Sun Sep 29, 2019 5:00 pm
This thread seems relevant ?
[SOLVED] Missing new added items after updating mod
I think it is relevant. By the way, to answer your question in that thread, BlueTemplar, there absolutely is a way to do it while accounting for existing changes, but it's just a lot of work and has to be done as work inside the mod (my function library is actually close to being able to do it -- need to add I think 2-3 more functions). But I feel like this should be handled better by the game instead of by us, and I think at least part of my reason is because of what Eradicator said:
So as a mod author you can not rely on [the API functions that enable/disable recipes at config change) not being called. If a mod wants to do manual changes there's no way around dealing with the fallout of those sledgehammers.
This is true, but I think it's fair to say the reason this is happening in other mods is because it isn't being handled well in the game, which results in mod authors using draconian methods to cover those possibilities. The only ways I can think to reconcile the available information are to either conclude that the official migrations info page is wrong, or my interpretation of what it says is wrong, or that nobody has hit this thread yet who knows how the internal game is supposed to be handling this, or that they're still trying to figure out the best way to go about it internally. It sounds like we all agree that the best thing would be if it went through to fix new stuff without removing changes that already existed, and again we can do that, but on the scripting end the only way I've devised thus far to do it will mean going through every technology to check manually, and we still can't count on other mod authors overwriting it anyway, as eradicator points out.

It would also mean making a decision about whether "disabled" means it should be "enabled" or not, or we should only be enabling things that didn't exist before, and then how do we tell which things are new? Because there could be a case where something would have been enabled but the players decided for one reason or another to disable it, and so should those now be reenabled when we troll the technology tree to check for things?

myricaulus wrote:
Sun Sep 29, 2019 7:01 pm
Btw: @Adamo, i got the following warning after installing about 80% of your Catalogue List :

Code: Select all

48.381 Warning! Sprite at {0,0; 32x32} from __adamo-nuclear__/graphics/icons/yellowcake.png is defined with 4 mipmap levels, but level 1 is expected to be at {32,0; 16x16} which is out of bounds of the source image.
Yes, thanks for the report. I did realize there are some warnings coming out of a few of my mods, at least related to some graphical things and some use of soon-to-be-deprecated prototype values. Regarding the graphics, I'm a programmer, so I suck at graphics, and I'm trying to learn. I really just learned what a mipmap is, and so I should be able to fix this one. There shouldn't be any trouble stemming from these warning messages, but I do intend to get them all worked out, and feel free to report anything, although, the ones in the factorio log I'm typically already aware of. I won't mind if people report them anyway, of course. If it gets to where I'm receiving a lot of reports, I'll come up with a better system for reporting things. The mod portal works well for reporting things to me, too, since I get an email when you leave me a message on a particular mod, there.

Adamo
Filter Inserter
Filter Inserter
Posts: 439
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by Adamo » Mon Sep 30, 2019 1:12 am

myricaulus wrote:
Sun Sep 29, 2019 7:01 pm
Btw: @Adamo, i got the following warning after installing about 80% of your Catalogue List :

Code: Select all

48.381 Warning! Sprite at {0,0; 32x32} from __adamo-nuclear__/graphics/icons/yellowcake.png is defined with 4 mipmap levels, but level 1 is expected to be at {32,0; 16x16} which is out of bounds of the source image.
Fixed for the next release. What was happening here is that the uranium-ore item has 4 versions of its icon, and I forgot to tell the item not to look for the other icons when I rebranded it to yellowcake.

myricaulus
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 08, 2017 3:33 pm
Contact:

Re: [MOD 0.17+] Adamo Mods

Post by myricaulus » Mon Sep 30, 2019 4:26 am

Adamo wrote:
Mon Sep 30, 2019 12:10 am
I think something like that could work, yes, although, provided I have access to write to files, which I haven't checked, yet, being the old C++ programmer I am, I probably would have just dropped a 1 or a 0 in a file to be checked at control phase. :P But yes, I'm sure there's something we can do. However, as you say, I also see this line on their migrations page,
I might have a look into the documentation, being the not that completely old c# programmer i am, maybe i find the correct syntax for the solution i have in mind.
Adamo wrote:
Mon Sep 30, 2019 12:10 am
How can I improve their informativeness?
Yeah i mean the short description within the info.json. I usually browse the mods from within factorio, but this also affects the search view of the mod portal. Lets have look at heat processing:
20190930034119_1.jpg
20190930034119_1.jpg (65.42 KiB) Viewed 777 times
This is all you see. Why does one seek a new mod: either he has a problem to solve or he has not enough problems :-D Does this view help you deciding if it will help solve problems or does increase ones problems(in a good way)? I played a bit with heat processes now to know that it actually does neither, it just lets you solve the vanilla problems in a different way AFAIK in a more realistic manner. It increases gameplay opportunities which is perfect for people that dont look for an increased logistic challenge like many mods do, but just a different more vanilla-like experience and this should be clear from the very beginning. A suggestion for your description could be that tries (miserably) to keep your humor intact:
And now let the heat do the oily work.
This sounds like an addition and the topic is something with oil and heat. I would still add a sentence like this.
Adds new heat based refineries to build your own nuclear refinery.
For people who ever build a nuclear reactor in factorio they now know what to expect from this mod. In addition it gives them a new goal to achieve, which is the third reason why people seek for new mods, while people who dont like the nuclear heat pipe gameplay will not waste time with this(for example those UPS fetishists). And having a good title and a good short description dramatically increases interest, because most people dont have the time to go through many pages of text just find out whether a mod is interesting. In hindsight maybe just write
You will not believe what you can do with heat!!!
(More Work) :-D Well, if it wasnt obvious: This was joke,ok? Please don't do this :-D. So in short: make sure your short description inform about type, topic and goal of a mod. And of course if the title is mega obvious like the big pole mod, its totally ok to joke around. But for "clicker" you should write something like "brand new vehicle surveillance now in technicolor" but i still cant imagine why would i need that mod. I hope that helps. BTW: that technicolor joke will not be understood by people younger than 30 ;)
Adamo wrote:
Mon Sep 30, 2019 12:10 am
so I am very strongly interested in any experiences you can provide about how good of a job they do.
So after about 5 hours into the singleplayer game without clustorio the red science phase feels refreshening vanilla-like, which i most likely havent played for about 2 Years now :-D. I was very skeptical about the energy mod, but so far everything feels the same, although i can clearly see the changed numbers. The solar power is a real bummer.. is solar in RL that bad? Like 6µW per km² while needing like 1GJ per m² and about 1T of mass to be created? Maybe to compensate you should add hail storms destroying randomly parts of your installations and dust gathering on those other panels reducing their power even more? :-D Those gas furnaces are really awesome, 50% pollution from gas and no coal on line, extremely compact. I could imagine making them the backbone of my furnace setups, if i ever find any more gas, but maybe there is also a good oil product for this? Just tiny bit to expensive in the beginning due to the motor for the pump, which is sloooooooooow. Also a bit weird with their inlets and outlets and their additional crafting slot as a furnace :-D. I wonder if it will be ever used for anything. Now i am experimenting with this 1x1 heat refinery. I just dont like 1x1 multipurpose crafting buildings. Even with bobs inserter mod its difficult to supply, the heat is also kinda strange blocked by those refineries until they heated up to 500 if several are lined up. At least for the stone to quarz recipe they are not quite usefull. Also it takes just about the equivalent of a Zar bomb (200Coal) to heat one refinery up to get working, maybe reduce the heat capacity somehow? I cant imagine how i could ever possible take these 50MW of potential heat capacity out of it, since the heat dont want to leave this easily. Maybe i shouldnt use the refinery as a heat conductor. This is all i could think of from the beginning. Having fun reading this? ;) oh well i nearly forgot, about 1 fifth of the mods you are referencing in your catalogue isn't downloadable using factorio itself, it just doesnt open the mod when clicking on the arrow. Maybe old mod, not supporting 0.17 officially?
Adamo wrote:
Mon Sep 30, 2019 12:10 am
we still can't count on other mod authors overwriting it anyway, as eradicator points out.

It would also mean making a decision about whether "disabled" means it should be "enabled" or not, or we should only be enabling things that didn't exist before, and then how do we tell which things are new? Because there could be a case where something would have been enabled but the players decided for one reason or another to disable it, and so should those now be reenabled when we troll the technology tree to check for things?
Just to make clear:

Code: Select all

    Sledgehammer, removing any recipe not bound to a technology, but also of removed mods, otherwise only enabling recipes of added mods:
    force.reset_recipes()
    force.reset_technologies()
Other mods may or may not use this "sledgehammer" to fix the issue of missing recipes after mod updates, thus possibly removing recipes gathered by non-technological means, like events.

Code: Select all

    precision tools, NOT altering anything but itself
    recipes["rail-chain-signal"].enabled = technologies["rail-signals"].researched
    
You should not depend on this to happen on other mods, thus make your recipes at least bound to a hidden technology.
Thats what i gather of the other thread.

Post Reply

Return to “Mods”

Who is online

Users browsing this forum: aklesey1