Skip to content

Commit 1815554

Browse files
committed
Merge 1.16 into 1.18
2 parents 2d12c6e + 5f255a8 commit 1815554

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

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

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

0 commit comments

Comments
 (0)