船作ったこと無いけど、
せっかくタイルセットがタグ番号で分けれるのだから
0を陸、1を海、2を砂浜、3以降を山など船では渡れないところに分類。

船乗ってる間は1の属性初期化、0を通行不可属性付加。2の接触以外で通行設定が元に戻らないようにする。

↑これだけの処理じゃだめなの?