fix: ConcurrentModificationError by removing gadget (#1849)

This commit is contained in:
hamusuke 2022-10-12 20:37:53 +09:00 committed by GitHub
parent 558471237a
commit ef55e5515c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,7 +1,7 @@
package emu.grasscutter.game.entity; package emu.grasscutter.game.entity;
import emu.grasscutter.game.entity.platform.EntitySolarIsotomaElevatorPlatform;
import emu.grasscutter.game.entity.platform.EntityPlatform; import emu.grasscutter.game.entity.platform.EntityPlatform;
import emu.grasscutter.game.entity.platform.EntitySolarIsotomaElevatorPlatform;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.Scene; import emu.grasscutter.game.world.Scene;
import emu.grasscutter.net.proto.EvtCreateGadgetNotifyOuterClass; import emu.grasscutter.net.proto.EvtCreateGadgetNotifyOuterClass;
@ -21,13 +21,11 @@ public class EntitySolarIsotomaClientGadget extends EntityClientGadget {
//Create solar isotoma elevator and send to all. //Create solar isotoma elevator and send to all.
this.platformGadget = new EntitySolarIsotomaElevatorPlatform(this, getScene(), getOwner(), ELEVATOR_GADGET_ID, getPosition(), getRotation()); this.platformGadget = new EntitySolarIsotomaElevatorPlatform(this, getScene(), getOwner(), ELEVATOR_GADGET_ID, getPosition(), getRotation());
getScene().addEntity(this.platformGadget); getScene().addEntity(this.platformGadget);
getOwner().getTeamManager().getGadgets().add(this.platformGadget);
} }
@Override @Override
public void onRemoved() { public void onRemoved() {
//Remove solar isotoma elevator entity. //Remove solar isotoma elevator entity.
getScene().removeEntity(this.platformGadget); getScene().removeEntity(this.platformGadget);
getOwner().getTeamManager().getGadgets().remove(this.platformGadget);
} }
} }