// Made with Blockbench 4.12.0
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports


public class WheelChair_Converted<T extends Entity> extends EntityModel<T> {
	// This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor
	public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("modid", "wheelchair"), "main");
	private final ModelPart bone;

	public WheelChair_Converted(ModelPart root) {
		this.bone = root.getChild("bone");
	}

	public static LayerDefinition createBodyLayer() {
		MeshDefinition meshdefinition = new MeshDefinition();
		PartDefinition partdefinition = meshdefinition.getRoot();

		PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(12, 25).addBox(-17.0F, -3.0F, -4.0F, 18.0F, 1.0F, 20.0F, new CubeDeformation(0.0F))
		.texOffs(0, 17).addBox(-15.0F, -29.0F, -7.0F, 14.0F, 15.0F, 1.0F, new CubeDeformation(0.0F))
		.texOffs(0, 4).addBox(1.0F, -4.0F, 10.0F, 2.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
		.texOffs(0, 4).addBox(-19.0F, -4.0F, 10.0F, 2.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
		.texOffs(0, 4).addBox(1.0F, -4.0F, -3.0F, 2.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
		.texOffs(0, 4).addBox(-19.0F, -4.0F, -3.0F, 2.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
		.texOffs(0, 45).addBox(-9.0F, -15.0F, -1.0F, 2.0F, 13.0F, 2.0F, new CubeDeformation(0.0F))
		.texOffs(0, 48).addBox(-15.0F, -16.0F, -6.0F, 14.0F, 2.0F, 14.0F, new CubeDeformation(0.0F))
		.texOffs(7, 0).addBox(-2.0F, -22.0F, -7.0F, 2.0F, 2.0F, 12.0F, new CubeDeformation(0.0F))
		.texOffs(8, 0).addBox(-16.0F, -22.0F, -7.0F, 2.0F, 2.0F, 12.0F, new CubeDeformation(0.0F))
		.texOffs(4, 23).addBox(-11.0F, -32.0F, -7.0F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, 24.0F, -8.0F));

		PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(9, 22).mirror().addBox(0.0F, -2.0F, 0.0F, 4.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-5.0F, -30.0F, -7.0F, 0.0F, -0.3927F, 0.0F));

		PartDefinition cube_r2 = bone.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(2, 23).addBox(-4.0F, -2.0F, 0.0F, 4.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-11.0F, -30.0F, -7.0F, 0.0F, 0.3927F, 0.0F));

		PartDefinition cube_r3 = bone.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(1, 21).addBox(-8.0F, -6.0F, 0.0F, 7.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.0F, -21.0F, 7.0F, 0.0F, -0.3927F, 0.0F));

		return LayerDefinition.create(meshdefinition, 64, 64);
	}

	@Override
	public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {

	}

	@Override
	public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
		bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
	}
}