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

b Error when placing waterway on 1.1

3 years ago

Got this error when trying to place a waterway. Latest 1.1 experimental.

The mod Cargo Ships (0.0.58) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event cargo-ships::on_built_entity (ID 6)
LuaEntity API call when LuaEntity was invalid.
stack traceback:
[C]: in function 'index'
__cargo-ships
/control.lua:87: in function <cargo-ships/control.lua:14>

3 years ago

Error does not occur when placed by nanobots mod.

3 years ago

Got the same error. It happens both when I try to place the water way manually or using Companion Drones.

3 years ago

Just tested, the error doesn't happen on mod version 0.0.57, same Factorio Version (Latest 1.1 experimental)

3 years ago

So the bug may have been somehow introduced with 0.0.58

3 years ago

I'm having this same bug

3 years ago

Having the same bug.

3 years ago

So here's a quick & dirty solution: (Downgrading to 0.0.57 by replacing the mod manually)
1.) Download the lower version 0.0.57
It's a .zip file - do not unpack it!
2.) Open the mod folder of Factorio by either 2.a or 2b
2.a) Absolute path: C:\Users#USERNAME#\AppData\Roaming\Factorio\mods
a.b) Press WINDOWS+R, type %APPDATA%. hit enter and navigate to -> Factorio -> mods
3.) Delete "cargo-ships_0.0.58.zip" and replace it with the zip you've downloaded in step 1.)
4.) Profit.

Now you are not allowed to update the mod anymore until the bug is fixed.

3 years ago

So here's a quick & dirty solution: (Downgrading to 0.0.57 by replacing the mod manually)
1.) Download the lower version 0.0.57
It's a .zip file - do not unpack it!
2.) Open the mod folder of Factorio by either 2.a or 2b
2.a) Absolute path: C:\Users#USERNAME#\AppData\Roaming\Factorio\mods
a.b) Press WINDOWS+R, type %APPDATA%. hit enter and navigate to -> Factorio -> mods
3.) Delete "cargo-ships_0.0.58.zip" and replace it with the zip you've downloaded in step 1.)
4.) Profit.

Now you are not allowed to update the mod anymore until the bug is fixed.

Yeah that's what I ended up doing based on other responses in this thread

3 years ago
  • Open control.lua.
  • Look for this block (starting at line 86):

    -- make waterway not collide with boats by replacing it with entity that does not have "ground-tile" in its collison mask
    elseif ent.name == "straight-water-way" or ent.name == "curved-water-way" then
            local p = ent.position
            local n = ent.name .. "-placed"
            local f = ent.force
            local s = ent.surface
            local d = ent.direction
            ent.destroy() --destroy old
            --check for allready placed entites
            local c = 0
            local prev = ent.surface.find_entities_filtered{position = p, name = n}
    
  • Change the last line to this:

            local prev = s.find_entities_filtered{position = p, name = n}
    

That should fix it for good.

3 years ago

This works for local play on a single player, but it becomes cumbersome to manually distro fixed file in a MP game. Is there an ETA on a perm fix roll out?

3 years ago
(updated 3 years ago)

This works for local play on a single player, but it becomes cumbersome to manually distro fixed file in a MP game. Is there an ETA on a perm fix roll out?

Sorry, I can tell you how to fix the bug, but I'm just a normal user of this mod, so I can't tell you when schnurrebutz will update it. :-)

3 years ago

I have this error too.

5866.366 Error MainLoop.cpp:1284: Exception at tick 1766: The mod Cargo Ships (0.0.58) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event cargo-ships::on_built_entity (ID 6)
LuaEntity API call when LuaEntity was invalid.
stack traceback:
[C]: in function 'index'
__cargo-ships
/control.lua:87: in function <cargo-ships/control.lua:14>

3 years ago
(updated 3 years ago)

Running Space Explore, for not too long ago oil rigs could not be placed on water oil patches because when placing it said "oil rigs must be placed on water" and took the entity back to the hand. Now that error is fixed, but no new waterways could be built because of this error. Creating by hand or robot doesn't matter:

The mod Cargo Ships (0.0.58) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event cargo-ships::on_robot_built_entity (ID 14)
LuaEntity API call when LuaEntity was invalid.
stack traceback:
[C]: in function 'index'
__cargo-ships
/control.lua:87: in function <cargo-ships/control.lua:14>

