Merge 1.16 into 1.18

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

View File

@ -71,7 +71,7 @@ public class DynamicBakedModelProvider implements Map<ResourceLocation, BakedMod
public DynamicBakedModelProvider(ModelBakery bakery, Map<Triple<ResourceLocation, Transformation, Boolean>, BakedModel> cache) {
this.bakery = bakery;
this.bakedCache = cache;
this.permanentOverrides = new Object2ObjectOpenHashMap<>();
this.permanentOverrides = Collections.synchronizedMap(new Object2ObjectOpenHashMap<>());
}
public void setMissingModel(BakedModel model) {
@ -167,6 +167,18 @@ public class DynamicBakedModelProvider implements Map<ResourceLocation, BakedMod
return bakedCache.entrySet().stream().map(entry -> new AbstractMap.SimpleImmutableEntry<>(entry.getKey().getLeft(), 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();