TheWildBackport/common/src/main/java/com/cursedcauldron/wildbackport/client/animation/api/Animated.java
2022-07-10 00:16:25 -04:00

54 lines
1.2 KiB
Java

package com.cursedcauldron.wildbackport.client.animation.api;
import com.mojang.math.Vector3f;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
//<>
public interface Animated {
static void translate(ModelPart part, Vector3f vec) {
part.x += vec.x();
part.y += vec.y();
part.z += vec.z();
}
static void rotate(ModelPart part, Vector3f vec) {
part.xRot += vec.x();
part.yRot += vec.y();
part.zRot += vec.z();
}
static void scale(ModelPart part, Vector3f vec) {
((Animated)(Object)part).increaseXScale(vec.x());
((Animated)(Object)part).increaseYScale(vec.y());
((Animated)(Object)part).increaseZScale(vec.z());
}
PartPose getDefaultPose();
void setDefaultPose(PartPose pose);
static void resetPose(ModelPart part) {
part.loadPose(((Animated)(Object)part).getDefaultPose());
}
float xScale();
void setXScale(float x);
void increaseXScale(float x);
float yScale();
void setYScale(float y);
void increaseYScale(float y);
float zScale();
void setZScale(float z);
void increaseZScale(float z);
}