Merge 1.19.4 into 1.20

This commit is contained in:
embeddedt 2023-07-09 14:15:14 -04:00
commit 540b19c141
No known key found for this signature in database
GPG Key ID: A69433EC199B5613

View File

@ -73,7 +73,7 @@ public class DynamicBakedModelProvider implements Map<ResourceLocation, BakedMod
public DynamicBakedModelProvider(ModelBakery bakery, Map<ModelBakery.BakedCacheKey, BakedModel> cache) {
this.bakery = bakery;
this.bakedCache = cache;
this.permanentOverrides = new Object2ObjectOpenHashMap<>();
this.permanentOverrides = Collections.synchronizedMap(new Object2ObjectOpenHashMap<>());
}
public void setMissingModel(BakedModel model) {
@ -170,6 +170,18 @@ public class DynamicBakedModelProvider implements Map<ResourceLocation, BakedMod
return bakedCache.entrySet().stream().map(entry -> new AbstractMap.SimpleImmutableEntry<>(entry.getKey().id(), entry.getValue())).collect(Collectors.toSet());
}
@Nullable
@Override
public BakedModel replace(ResourceLocation key, BakedModel value) {
BakedModel existingOverride = permanentOverrides.get(key);
// as long as no valid override was put in (null can mean unable to load model, so we treat as invalid), replace
// the model
if(existingOverride == null)
return this.put(key, value);
else
return existingOverride;
}
@Override
public void replaceAll(BiFunction<? super ResourceLocation, ? super BakedModel, ? extends BakedModel> function) {
Set<ResourceLocation> overridenLocations = permanentOverrides.keySet();