Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to hide or remove "simulation" factories? #260

Closed
Proha5 opened this issue Jul 11, 2023 · 12 comments
Closed

How to hide or remove "simulation" factories? #260

Proha5 opened this issue Jul 11, 2023 · 12 comments
Labels
fixed for next version Fixed for the next release of the mod other mod Compatibility issue with a mod that isn't going to be directly supported

Comments

@Proha5
Copy link

Proha5 commented Jul 11, 2023

scr2

Here screenshot.
Helmod shows hidden factories.
( I may ignore it. But helmod autoselect last tier of factory. Last tier is simulation fabric. I should always change factory to correct)

@Deadlock989
Copy link
Owner

These entities have the "hidden" flag, Helmod needs to look for that flag and respect it.

@Deadlock989 Deadlock989 added not an issue This will not be worked on other mod Compatibility issue with a mod that isn't going to be directly supported labels Jul 11, 2023
@KiwiHawk
Copy link

KiwiHawk commented Jul 11, 2023

According to the documentation, that's not what the hidden flag is for:

Hides the entity from the bonus GUI (button above the map) and from the made in property of recipe tooltips.

https://wiki.factorio.com/Types/EntityPrototypeFlags#%22hidden%22

In a previous version of Helmod, entities with this flag weren't shown. However this was reported as a bug. Omni adds a lot of assembling machine variants. They mark most of them as hidden to prevent recipe tooltips from becoming too cluttered.

Helfima/helmod#369

@Deadlock989
Copy link
Owner

I count this as a "made in" GUI. At any rate, there is nothing else I can do about it.

@KiwiHawk
Copy link

As a compromise, Helmod will not show entities which are placed only by items which are marked as hidden.

It also won't show entities without the player-creation flag. The is no ideal flag for what we want so this seemed like a good choice.

https://wiki.factorio.com/Types/EntityPrototypeFlags#%22player-creation%22

@KiwiHawk
Copy link

Could you remove the player-creation flag from these entities?

@Deadlock989
Copy link
Owner

Deadlock989 commented Jul 11, 2023

I don't know without testing it out. If it interferes with their blueprintability/deconstructability then no.

Currently these entities have both hidden and not-in-made-in flags set (as well as not-upgradable and not-in-kill-statistics). If things are explicitly being flagged (twice) as not to be shown in the "made in" section of a recipe, I'm not clear on why Helmod is deliberately showing them as made in those machines. IR3 is already explicitly incompatible with the Omni mods because they break so many things.

@Deadlock989
Copy link
Owner

I tested out removing player-creation and it won't work for me. These entities are put into blueprint data so that they can be easily built in predetermined arrangements. Without that flag, the game engine immediately terminates processing the blueprint with an error: "Entity is not valid for blueprint".

@KiwiHawk
Copy link

Okay, thanks for trying. I'll do some experiments to see what other options we can do from the Helmod side. As a last resort, we could add hard coded rules to exclude them. Is it just these four furnaces? Or are there others that also shouldn't be shown.

@KiwiHawk
Copy link

Looking at it again, hidden probably is the best flag for Helmod to filter on. I'll talk to the Omni devs and see if they will remove the hidden flag from their entities and use not-in-made-in flag instead. This sounds like it should cover their use-case.

@Deadlock989
Copy link
Owner

They are dynamically generated from other entities - and there will be some new ones in the next release of IR3. It's not very likely there will be any more added later but it's not impossible. Any IR3 entity which has non-zero emissions gets a non-polluting hidden variant automatically created for it. The hidden versions always have the substring "-simulation" appended to their names.

The list as of 3.1.0 (not yet released) is as follows, so not all of these are present in 3.0.19 on the mod portal:

   1.197 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: boiler-simulation (boiler)
   1.197 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: copper-boiler-simulation (boiler)
   1.198 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: electric-mining-drill-simulation (mining-drill)
   1.198 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: burner-mining-drill-simulation (mining-drill)
   1.199 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: pumpjack-simulation (mining-drill)
   1.199 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: steam-drill-simulation (mining-drill)
   1.201 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: chrome-drill-simulation (mining-drill)
   1.201 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: steel-derrick-simulation (mining-drill)
   1.202 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: oil-refinery-simulation (assembling-machine)
   1.203 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: chemical-plant-simulation (assembling-machine)
   1.203 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: deadlock-copper-lamp-simulation (assembling-machine)
   1.203 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: stone-alloy-furnace-simulation (assembling-machine)
   1.203 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: bronze-alloy-furnace-simulation (assembling-machine)
   1.204 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: electric-alloy-furnace-simulation (assembling-machine)
   1.205 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: arc-furnace-simulation (assembling-machine)
   1.205 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: air-compressor-simulation (assembling-machine)
   1.205 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: air-purifier-simulation (assembling-machine)
   1.206 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: bronze-forestry-simulation (assembling-machine)
   1.206 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: iron-forestry-simulation (assembling-machine)
   1.206 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: chrome-forestry-simulation (assembling-machine)
   1.206 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: stone-furnace-simulation (furnace)
   1.206 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: stone-charcoal-kiln-simulation (furnace)
   1.207 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: bronze-furnace-simulation (furnace)
   1.207 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: electric-furnace-simulation (furnace)
   1.207 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: steel-furnace-simulation (furnace)
   1.208 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: blast-furnace-simulation (furnace)
   1.208 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: iron-gas-vent-simulation (furnace)
   1.208 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: barrelling-machine-simulation (furnace)
   1.209 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: unbarrelling-machine-simulation (furnace)
   1.209 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: steam-barrelling-machine-simulation (furnace)
   1.210 Script @__IndustrialRevolution3__/code/entities/entities-simulations.lua:36: steam-unbarrelling-machine-simulation (furnace)

@Deadlock989 Deadlock989 added fixed for next version Fixed for the next release of the mod and removed not an issue This will not be worked on labels Jul 12, 2023
@Deadlock989
Copy link
Owner

I have made some changes here for 3.1.0, while I had the bonnet up.

  • The number of -simulation entities was cut by more than half to around 12, since only those explicitly needed by the simulation blueprints are now created.
  • Simulation entities have a generic localised name and description instead of nothing, saying that this entity is hidden and shouldn't be displayed in GUIs; also a generic icon instead of the true entity's icon.

@KiwiHawk
Copy link

KiwiHawk commented Aug 9, 2023

Fixed in Helmod 0.12.19

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed for next version Fixed for the next release of the mod other mod Compatibility issue with a mod that isn't going to be directly supported
Projects
None yet
Development

No branches or pull requests

3 participants