fix: arrangement of main house is duplicated even if player changes module (#2325)

* fix: arrangement of main house is duplicated even if player change module

* removeIf

* Update src/main/java/emu/grasscutter/game/home/GameHome.java

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
This commit is contained in:
hamusuke
2023-09-03 00:52:56 +09:00
committed by GitHub
parent decf494234
commit ed97201473
9 changed files with 126 additions and 52 deletions

View File

@@ -9,6 +9,7 @@ import emu.grasscutter.game.entity.EntityHomeAnimal;
import emu.grasscutter.game.world.Position;
import emu.grasscutter.game.world.Scene;
import emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -62,7 +63,11 @@ public class HomeSceneItem {
this.bornRot = new Position(arrangementInfo.getBornRot());
this.djinnPos = new Position(arrangementInfo.getDjinnPos());
this.homeBgmId = arrangementInfo.getBgmId();
this.mainHouse = HomeFurnitureItem.parseFrom(arrangementInfo.getMainHouse());
if (!this.isRoom() && arrangementInfo.hasMainHouse()) {
this.mainHouse = HomeFurnitureItem.parseFrom(arrangementInfo.getMainHouse());
}
this.tmpVersion = arrangementInfo.getTmpVersion();
}