Skip to content

Commit 637f844

Browse files
committed
Merge 1.18 into 1.19.2
2 parents 28c456e + 1815554 commit 637f844

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
@@ -72,7 +72,7 @@ public ItemOverrides getOverrides() {
7272
public DynamicBakedModelProvider(ModelBakery bakery, Map<Triple<ResourceLocation, Transformation, Boolean>, BakedModel> cache) {
7373
this.bakery = bakery;
7474
this.bakedCache = cache;
75-
this.permanentOverrides = new Object2ObjectOpenHashMap<>();
75+
this.permanentOverrides = Collections.synchronizedMap(new Object2ObjectOpenHashMap<>());
7676
}
7777

7878
public void setMissingModel(BakedModel model) {
@@ -168,6 +168,18 @@ public Set<Entry<ResourceLocation, BakedModel>> entrySet() {
168168
return bakedCache.entrySet().stream().map(entry -> new AbstractMap.SimpleImmutableEntry<>(entry.getKey().getLeft(), entry.getValue())).collect(Collectors.toSet());
169169
}
170170

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

0 commit comments

Comments
 (0)