Buildings On Solid Flooring


Machines can only be placed on solid flooring.

Tweaks
25 days ago
2.0
80
Logistics

g Depending on building different level of flooring is needed?

a month ago

Perhaps make an option to enforce that heavier buildings need more sturdy flooring?
For example a foundry can only be built on refined concrete, while assembler 3 normal concrete is okay, and for the brick furnace, just bricks are okay?

25 days ago

Sure! I'll look into it!

The 1.2.2 version fixes the tutorials which I didn't notice, I'll see to checking out the buildings to force better tiles for them

25 days ago

This currently cannot be done in a neat way because it's an engine event and there is no hook. I've submitted a suggestion to add said hook to Factorio's base game so all we can do would be wait to see if the devs oblige.

Otherwise it would be a pain to implement although not impossible. Let's see what happens!

24 days ago

The suggestion has been denied, I'll think of something and let you know!

24 days ago

I don't see any reason why this wouldn't be possible but the current version of the mod is. And I don't see a suggestion on the factorio forums for it either.

24 days ago

https://forums.factorio.com/viewtopic.php?t=132475

I'm a newbie when modding Factorio, I've started modding very recently when certain mods I enjoyed were abandoned and didn't work with Factorio 2.0 so it's mainly ignorance

24 days ago
(updated 24 days ago)

Oh, I didn't see it because it was in "Won't Implement". I guess that makes sense.

Though, I still don't see why you need that event. Surely the tile_buildability_rules are enough for this?

24 days ago

The main issue here would be the engine's hard codded "Cannot build on [surface]" because while now it works and is ok, if I were to implement tiered buildings on better concrete, I can't hook to anything to fire create_local_flying_text for a message such as "Foundry must be built on Reinforced Concrete" or "Laboratory must be built on Concrete or better"

That would confuse the hell out of the player if they put stone bricks and attempt to place the foundry and only get "Cannot build on Stone Bricks. Must be built on solid flooring"

I'm using a similar approach to the tile_buildability_rules but even that won't solve the "how to notify the player" issue. Other workarounds I thought up of would be very annoying like damaging the building or destroying it and refunding it back to the player after it was placed, imagine copying a blueprint and have it explode on all of the robots. Right now it places the concrete under the building when shift+clicking

24 days ago

And I'd also be reluctant to chat spam. Hand-building could be ok but imagine robots placing a bajillion entities

24 days ago

Maybe change "solid flooring" there to "appropriate flooring" to make it more obvious what needs to be done to make it work?

24 days ago

I COULD do that and set a default off value for tiered building floors so that the player is well aware of the change and just leave it at that, that would be a good compromise, at the same time setting an infobot entry for the building and floor tiers.

What do you think?

11 hours ago
(updated 11 hours ago)

FYI, there is now a 'Quality Concrete' mod, which would be a good fit for this idea, if compatibility was ensured.

New response