Skip to content

Commit

Permalink
Third Person Fixes
Browse files Browse the repository at this point in the history
- Re-implemented ModelPart assignments when initializing locator skeletons
  • Loading branch information
Trainguy9512 committed Jun 11, 2023
1 parent e6994d9 commit 5950866
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 18 deletions.
Expand Up @@ -21,16 +21,14 @@

public class PlayerPartAnimator extends LivingEntityAnimator<Player, PlayerModel<Player>, PlayerPartAnimator.ModelPartLocators> {

private static final String LOCATOR_ROOT = "root";
private static final String LOCATOR_HEAD = "head";
private static final String LOCATOR_BODY = "body";
private static final String LOCATOR_LEFT_LEG = "leftLeg";
private static final String LOCATOR_RIGHT_LEG = "rightLeg";
private static final String LOCATOR_LEFT_ARM = "leftArm";
private static final String LOCATOR_RIGHT_ARM = "rightArm";
private static final String LOCATOR_CAPE = "cape";
private static final String LOCATOR_LEFT_HAND = "leftHand";
private static final String LOCATOR_RIGHT_HAND = "rightHand";
private static final String MODEL_PART_ROOT = "root";
private static final String MODEL_PART_HEAD = "head";
private static final String MODEL_PART_BODY = "body";
private static final String MODEL_PART_LEFT_LEG = "left_leg";
private static final String MODEL_PART_RIGHT_LEG = "right_leg";
private static final String MODEL_PART_LEFT_ARM = "left_arm";
private static final String MODEL_PART_RIGHT_ARM = "right_arm";
private static final String MODEL_PART_CAPE = "cloak";

public enum ModelPartLocators{
root,
Expand Down Expand Up @@ -71,6 +69,13 @@ public PlayerPartAnimator(){
@Override
protected LocatorSkeleton<ModelPartLocators> buildRig() {
return LocatorSkeleton.of(ModelPartLocators.values())
.setLocatorModelPart(ModelPartLocators.head, MODEL_PART_HEAD)
.setLocatorModelPart(ModelPartLocators.leftArm, MODEL_PART_LEFT_ARM)
.setLocatorModelPart(ModelPartLocators.rightArm, MODEL_PART_RIGHT_ARM)
.setLocatorModelPart(ModelPartLocators.leftLeg, MODEL_PART_LEFT_LEG)
.setLocatorModelPart(ModelPartLocators.rightLeg, MODEL_PART_RIGHT_LEG)
.setLocatorModelPart(ModelPartLocators.body, MODEL_PART_BODY)
.setLocatorModelPart(ModelPartLocators.cape, MODEL_PART_CAPE)
.setLocatorDefaultPose(ModelPartLocators.leftLeg, PartPose.offset(1.9f, 12.0f, 0.0f))
.setLocatorDefaultPose(ModelPartLocators.rightLeg, PartPose.offset(-1.9f, 12.0f, 0.0f))
.setLocatorDefaultPose(ModelPartLocators.leftArm, PartPose.offset(5.0f, 2.0f, 0.0f))
Expand Down Expand Up @@ -103,6 +108,7 @@ public void tick(LivingEntity livingEntity, AnimationDataContainer entityAnimati
getAnimationState(TEST_STATE_MACHINE)
.setTransitionCondition(TestStates.IDLE, TestStates.WALKING, isWalking)
.setTransitionCondition(TestStates.WALKING, TestStates.IDLE, !isWalking);
AnimationOverhaulMain.LOGGER.info(this.getAnimationState(ANIM_TEST_IDLE_SEQUENCE_PLAYER).getPlayRate());

}

Expand Down
Expand Up @@ -57,6 +57,11 @@ public LocatorSkeleton<L> setLocatorDefaultPose(Enum<L> locator, PartPose pose){
return this;
}

public LocatorSkeleton<L> setLocatorModelPart(Enum<L> locator, String modelPartIdentifier){
this.locatorHashMap.get(locator).setModelPartIdentifier(modelPartIdentifier);
return this;
}

/*
public void addLocatorModelPart(String locator, String locatorMirrored, String modelPartIdentifier, PartPose defaultPose){
Expand Down Expand Up @@ -124,28 +129,35 @@ public LocatorEntry(Enum<L> mirroredLocator){
this(mirroredLocator, null, PartPose.ZERO);
}

public Enum<L> getMirroedLocatorIdentifier(){
return this.mirroedLocatorIdentifier;
}

public void setMirroedLocatorIdentifier(Enum<L> locator){
this.mirroedLocatorIdentifier = locator;
}

public Enum<L> getMirroedLocatorIdentifier(){
return this.mirroedLocatorIdentifier;
}

public void setDefaultPose(PartPose pose){
this.defaultPose = pose;
}

public PartPose getDefaultPose(){
return this.defaultPose;
}

public void setModelPartIdentifier(String modelPartIdentifier){
if(!Objects.isNull(modelPartIdentifier)){
this.modelPartIdentifier = modelPartIdentifier;
this.usesModelPart = true;
}
}

public String getModelPartIdentifier(){
return this.usesModelPart ? this.modelPartIdentifier : "null";
}

public boolean getUsesModelPart(){
return this.usesModelPart;
}

public PartPose getDefaultPose(){
return this.defaultPose;
}
}
}

0 comments on commit 5950866

Please sign in to comment.