Skip to content

Commit bed648c

Browse files
committed
fix(1.21): Fix loadModel for Fabric never resolving
1 parent 31ce793 commit bed648c

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

common/src/main/java/net/blay09/mods/balm/api/client/rendering/BalmModels.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.function.Supplier;
2222

2323
public interface BalmModels {
24-
DeferredObject<BakedModel> loadModel(ModelResourceLocation identifier);
24+
DeferredObject<BakedModel> loadModel(ResourceLocation identifier);
2525

2626
DeferredObject<BakedModel> bakeModel(ModelResourceLocation identifier, UnbakedModel model);
2727

fabric/src/main/java/net/blay09/mods/balm/fabric/client/rendering/FabricBalmModels.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ public void set(BakedModel object) {
4040
}
4141
}
4242

43-
private final List<ModelResourceLocation> additionalModels = Collections.synchronizedList(new ArrayList<>());
43+
private final List<ResourceLocation> additionalModels = Collections.synchronizedList(new ArrayList<>());
4444
private final List<DeferredModel> modelsToBake = Collections.synchronizedList(new ArrayList<>());
4545
public final List<Pair<Supplier<Block>, Supplier<BakedModel>>> overrides = Collections.synchronizedList(new ArrayList<>());
4646
private ModelBakery modelBakery;
4747

4848
@Override
4949
public void onInitializeModelLoader(Context context) {
50-
context.addModels(additionalModels.stream().map(ModelResourceLocation::id).toList());
50+
context.addModels(additionalModels);
5151
}
5252

5353
public void onBakeModels(ModelBakery modelBakery, ModelBakery.TextureGetter textureGetter) {
@@ -72,21 +72,23 @@ public void onBakeModels(ModelBakery modelBakery, ModelBakery.TextureGetter text
7272
}
7373

7474
@Override
75-
public DeferredObject<BakedModel> loadModel(final ModelResourceLocation identifier) {
76-
DeferredModel deferredModel = new DeferredModel(identifier) {
75+
public DeferredObject<BakedModel> loadModel(final ResourceLocation identifier) {
76+
// fabric_resource is what Fabric uses as variant for additional models
77+
final var modelResourceLocation = new ModelResourceLocation(identifier, "fabric_resource");
78+
DeferredModel deferredModel = new DeferredModel(modelResourceLocation) {
7779
@Override
7880
public BakedModel resolve(ModelBakery modelBakery, ModelBakery.TextureGetter textureGetter) {
7981
return resolve();
8082
}
8183

8284
@Override
8385
public BakedModel resolve() {
84-
return modelBakery.getBakedTopLevelModels().get(identifier);
86+
return modelBakery.getBakedTopLevelModels().get(modelResourceLocation);
8587
}
8688

8789
@Override
8890
public boolean canResolve() {
89-
return modelBakery.getBakedTopLevelModels().containsKey(identifier);
91+
return modelBakery.getBakedTopLevelModels().containsKey(modelResourceLocation);
9092
}
9193
};
9294
additionalModels.add(identifier);

0 commit comments

Comments
 (0)