Edit:
Editing the mod with Pi-C's solution resolves the problem. Finally the mod work!

3 years ago
  • Open control.lua.
  • Look for this block (starting at line 86):

    -- make waterway not collide with boats by replacing it with entity that does not have "ground-tile" in its collison mask
    elseif ent.name == "straight-water-way" or ent.name == "curved-water-way" then
            local p = ent.position
            local n = ent.name .. "-placed"
            local f = ent.force
            local s = ent.surface
            local d = ent.direction
            ent.destroy() --destroy old
            --check for allready placed entites
            local c = 0
            local prev = ent.surface.find_entities_filtered{position = p, name = n}
    
  • Change the last line to this:

            local prev = s.find_entities_filtered{position = p, name = n}
    

That should fix it for good.

Is this something you can do within the game or do you need external stuff to do it?

3 years ago

You have to do that externally. Go to your mod folder, unzip Cargo ships, edit control.lua with any text editor you like, and save. You don't even have to zip the mod again, if there's an unzipped version, the game will try to load that first.

3 years ago

thanks

3 years ago

You have to do that externally. Go to your mod folder, unzip Cargo ships, edit control.lua with any text editor you like, and save. You don't even have to zip the mod again, if there's an unzipped version, the game will try to load that first.

Is there any way to make a multiplayer server automatically distribute this 'fixed' file or would each player wanting to join have to do this manually as well?

3 years ago

I believe each player would have to do that manually.

3 years ago

Cargo Ships v0.0.58 works again with Factorio v1.1.18 :)

3 years ago

Cargo Ships v0.0.58 works again with Factorio v1.1.18 :)

Im on Factorio version 1.1.19 and it does not work
And Yesterday (version 1.1.18 it also doesont worked

3 years ago

Sorry for not being available for responses and bugfixes during the last month. I will try to upload a fixed version this weekend!

3 years ago

Sorry for not being available for responses and bugfixes during the last month. I will try to upload a fixed version this weekend!

Thanks! Having the same problem

3 years ago

Just started with the mod and having same problem, glad it's going to be fixed soon

3 years ago

Yeah, I just encountered this error as well. The fix posted by Pi-C worked wonderfully.

3 years ago
(updated 3 years ago)

Yeah, I just encountered this error as well. The fix posted by Pi-C worked wonderfully.

In case you want to know why this works: The mod tries to replace one type of waterways with another. The copy should be on the same surface at the same position, facing in the same direction, and belong to the same force as the original. So these properties are read from the original waterway and stored in a new table, then the original waterway is destroyed, the mod checks if there already is a new waterway at that location and creates one otherwise. However, there was a slight oversight (such things can easily happen): The mod tried to get the surface from the original waterway instead of using the copied data. But the original has already been destroyed, so there aren't any data that could be read, and trying to access non-existent data will crash the game.

3 years ago
(updated 3 years ago)

You have to do that externally. Go to your mod folder, unzip Cargo ships, edit control.lua with any text editor you like, and save. You don't even have to zip the mod again, if there's an unzipped version, the game will try to load that first.

I'm trying to do this, but every time I finish and load the game back up, Cargo Ships is entirely missing from my mods folder regardless of if I zip it or not. After doing this, I can't even reinstall the mod until I delete the modified .zip entirely from my mods folder. Right now, what I'm trying is getting a fresh copy of the mod, closing the game, unzipping via 7zip to a folder cargo-ships_0.0.58, editing the line in Notepad++, deleting the original .zip, creating a new .zip with the same name, and relaunching the game. Any suggestions for what to do differently?

Edit: nevermind, realized I should have been unpacking the cargo-ships folder out of the .zip instead of unpacking the entire thing. Worked immediately after doing that.

3 years ago

I cant find the files for the mod, is it because i installed it through the ingame Mod browser? i cant fix this problem because of it.

3 years ago

Nevermind, ive found it, problem is i cant change the file, it just plays the windows sound and wont let me.

3 years ago

Hello, I just wanted to +1 that I have the exact same issue as well. Appreciate a fix and update. And thank you so much for the mod it's a lot of fun!

3 years ago

Version: 0.0.59
Bugfixes:
- fixed crash when placing waterways
Changes:
- made boat engine sounds less loud

Have you updated?

3 years ago

Updated now and all better! Thank you much! :)

3 years ago

Geez thanks for the boat engine sound decrease it was breaking my ears

New response