Fix NPE when retrieving an entity with a null UUID

While the null UUID is almost certainly an error, the old
implementation did not NPE as it used a plain HashMap for lookup
by UUID, whereas we use a ConcurrentHashMap which will NPE on
null keys.
This commit is contained in:
Spottedleaf
2024-06-23 18:51:14 -07:00
parent 4c36d6db57
commit 641694d07c

View File

@@ -88,7 +88,7 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
@Override
public Entity get(final UUID id) {
return maskNonAccessible(this.entityByUUID.get(id));
return maskNonAccessible(id == null ? null : this.entityByUUID.get(id));
}
public boolean hasEntity(final UUID uuid) {
@@ -96,7 +96,7 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
}
public String getDebugInfo() {
return "count_id:" + this.entityById.size() + ",count_uuid:" + this.entityByUUID.size() + ",region_count:" + this.regions.size();
return "count_id:" + this.entityById.size() + ",count_uuid:" + this.entityByUUID.size() + ",count_accessible:" + this.getEntityCount() + ",region_count:" + this.regions.size();
}
protected static final class ArrayIterable<T> implements Iterable<T> {