Cargo Ships


Adds massive cargo ships to the game, that function similarly to trains. Also adds deep sea oil, oil platforms, tanker ships, train bridges and other water based content.

Content
21 days ago
0.16 - 2.0
219K
Transportation Logistics Trains Mining Fluids Power

i walls/gates that one can walk on

4 years ago

I have landfill on both sides of the water rails. One side the inserter for unloading and the other side some combinators for LTN. The problem then is that I always leave the boat on one side, unfortunately the wrong side, and I am stuck on a tiny 3x3 island with a power pole and a combinator. There is no way to get onto the main island.

I need a walkway that let me cross the water rails. And for that might it be possible to build something on top of the wall and gate entities? The gates could swing open to the ides or lift up like a drawbridge. Possible?

PS: could this also be used to keep out fish from the station? See my previous thread.

4 years ago
(updated 4 years ago)

I tried adding water based walls and gates but one can't walk on them because the landscape still counts as water. So this needs a terrain or tile change underneath it.

Or just the tile without the walls works too. Factorio has a tile water-shallow that the player can walk on. What it lacks is a recipe and item for it. It also collides with water-ways and ships so that has to be fixed up.

In prototypes/item.lua add:

    {
      type = "item",
      name = "water-shallow",
      icon = "__base__/graphics/terrain/water-shallow/hr-water-shallow-o.png",
      icon_size = 64, icon_mipmaps = nil,
      subgroup = "terrain",
      order = "c[landfill]-z[shallow-water]",
      stack_size = 1000,
      place_as_tile =
        {
          result = "water-shallow",
          condition_size = 1,
          condition = { "ground-tile" }
        }
    },

-- water-shallow must not collide with water-ways
local shallow = data.raw["tile"]["water-shallow"]
shallow.collision_mask = {
"water-tile",
"item-layer",
"resource-layer",
}

And in prototypes/recipe.lua add:

{
    type = "recipe",
    name = "water-shallow",
    energy_required = 0.5,
    enabled = true,
    category = "crafting",
    ingredients =
    {
        {"stone", 2},
        {"sand, 1}
    },
    result= "water-shallow",
    result_count = 4
},

I enabled it per default for simplicity. But it could be part of the landfill research or have it's own research.

If you implement the walls/gates idea then water-shallow tiles wouldn't have an item but be placed when a wall/gate is build. The problem with gates then is that they open when a player or ship approaches. I would want them to be closed when a ship approaches (so that they block the player). The graphics should then be reversed, a closed gate looks open. But that would be something to request from factorio to support.

4 years ago

Will this work with Alien Biomes which has its own shallow water.

4 years ago

No idea. Is it called water-shallow internally or does it define it's own tile?

4 years ago

The problem then is that I always leave the boat on one side, unfortunately the wrong side, and I am stuck on a tiny 3x3 island with a power pole and a combinator. There is no way to get onto the main island.

The info page still recommends CanalBuilder, which adds waterfill and swimming. I realize that this is not an optimal solution because the mod has never been updated for Factorio 0.18. If I remember correctly, updating doesn't take much more than changing "factorio_version" in info.json. I still have this mod in my game and use it to move my character and land-bound vehicles across shallow water.

Of course, your suggestion of a passenger bridge is quite appealing! But as schnurrebutz seems to have been away for a while, using a swimming mod may still be a viable solution for the time being.

Another idea would be pairs of small-range teleporters (like jump pads) that could be placed on either side of the waterways. That would depend on control scripting and may or may not be heavy on UPS.

4 years ago

No idea. Is it called water-shallow internally or does it define it's own tile?

It looks like AlienBiomes adds one more water tile, and changes properties of vanilla water tiles. See lines 164-174 of data-final-fixes.lua:

for _, tile in pairs(data.raw.tile) do
  if tile.name == "water" or tile.name == "deepwater" or tile.name == "water-shallow" or tile.name == "water-mud" then
tile.pollution_absorption_per_second=0.0000075
  […]
  end
end
4 years ago

Should be fine then. Try it.

New response