こんにちはです、9太郎さん。
このremoveしたときの挙動についてですが、
いったんマップタイルのデータをまっさらな状態に戻してから再度、
以前にaddしたデータの順番通りに、タイルIDをチェンジしていくという
処理をしてますので、どうしても時間がかかってしまうのです。
なぜこういう処理をしているのかというと、removeに該当する座標の
タイルIDに、まだ他のデータが残ってる場合、そのIDの値が何なのかわからないので、
あえてこのような処理をするようにしています。
対策としては、removeされる予定のあるデータは、すべて同じ
ID(プラグインコマンドの時のデータIDです)にしておけば、
1回のremoveコマンドですべてremoveすることが、できますが、
この方法ではいかがでしょうか?
どうしても、IDを別々に分けないといけない場合だと、
この方法では難しいかもしれませんが。