ModernLifePatch/src-source/main/java/com/dairymoose/entity/SpeedboatModel.java
2024-10-26 09:40:21 +08:00

62 lines
10 KiB
Java

package com.dairymoose.entity;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
/* loaded from: outputsrg.jar:com/dairymoose/entity/SpeedboatModel.class */
public class SpeedboatModel<T extends Entity> extends EntityModel<T> {
public static final ModelLayerLocation SPEEDBOAT = new ModelLayerLocation(new ResourceLocation("modernlife", "motorboat"), "main");
private final ModelPart hull_back_and_bottom;
private final ModelPart tail;
private final ModelPart glass_window;
private final ModelPart hull_top;
private final ModelPart hull_side;
public SpeedboatModel(ModelPart root) {
this.hull_back_and_bottom = root.getChild("hull_back_and_bottom");
this.tail = root.getChild("tail");
this.glass_window = root.getChild("glass_window");
this.hull_top = root.getChild("hull_top");
this.hull_side = root.getChild("hull_side");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition hull_back_and_bottom = partdefinition.addOrReplaceChild("hull_back_and_bottom", CubeListBuilder.create().texOffs(0, 15).addBox(11.2365f, -8.0f, -10.5719f, 7.0f, 1.0f, 8.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(11.2365f, -8.0f, -2.5719f, 7.0f, 1.0f, 5.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(11.2365f, -8.0f, 2.4281f, 7.0f, 1.0f, 8.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-15.7635f, -3.0f, 3.4281f, 9.0f, 1.0f, 6.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(9.2365f, -3.0f, 3.4281f, 9.0f, 1.0f, 6.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(-15.7635f, -3.0f, -9.5719f, 9.0f, 1.0f, 7.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(-6.7635f, -3.0f, -9.5719f, 9.0f, 1.0f, 7.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(1.2365f, -3.0f, -9.5719f, 8.0f, 1.0f, 7.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(-6.7635f, -3.0f, -2.5719f, 9.0f, 1.0f, 7.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(1.2365f, -3.0f, -2.5719f, 8.0f, 1.0f, 7.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(-6.7635f, -3.0f, 4.4281f, 8.0f, 1.0f, 4.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(1.2365f, -3.0f, 4.4281f, 8.0f, 1.0f, 4.0f, new CubeDeformation(0.0f)).texOffs(0, 24).addBox(9.2365f, -3.0f, -9.5719f, 9.0f, 1.0f, 6.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-15.7635f, -3.0f, -2.5719f, 9.0f, 1.0f, 6.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(9.2365f, -3.0f, -3.5719f, 9.0f, 1.0f, 7.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-14.7635f, -2.0f, -7.5719f, 33.0f, 1.0f, 15.0f, new CubeDeformation(0.0f)).texOffs(0, 19).addBox(2.2365f, -1.0f, -5.5719f, 16.0f, 1.0f, 6.0f, new CubeDeformation(0.0f)).texOffs(0, 19).addBox(2.2365f, -1.0f, 0.4281f, 16.0f, 1.0f, 5.0f, new CubeDeformation(0.0f)).texOffs(0, 19).addBox(-13.7635f, -1.0f, -5.5719f, 16.0f, 1.0f, 6.0f, new CubeDeformation(0.0f)).texOffs(0, 19).addBox(-13.7635f, -1.0f, 0.4281f, 16.0f, 1.0f, 5.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-15.7635f, -4.0f, -10.9636f, 16.0f, 1.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-15.7635f, -4.0f, 0.0364f, 16.0f, 1.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(0.2365f, -4.0f, 0.0364f, 18.0f, 1.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(0.2365f, -4.0f, -10.9636f, 18.0f, 1.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(11.2365f, -5.0f, -11.5719f, 7.0f, 1.0f, 23.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(11.2365f, -6.0f, -12.5719f, 7.0f, 1.0f, 25.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(11.2365f, -7.0f, -11.5719f, 7.0f, 1.0f, 9.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(11.2365f, -7.0f, -2.5719f, 7.0f, 1.0f, 5.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(11.2365f, -7.0f, 2.4281f, 7.0f, 1.0f, 9.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-15.7635f, -7.0f, -10.5719f, 1.0f, 3.0f, 21.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-16.7635f, -7.0f, 0.4281f, 1.0f, 3.0f, 9.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-16.7635f, -7.0f, -9.5719f, 1.0f, 3.0f, 10.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-17.7635f, -7.0f, -8.5719f, 1.0f, 3.0f, 8.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-17.7635f, -7.0f, -0.5719f, 1.0f, 3.0f, 9.0f, new CubeDeformation(0.0f)).texOffs(0, 17).addBox(-18.7635f, -7.0f, 0.4281f, 1.0f, 3.0f, 7.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-18.7635f, -7.0f, -7.5719f, 1.0f, 3.0f, 8.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-19.7635f, -7.0f, -6.5719f, 1.0f, 3.0f, 13.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-20.7635f, -7.0f, -5.5719f, 1.0f, 3.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-23.2635f, -8.0f, -4.5f, 1.0f, 5.0f, 9.0f, new CubeDeformation(0.0f)), PartPose.offset(0.0f, 24.0f, 0.0f));
hull_back_and_bottom.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 15).addBox(3.5f, -2.5f, 3.0f, 1.0f, 5.0f, 11.0f, new CubeDeformation(0.0f)), PartPose.offsetAndRotation(-21.7635f, -5.5f, 0.1651f, -3.1416f, 0.7854f, 3.1416f));
hull_back_and_bottom.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(0, 15).addBox(-4.5f, -2.5f, 2.0f, 1.0f, 5.0f, 12.0f, new CubeDeformation(0.0f)), PartPose.offsetAndRotation(-21.7635f, -5.5f, 0.1651f, 0.0f, 0.7854f, 0.0f));
PartDefinition tail = partdefinition.addOrReplaceChild("tail", CubeListBuilder.create(), PartPose.offset(0.0f, 24.0f, 0.0f));
tail.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(26, 0).addBox(2.0f, -15.9f, -8.0f, 2.0f, 8.0f, 1.0f, new CubeDeformation(0.0f)).texOffs(0, 19).addBox(2.0f, -15.9f, 5.0f, 2.0f, 1.0f, 12.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(2.0f, -15.9f, -7.0f, 2.0f, 1.0f, 12.0f, new CubeDeformation(0.0f)).texOffs(26, 0).addBox(2.0f, -15.9f, 17.0f, 2.0f, 8.0f, 1.0f, new CubeDeformation(0.0f)), PartPose.offsetAndRotation(3.7365f, 0.0f, -5.0f, 0.0f, 0.0f, 0.3491f));
PartDefinition glass_window = partdefinition.addOrReplaceChild("glass_window", CubeListBuilder.create(), PartPose.offset(0.0f, 24.0f, 0.0f));
glass_window.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(0, 0).addBox(-18.0f, -10.75f, 6.0f, 1.0f, 4.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 0).addBox(-18.0f, -10.75f, -5.0f, 1.0f, 4.0f, 11.0f, new CubeDeformation(0.0f)), PartPose.offsetAndRotation(3.7365f, 0.0f, -6.0f, 0.0f, 0.0f, 0.2618f));
partdefinition.addOrReplaceChild("hull_top", CubeListBuilder.create().texOffs(0, 16).addBox(-16.2635f, -10.0f, -0.6364f, 2.0f, 2.0f, 12.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(-16.2635f, -10.0f, -11.6364f, 2.0f, 2.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(12, 27).addBox(-14.2635f, -10.0f, -12.5187f, 14.0f, 3.0f, 2.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(-14.2635f, -11.0f, -11.1364f, 4.0f, 3.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(-14.2635f, -11.0f, -0.1364f, 4.0f, 3.0f, 12.0f, new CubeDeformation(0.0f)).texOffs(12, 27).addBox(-14.2635f, -10.0f, 10.4813f, 14.0f, 3.0f, 2.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(-17.2635f, -9.0f, 0.4773f, 1.0f, 1.0f, 10.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(-18.2635f, -9.0f, 1.4773f, 1.0f, 1.0f, 8.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-19.2635f, -9.0f, -0.5227f, 1.0f, 1.0f, 9.0f, new CubeDeformation(0.0f)).texOffs(5, 18).addBox(-17.2635f, -9.0f, -10.5227f, 1.0f, 1.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(2, 17).addBox(-18.2635f, -9.0f, -9.5227f, 1.0f, 1.0f, 11.0f, new CubeDeformation(0.0f)).texOffs(0, 15).addBox(-19.2635f, -9.0f, -8.5227f, 1.0f, 1.0f, 8.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(-20.2635f, -9.0f, -7.5227f, 1.0f, 1.0f, 15.0f, new CubeDeformation(0.0f)).texOffs(0, 16).addBox(-21.2635f, -9.0f, -6.5227f, 1.0f, 1.0f, 13.0f, new CubeDeformation(0.0f)).texOffs(0, 20).addBox(-22.2635f, -9.0f, -5.3864f, 1.0f, 1.0f, 11.0f, new CubeDeformation(0.0f)), PartPose.offset(0.0f, 24.0f, 0.0f));
PartDefinition hull_side = partdefinition.addOrReplaceChild("hull_side", CubeListBuilder.create().texOffs(0, 28).addBox(-14.7635f, -7.0f, -11.9906f, 26.0f, 3.0f, 1.0f, new CubeDeformation(0.0f)).texOffs(0, 28).addBox(-14.7635f, -6.0f, -12.9906f, 26.0f, 1.0f, 1.0f, new CubeDeformation(0.0f)), PartPose.offset(0.0f, 24.0f, 0.0f));
hull_side.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(0, 28).addBox(-19.5f, -1.5f, 0.0f, 26.0f, 3.0f, 1.0f, new CubeDeformation(0.0f)).texOffs(0, 28).addBox(-19.5f, -0.5f, -1.0f, 26.0f, 1.0f, 1.0f, new CubeDeformation(0.0f)), PartPose.offsetAndRotation(4.7365f, -5.5f, 12.0094f, 3.1416f, 0.0f, 0.0f));
partdefinition.addOrReplaceChild("water_patch", CubeListBuilder.create().texOffs(0, 1).addBox(-16.0f, -7.0f, -11.0f, 30.0f, 3.0f, 22.0f, new CubeDeformation(0.0f)), PartPose.offset(0.0f, 24.0f, 0.0f));
return LayerDefinition.create(meshdefinition, 32, 32);
}
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
public void m_7695_(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
this.hull_back_and_bottom.render(poseStack, buffer, packedLight, packedOverlay);
this.tail.render(poseStack, buffer, packedLight, packedOverlay);
this.glass_window.render(poseStack, buffer, packedLight, packedOverlay);
this.hull_top.render(poseStack, buffer, packedLight, packedOverlay);
this.hull_side.render(poseStack, buffer, packedLight, packedOverlay);
}
}