Skip to content

Commit aa493c4

Browse files
committed
Merge 1.19.2 into 1.19.4
2 parents ae115c4 + 637f844 commit aa493c4

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public ItemOverrides getOverrides() {
7373
public DynamicBakedModelProvider(ModelBakery bakery, Map<ModelBakery.BakedCacheKey, BakedModel> cache) {
7474
this.bakery = bakery;
7575
this.bakedCache = cache;
76-
this.permanentOverrides = new Object2ObjectOpenHashMap<>();
76+
this.permanentOverrides = Collections.synchronizedMap(new Object2ObjectOpenHashMap<>());
7777
}
7878

7979
public void setMissingModel(BakedModel model) {
@@ -170,6 +170,18 @@ public Set<Entry<ResourceLocation, BakedModel>> entrySet() {
170170
return bakedCache.entrySet().stream().map(entry -> new AbstractMap.SimpleImmutableEntry<>(entry.getKey().id(), entry.getValue())).collect(Collectors.toSet());
171171
}
172172

173+
@Nullable
174+
@Override
175+
public BakedModel replace(ResourceLocation key, BakedModel value) {
176+
BakedModel existingOverride = permanentOverrides.get(key);
177+
// as long as no valid override was put in (null can mean unable to load model, so we treat as invalid), replace
178+
// the model
179+
if(existingOverride == null)
180+
return this.put(key, value);
181+
else
182+
return existingOverride;
183+
}
184+
173185
@Override
174186
public void replaceAll(BiFunction<? super ResourceLocation, ? super BakedModel, ? extends BakedModel> function) {
175187
Set<ResourceLocation> overridenLocations = permanentOverrides.keySet();

0 commit comments

Comments
 (0)