Spaces:
Build error
Build error
File size: 3,815 Bytes
d46f4a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
package net.minecraft.client.model;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.HumanoidArm;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class AnimationUtils {
public static void animateCrossbowHold(ModelPart p_102098_, ModelPart p_102099_, ModelPart p_102100_, boolean p_102101_) {
ModelPart modelpart = p_102101_ ? p_102098_ : p_102099_;
ModelPart modelpart1 = p_102101_ ? p_102099_ : p_102098_;
modelpart.yRot = (p_102101_ ? -0.3F : 0.3F) + p_102100_.yRot;
modelpart1.yRot = (p_102101_ ? 0.6F : -0.6F) + p_102100_.yRot;
modelpart.xRot = (float) (-Math.PI / 2) + p_102100_.xRot + 0.1F;
modelpart1.xRot = -1.5F + p_102100_.xRot;
}
public static void animateCrossbowCharge(ModelPart p_102087_, ModelPart p_102088_, float p_366704_, int p_368597_, boolean p_102090_) {
ModelPart modelpart = p_102090_ ? p_102087_ : p_102088_;
ModelPart modelpart1 = p_102090_ ? p_102088_ : p_102087_;
modelpart.yRot = p_102090_ ? -0.8F : 0.8F;
modelpart.xRot = -0.97079635F;
modelpart1.xRot = modelpart.xRot;
float f = Mth.clamp((float)p_368597_, 0.0F, p_366704_);
float f1 = f / p_366704_;
modelpart1.yRot = Mth.lerp(f1, 0.4F, 0.85F) * (float)(p_102090_ ? 1 : -1);
modelpart1.xRot = Mth.lerp(f1, modelpart1.xRot, (float) (-Math.PI / 2));
}
public static void swingWeaponDown(ModelPart p_102092_, ModelPart p_102093_, HumanoidArm p_364768_, float p_102095_, float p_102096_) {
float f = Mth.sin(p_102095_ * (float) Math.PI);
float f1 = Mth.sin((1.0F - (1.0F - p_102095_) * (1.0F - p_102095_)) * (float) Math.PI);
p_102092_.zRot = 0.0F;
p_102093_.zRot = 0.0F;
p_102092_.yRot = (float) (Math.PI / 20);
p_102093_.yRot = (float) (-Math.PI / 20);
if (p_364768_ == HumanoidArm.RIGHT) {
p_102092_.xRot = -1.8849558F + Mth.cos(p_102096_ * 0.09F) * 0.15F;
p_102093_.xRot = -0.0F + Mth.cos(p_102096_ * 0.19F) * 0.5F;
p_102092_.xRot += f * 2.2F - f1 * 0.4F;
p_102093_.xRot += f * 1.2F - f1 * 0.4F;
} else {
p_102092_.xRot = -0.0F + Mth.cos(p_102096_ * 0.19F) * 0.5F;
p_102093_.xRot = -1.8849558F + Mth.cos(p_102096_ * 0.09F) * 0.15F;
p_102092_.xRot += f * 1.2F - f1 * 0.4F;
p_102093_.xRot += f * 2.2F - f1 * 0.4F;
}
bobArms(p_102092_, p_102093_, p_102096_);
}
public static void bobModelPart(ModelPart p_170342_, float p_170343_, float p_170344_) {
p_170342_.zRot = p_170342_.zRot + p_170344_ * (Mth.cos(p_170343_ * 0.09F) * 0.05F + 0.05F);
p_170342_.xRot = p_170342_.xRot + p_170344_ * Mth.sin(p_170343_ * 0.067F) * 0.05F;
}
public static void bobArms(ModelPart p_102083_, ModelPart p_102084_, float p_102085_) {
bobModelPart(p_102083_, p_102085_, 1.0F);
bobModelPart(p_102084_, p_102085_, -1.0F);
}
public static void animateZombieArms(ModelPart p_102103_, ModelPart p_102104_, boolean p_102105_, float p_102106_, float p_102107_) {
float f = Mth.sin(p_102106_ * (float) Math.PI);
float f1 = Mth.sin((1.0F - (1.0F - p_102106_) * (1.0F - p_102106_)) * (float) Math.PI);
p_102104_.zRot = 0.0F;
p_102103_.zRot = 0.0F;
p_102104_.yRot = -(0.1F - f * 0.6F);
p_102103_.yRot = 0.1F - f * 0.6F;
float f2 = (float) -Math.PI / (p_102105_ ? 1.5F : 2.25F);
p_102104_.xRot = f2;
p_102103_.xRot = f2;
p_102104_.xRot += f * 1.2F - f1 * 0.4F;
p_102103_.xRot += f * 1.2F - f1 * 0.4F;
bobArms(p_102104_, p_102103_, p_102107_);
}
} |