Fix dupe uuid check on entity add (#6735)

This commit is contained in:
Jake Potrebic 2021-10-31 15:09:39 -07:00
parent e0cac960b1
commit 8cd49fef6b

View file

@ -173,9 +173,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
private boolean addEntityUuid(T entity) { private boolean addEntityUuid(T entity) {
if (!this.knownUuids.add(entity.getUUID())) { if (!this.knownUuids.add(entity.getUUID())) {
+ // Paper start + // Paper start
+ if (((Entity) entity).isRemoved()) { + T conflict = this.visibleEntityStorage.getEntity(entity.getUUID());
+ stopTracking(entity); // remove the existing entity + if (conflict != null && ((Entity) conflict).isRemoved()) {
+ return false; + stopTracking(conflict); // remove the existing entity
+ return true;
+ } + }
+ // Paper end + // Paper end
PersistentEntitySectionManager.LOGGER.warn("UUID of added entity already exists: {}", entity); PersistentEntitySectionManager.LOGGER.warn("UUID of added entity already exists: {}", entity);