extra bodytype

- added SQUAT bodytype, based on "big daddy's" and 2 other background pony bodytypes
- modified STOCKY model slightly

should be finished now unless i overlooked something
This commit is contained in:
SKL 2024-11-06 22:56:40 -05:00
parent 77fe8b75a9
commit cbb97c5f90
2 changed files with 47 additions and 5 deletions

View file

@ -14,9 +14,10 @@ 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),
STOCKY (0xb2e7dd, 0.45F, 0.8F, 0.8F),
UNSET (0x000000, 1, 1, 1);
private final int triggerValue;

View file

@ -39,26 +39,27 @@ public enum PonyTransformation {
}
}
},
STOCKY(SizePreset.STOCKY, 0, 3.2F, 0.75F) {
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.2F, -0.2F);
if (model.getAttributes().isSitting) stack.translate(0, -0.25F, -0.2F);
switch (part) {
case NECK:
stack.translate(0, -0.05F, -0.04F);
stack.scale(1.4F, 1, 1.2F);
if (model.getAttributes().isCrouching) stack.translate(-0.03F, 0.03F, 0.13F);
if (model.getAttributes().isCrouching) stack.translate(-0.03F, 0.03F, 0.15F);
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.1F, -0.05F);
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);
@ -245,6 +246,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()));