--- a/net/minecraft/client/renderer/model/WeightedBakedModel.java
+++ b/net/minecraft/client/renderer/model/WeightedBakedModel.java
@@ -12,7 +12,7 @@
 import net.minecraftforge.api.distmarker.OnlyIn;
 
 @OnlyIn(Dist.CLIENT)
-public class WeightedBakedModel implements IBakedModel {
+public class WeightedBakedModel implements net.minecraftforge.client.model.data.IDynamicBakedModel {
    private final int field_177567_a;
    private final List<WeightedBakedModel.WeightedModel> field_177565_b;
    private final IBakedModel field_177566_c;
@@ -23,14 +23,20 @@
       this.field_177566_c = (p_i46073_1_.get(0)).field_185281_b;
    }
 
-   public List<BakedQuad> func_200117_a(@Nullable BlockState p_200117_1_, @Nullable Direction p_200117_2_, Random p_200117_3_) {
-      return (WeightedRandom.func_180166_a(this.field_177565_b, Math.abs((int)p_200117_3_.nextLong()) % this.field_177567_a)).field_185281_b.func_200117_a(p_200117_1_, p_200117_2_, p_200117_3_);
+   // FORGE: Implement our overloads (here and below) so child models can have custom logic 
+   public List<BakedQuad> getQuads(@Nullable BlockState p_200117_1_, @Nullable Direction p_200117_2_, Random p_200117_3_, net.minecraftforge.client.model.data.IModelData modelData) {
+      return (WeightedRandom.func_180166_a(this.field_177565_b, Math.abs((int)p_200117_3_.nextLong()) % this.field_177567_a)).field_185281_b.getQuads(p_200117_1_, p_200117_2_, p_200117_3_, modelData);
    }
 
    public boolean func_177555_b() {
       return this.field_177566_c.func_177555_b();
    }
 
+   @Override
+   public boolean isAmbientOcclusion(BlockState state) {
+      return this.field_177566_c.isAmbientOcclusion(state);
+   }
+
    public boolean func_177556_c() {
       return this.field_177566_c.func_177556_c();
    }
@@ -47,10 +53,18 @@
       return this.field_177566_c.func_177554_e();
    }
 
+   public TextureAtlasSprite getParticleTexture(net.minecraftforge.client.model.data.IModelData modelData) {
+      return this.field_177566_c.getParticleTexture(modelData);
+   }
+
    public ItemCameraTransforms func_177552_f() {
       return this.field_177566_c.func_177552_f();
    }
 
+   public IBakedModel handlePerspective(net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType transformType, com.mojang.blaze3d.matrix.MatrixStack matrixStack) {
+      return this.field_177566_c.handlePerspective(transformType, matrixStack);
+   }
+
    public ItemOverrideList func_188617_f() {
       return this.field_177566_c.func_188617_f();
    }
