2 New Bodytypes + Minor Bugfix (#294)

- added stocky bodytype with the trigger pixel of #b2e7dd
- added SQUAT bodytype, based on "big daddy's" and 2 other background pony bodytypes
- fixed #289
This commit is contained in:
SKL 2024-12-13 16:06:37 -05:00 committed by GitHub
parent add012294b
commit a99b3f861b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 82 additions and 3 deletions

View file

@ -175,4 +175,4 @@ publishing {
}
}
}
}
}

View file

@ -14,6 +14,8 @@ public enum SizePreset implements Size {
BULKY (0xce3254, 0.5f, 1, 1.05F),
LANKY (0x3254ce, 0.45F, 0.85F, 0.9F),
NORMAL (0x000000, 0.4f, 0.8F, 0.8F),
STOCKY (0xb2e7dd, 0.45F, 0.8F, 0.8F),
SQUAT (0xa3d2c7, 0.4F, 0.7F, 0.67F),
YEARLING(0x53beff, 0.4F, 0.6F, 0.65F),
FOAL (0xffbe53, 0.25f, 0.6F, 0.5F),
UNSET (0x000000, 1, 1, 1);

View file

@ -29,8 +29,8 @@ public enum PonyTransformation {
if (model.getAttributes().isCrouching) stack.translate(-0.03F, 0.03F, 0.13F);
break;
case HEAD:
if (model.getAttributes().isLyingDown) stack.translate(-0.05F, -0.05F, 0);
if (model.getAttributes().isCrouching) stack.translate(0, 0.1F, -0);
if (model.getAttributes().isLyingDown) stack.translate(0, -0.05F, 0);
if (model.getAttributes().isCrouching) stack.translate(0, 0.1F, 0);
break;
case BACK:
translateForRider(stack);
@ -39,6 +39,43 @@ public enum PonyTransformation {
}
}
},
STOCKY(SizePreset.STOCKY, 0, 3F, 0.75F) {
@Override
public void transform(PonyModel<?> model, BodyPart part, MatrixStack stack) {
if (model.getAttributes().isSwimming) stack.translate(0, -0.3F, 0);
if (model.getAttributes().isCrouching) stack.translate(0, -0.2F, 0);
if (model.getAttributes().isLyingDown) stack.translate(0, -0.77F, 0.1F);
if (model.getAttributes().isSleeping) stack.translate(0, 0.16F, 0);
if (model.getAttributes().isSitting) stack.translate(0, -0.25F, -0.2F);
switch (part) {
case NECK:
stack.translate(-0.015F, -0.05F, -0.04F);
stack.scale(1.4F, 1, 1.2F);
if (model.getAttributes().isCrouching) stack.translate(-0.025F, 0.03F, 0.15F);
if (model.getAttributes().isSitting) stack.translate(0, 0, 0.03F);
break;
case HEAD:
if (model.getAttributes().isLyingDown) stack.translate(0, -0.05F, 0);
if (model.getAttributes().isCrouching) stack.translate(0, 0.1F, 0);
break;
case BODY:
stack.translate(0, -0.15F, -0.05F);
if (model.getAttributes().isCrouching) stack.translate(0, -0.07F, 0.04F);
if (model.getAttributes().isLyingDown) stack.translate(0, -0.1F, 0);
stack.scale(1.4F, 1.3F, 1.1F);
break;
case LEGS:
stack.translate(0, 0, -0.1F);
if (model.getAttributes().isCrouching) stack.translate(0, 0, 0.1F);
stack.scale(1.1F, 1, 1.1F);
break;
case BACK:
translateForRider(stack);
break;
}
}
},
LANKY(SizePreset.LANKY, 0, 2.6F, 0.75F) {
@Override
public void transform(PonyModel<?> model, BodyPart part, MatrixStack stack) {
@ -210,6 +247,46 @@ public enum PonyTransformation {
break;
}
}
},
SQUAT(SizePreset.SQUAT, 0, 3.4F, 0.75F) {
@Override
public void transform(PonyModel<?> model, BodyPart part, MatrixStack stack) {
if (model.getAttributes().isSwimming) stack.translate(0, -0.6F, 0);
if (model.getAttributes().isCrouching) stack.translate(0, -0.2F, 0);
if (model.getAttributes().isLyingDown) stack.translate(0, -1, 0);
if (model.getAttributes().isSleeping) stack.translate(0, 0.2F, 0);
if (model.getAttributes().isSitting) stack.translate(0, -0.5F, -0.2F);
stack.translate(0, -0.05F, 0);
switch (part) {
case NECK:
stack.translate(-0.01F, 0.1F, 0.03F);
stack.scale(1.4F, 1, 1.1F);
if (model.getAttributes().isCrouching) stack.translate(-0.03F, 0.04F, 0.1F);
break;
case HEAD:
stack.translate(0, 0.07F, 0);
stack.scale(1.15F, 1.15F, 1.15F);
if (model.getAttributes().isCrouching) stack.translate(0, 0.07F, 0);
break;
case BODY:
stack.scale(1.4F, 1.3F, 1);
if (model.getAttributes().isCrouching) stack.translate(0, -0.05F, 0);
break;
case TAIL:
stack.translate(0, -0.1F, 0);
break;
case LEGS:
stack.translate(0, 0.35F, 0.02F);
stack.scale(1.1F, 0.8F, 1.1F);
if (model.getAttributes().isLyingDown) stack.translate(0, -0.1F, 0);
break;
case BACK:
translateForRider(stack);
break;
}
}
};
private static final Map<Size, PonyTransformation> REGISTRY = Arrays.stream(values()).collect(Collectors.toMap(i -> i.size, Function.identity()));