From 8e173fc85956f9998ec5132a2945020d9b65acd3 Mon Sep 17 00:00:00 2001 From: Sollace Date: Fri, 22 Jun 2018 00:42:13 +0200 Subject: [PATCH] Change packages and use enums --- .../model/AbstractPonyModel.java | 15 ++- .../model/capabilities/ICapitated.java | 2 - .../model/capabilities/IModel.java | 12 +- .../model/player/ModelEarthPony.java | 2 +- .../model/player/ModelUnicorn.java | 4 +- .../model/ponies/ModelSkeletonPony.java | 2 +- .../minelittlepony/pony/data/PonySize.java | 10 +- .../package-info.java | 2 +- .../render/player/RenderPonyPlayer.java | 2 +- .../PonyPosture.java | 2 +- .../transform/PonyTransformation.java | 114 ++++++++++++++++++ .../PostureElytra.java | 2 +- .../PostureFalling.java | 2 +- .../PostureFlight.java | 2 +- .../transform/package-info.java | 8 ++ .../transformation/PonyTransformation.java | 8 -- .../transformation/TransformFoal.java | 40 ------ .../transformation/TransformLarge.java | 38 ------ .../transformation/TransformNormal.java | 19 --- .../transformation/TransformTall.java | 38 ------ 20 files changed, 160 insertions(+), 164 deletions(-) rename src/main/java/com/minelittlepony/{transformation => posture}/package-info.java (78%) rename src/main/java/com/minelittlepony/{transformation => transform}/PonyPosture.java (93%) create mode 100644 src/main/java/com/minelittlepony/transform/PonyTransformation.java rename src/main/java/com/minelittlepony/{transformation => transform}/PostureElytra.java (92%) rename src/main/java/com/minelittlepony/{transformation => transform}/PostureFalling.java (90%) rename src/main/java/com/minelittlepony/{transformation => transform}/PostureFlight.java (98%) create mode 100644 src/main/java/com/minelittlepony/transform/package-info.java delete mode 100644 src/main/java/com/minelittlepony/transformation/PonyTransformation.java delete mode 100644 src/main/java/com/minelittlepony/transformation/TransformFoal.java delete mode 100644 src/main/java/com/minelittlepony/transformation/TransformLarge.java delete mode 100644 src/main/java/com/minelittlepony/transformation/TransformNormal.java delete mode 100644 src/main/java/com/minelittlepony/transformation/TransformTall.java diff --git a/src/main/java/com/minelittlepony/model/AbstractPonyModel.java b/src/main/java/com/minelittlepony/model/AbstractPonyModel.java index 11854c07..28486682 100644 --- a/src/main/java/com/minelittlepony/model/AbstractPonyModel.java +++ b/src/main/java/com/minelittlepony/model/AbstractPonyModel.java @@ -13,7 +13,7 @@ import com.minelittlepony.pony.data.PonySize; import com.minelittlepony.render.AbstractPonyRenderer; import com.minelittlepony.render.PonyRenderer; import com.minelittlepony.render.plane.PlaneRenderer; -import com.minelittlepony.transformation.PonyTransformation; +import com.minelittlepony.transform.PonyTransformation; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelPlayer; @@ -34,8 +34,7 @@ import static com.minelittlepony.model.PonyModelConstants.*; */ public abstract class AbstractPonyModel extends ModelPlayer implements IModel { - public boolean isSleeping; - + private boolean isSleeping; private boolean isFlying; private boolean isSwimming; private boolean headGear; @@ -657,6 +656,16 @@ public abstract class AbstractPonyModel extends ModelPlayer implements IModel { return isFlying && canFly(); } + @Override + public boolean isSleeping() { + return isSleeping; + } + + @Override + public boolean isRiding() { + return isRiding; + } + @Override public boolean isSwimming() { return isSwimming; diff --git a/src/main/java/com/minelittlepony/model/capabilities/ICapitated.java b/src/main/java/com/minelittlepony/model/capabilities/ICapitated.java index d4906860..6afbe0b1 100644 --- a/src/main/java/com/minelittlepony/model/capabilities/ICapitated.java +++ b/src/main/java/com/minelittlepony/model/capabilities/ICapitated.java @@ -1,7 +1,5 @@ package com.minelittlepony.model.capabilities; -import javax.annotation.Nullable; - import net.minecraft.client.model.ModelRenderer; public interface ICapitated { diff --git a/src/main/java/com/minelittlepony/model/capabilities/IModel.java b/src/main/java/com/minelittlepony/model/capabilities/IModel.java index 8b2cd463..d77de2a0 100644 --- a/src/main/java/com/minelittlepony/model/capabilities/IModel.java +++ b/src/main/java/com/minelittlepony/model/capabilities/IModel.java @@ -4,7 +4,7 @@ import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.armour.PonyArmor; import com.minelittlepony.pony.data.IPonyData; import com.minelittlepony.pony.data.PonyWearable; -import com.minelittlepony.transformation.PonyTransformation; +import com.minelittlepony.transform.PonyTransformation; public interface IModel extends ICapitated { @@ -39,11 +39,21 @@ public interface IModel extends ICapitated { */ boolean isFlying(); + /** + * Returns true if this model is lying on a bed or bed-like object. + */ + boolean isSleeping(); + /** * Returns true if this model is wimming underwater. */ boolean isSwimming(); + /** + * Returns true if this model is riding a boat, horse, or other animals. + */ + boolean isRiding(); + /** * Returns true if we're flying really fast. */ diff --git a/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java b/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java index ab0bafef..4d792b57 100644 --- a/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java +++ b/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java @@ -46,7 +46,7 @@ public class ModelEarthPony extends AbstractPonyModel { @Override protected float getLegOutset() { if (smallArms) { - if (isSleeping) return 2.6f; + if (isSleeping()) return 2.6f; if (isCrouching()) return 1; return 4; } diff --git a/src/main/java/com/minelittlepony/model/player/ModelUnicorn.java b/src/main/java/com/minelittlepony/model/player/ModelUnicorn.java index ae60b33b..fda5f7f8 100644 --- a/src/main/java/com/minelittlepony/model/player/ModelUnicorn.java +++ b/src/main/java/com/minelittlepony/model/player/ModelUnicorn.java @@ -77,7 +77,7 @@ public class ModelUnicorn extends ModelEarthPony implements IModelUnicorn { EnumHandSide mainSide = getMainHand(entity); if (canCast() && getArmPoseForSide(mainSide) != ArmPose.EMPTY) { - if (swingProgress > -9990.0F && !isSleeping) { + if (swingProgress > -9990.0F && !isSleeping()) { swingArm(getUnicornArmForSide(mainSide)); } } else { @@ -87,7 +87,7 @@ public class ModelUnicorn extends ModelEarthPony implements IModelUnicorn { @Override protected void swingArms(float ticks) { - if (isSleeping) return; + if (isSleeping()) return; if (canCast()) { float cos = MathHelper.cos(ticks * 0.09F) * 0.05F + 0.05F; diff --git a/src/main/java/com/minelittlepony/model/ponies/ModelSkeletonPony.java b/src/main/java/com/minelittlepony/model/ponies/ModelSkeletonPony.java index a2ad09d9..7c06a29e 100644 --- a/src/main/java/com/minelittlepony/model/ponies/ModelSkeletonPony.java +++ b/src/main/java/com/minelittlepony/model/ponies/ModelSkeletonPony.java @@ -43,7 +43,7 @@ public class ModelSkeletonPony extends ModelMobPony { } protected float getLegOutset() { - if (isSleeping) return 2.6f; + if (isSleeping()) return 2.6f; if (isCrouching()) return 0; return 4; } diff --git a/src/main/java/com/minelittlepony/pony/data/PonySize.java b/src/main/java/com/minelittlepony/pony/data/PonySize.java index f68120ad..5e9461d5 100644 --- a/src/main/java/com/minelittlepony/pony/data/PonySize.java +++ b/src/main/java/com/minelittlepony/pony/data/PonySize.java @@ -1,13 +1,13 @@ package com.minelittlepony.pony.data; import com.minelittlepony.MineLittlePony; -import com.minelittlepony.transformation.*; +import com.minelittlepony.transform.PonyTransformation; public enum PonySize implements ITriggerPixelMapped { - NORMAL(0, 0.4f, 1f, new TransformNormal()), - LARGE(0xce3254, 0.5f, 0.8f, new TransformLarge()), - FOAL(0xffbe53, 0.25f, 0.8f, new TransformFoal()), - TALL(0x534b76, 0.45f, 1f, new TransformTall()); + NORMAL(0, 0.4f, 1f, PonyTransformation.NORMAL), + LARGE(0xce3254, 0.5f, 0.8f, PonyTransformation.LARGE), + FOAL(0xffbe53, 0.25f, 0.8f, PonyTransformation.FOAL), + TALL(0x534b76, 0.45f, 1f, PonyTransformation.TALL); private int triggerValue; diff --git a/src/main/java/com/minelittlepony/transformation/package-info.java b/src/main/java/com/minelittlepony/posture/package-info.java similarity index 78% rename from src/main/java/com/minelittlepony/transformation/package-info.java rename to src/main/java/com/minelittlepony/posture/package-info.java index 979dc9b8..5a8d20a1 100644 --- a/src/main/java/com/minelittlepony/transformation/package-info.java +++ b/src/main/java/com/minelittlepony/posture/package-info.java @@ -1,6 +1,6 @@ @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package com.minelittlepony.transformation; +package com.minelittlepony.posture; import mcp.MethodsReturnNonnullByDefault; diff --git a/src/main/java/com/minelittlepony/render/player/RenderPonyPlayer.java b/src/main/java/com/minelittlepony/render/player/RenderPonyPlayer.java index 29766a51..1f64eba5 100644 --- a/src/main/java/com/minelittlepony/render/player/RenderPonyPlayer.java +++ b/src/main/java/com/minelittlepony/render/player/RenderPonyPlayer.java @@ -19,7 +19,7 @@ import com.minelittlepony.render.layer.LayerPonyArmor; import com.minelittlepony.render.layer.LayerPonyCape; import com.minelittlepony.render.layer.LayerPonyCustomHead; import com.minelittlepony.render.layer.LayerPonyElytra; -import com.minelittlepony.transformation.PonyPosture; +import com.minelittlepony.transform.PonyPosture; import com.mojang.authlib.GameProfile; import com.mojang.authlib.minecraft.MinecraftProfileTexture; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; diff --git a/src/main/java/com/minelittlepony/transformation/PonyPosture.java b/src/main/java/com/minelittlepony/transform/PonyPosture.java similarity index 93% rename from src/main/java/com/minelittlepony/transformation/PonyPosture.java rename to src/main/java/com/minelittlepony/transform/PonyPosture.java index c62415df..d8561bf5 100644 --- a/src/main/java/com/minelittlepony/transformation/PonyPosture.java +++ b/src/main/java/com/minelittlepony/transform/PonyPosture.java @@ -1,4 +1,4 @@ -package com.minelittlepony.transformation; +package com.minelittlepony.transform; import com.minelittlepony.model.AbstractPonyModel; diff --git a/src/main/java/com/minelittlepony/transform/PonyTransformation.java b/src/main/java/com/minelittlepony/transform/PonyTransformation.java new file mode 100644 index 00000000..7914fde2 --- /dev/null +++ b/src/main/java/com/minelittlepony/transform/PonyTransformation.java @@ -0,0 +1,114 @@ +package com.minelittlepony.transform; + +import static net.minecraft.client.renderer.GlStateManager.scale; +import static net.minecraft.client.renderer.GlStateManager.translate; + +import com.minelittlepony.model.BodyPart; +import com.minelittlepony.model.capabilities.IModel; + +public enum PonyTransformation { + + NORMAL { + @Override + public void transform(IModel model, BodyPart part) { + if (model.isSleeping()) translate(0, -0.61F, 0.25F); + + switch (part) { + case NECK: + if (model.isCrouching()) translate(-0.03F, 0.03F, 0.1F); + default: + } + } + }, + LARGE { + @Override + public void transform(IModel model, BodyPart part) { + if (model.isSleeping()) translate(0, -0.98F, 0.2F); + + switch (part) { + case NECK: + translate(0, -0.15F, -0.07F); + if (model.isCrouching()) translate(-0.03F, 0.16F, 0.07F); + break; + case HEAD: + translate(0, -0.17F, -0.04F); + if (model.isSleeping()) translate(0, 0, -0.1F); + if (model.isCrouching()) translate(0, 0.15F, 0); + break; + case BODY: + translate(0, -0.2F, -0.04F); + scale(1.15F, 1.2F, 1.2F); + break; + case TAIL: + translate(0, -0.2F, 0.08F); + break; + case LEGS: + translate(0, -0.14F, 0); + scale(1.15F, 1.12F, 1.15F); + break; + } + } + }, + FOAL { + @Override + public void transform(IModel model, BodyPart part) { + if (model.isCrouching()) translate(0, -0.12F, 0); + if (model.isSleeping()) translate(0, -1.48F, 0.25F); + if (model.isRiding()) translate(0, -0.1F, 0); + + switch (part) { + case NECK: + translate(0, 0.76F, 0); + scale(0.9F, 0.9F, 0.9F); + if (model.isCrouching()) translate(0, -0.01F, 0.15F); + break; + case HEAD: + translate(0, 0.76F, 0); + scale(0.9F, 0.9F, 0.9F); + break; + case BODY: + case TAIL: + translate(0, 0.76F, -0.04F); + scale(0.6F, 0.6F, 0.6F); + break; + case LEGS: + translate(0, 0.89F, 0); + scale(0.6F, 0.41F, 0.6F); + if (model.isCrouching()) translate(0, 0.12F, 0); + if (model.isGoingFast()) translate(0, -0.08F, 0); + break; + } + } + }, + TALL { + @Override + public void transform(IModel model, BodyPart part) { + if (model.isSleeping()) translate(0, -0.5F, 0.25F); + + switch (part) { + case NECK: + translate(0, -0.09F, -0.01F); + scale(1, 1.1F, 1); + if (model.isCrouching()) translate(-0.02F, -0.02F, 0.1F); + break; + case HEAD: + translate(0, -0.15F, 0.01F); + if (model.isCrouching()) translate(0, 0.05F, 0); + break; + case BODY: + translate(0, -0.1F, 0); + break; + case TAIL: + translate(0, -0.1F, 0); + break; + case LEGS: + translate(0, -0.25F, 0.03F); + scale(1, 1.18F, 1); + if (model.isGoingFast()) translate(0, 0.05F, 0); + break; + } + } + }; + + public abstract void transform(IModel model, BodyPart part); +} diff --git a/src/main/java/com/minelittlepony/transformation/PostureElytra.java b/src/main/java/com/minelittlepony/transform/PostureElytra.java similarity index 92% rename from src/main/java/com/minelittlepony/transformation/PostureElytra.java rename to src/main/java/com/minelittlepony/transform/PostureElytra.java index d437be39..e708efc8 100644 --- a/src/main/java/com/minelittlepony/transformation/PostureElytra.java +++ b/src/main/java/com/minelittlepony/transform/PostureElytra.java @@ -1,4 +1,4 @@ -package com.minelittlepony.transformation; +package com.minelittlepony.transform; import com.minelittlepony.model.AbstractPonyModel; diff --git a/src/main/java/com/minelittlepony/transformation/PostureFalling.java b/src/main/java/com/minelittlepony/transform/PostureFalling.java similarity index 90% rename from src/main/java/com/minelittlepony/transformation/PostureFalling.java rename to src/main/java/com/minelittlepony/transform/PostureFalling.java index 2c6eff32..bb175652 100644 --- a/src/main/java/com/minelittlepony/transformation/PostureFalling.java +++ b/src/main/java/com/minelittlepony/transform/PostureFalling.java @@ -1,4 +1,4 @@ -package com.minelittlepony.transformation; +package com.minelittlepony.transform; import com.minelittlepony.model.AbstractPonyModel; diff --git a/src/main/java/com/minelittlepony/transformation/PostureFlight.java b/src/main/java/com/minelittlepony/transform/PostureFlight.java similarity index 98% rename from src/main/java/com/minelittlepony/transformation/PostureFlight.java rename to src/main/java/com/minelittlepony/transform/PostureFlight.java index 483208e8..766033e0 100644 --- a/src/main/java/com/minelittlepony/transformation/PostureFlight.java +++ b/src/main/java/com/minelittlepony/transform/PostureFlight.java @@ -1,4 +1,4 @@ -package com.minelittlepony.transformation; +package com.minelittlepony.transform; import com.minelittlepony.model.AbstractPonyModel; import com.minelittlepony.util.math.MathUtil; diff --git a/src/main/java/com/minelittlepony/transform/package-info.java b/src/main/java/com/minelittlepony/transform/package-info.java new file mode 100644 index 00000000..245bb06b --- /dev/null +++ b/src/main/java/com/minelittlepony/transform/package-info.java @@ -0,0 +1,8 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package com.minelittlepony.transform; + +import mcp.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; + diff --git a/src/main/java/com/minelittlepony/transformation/PonyTransformation.java b/src/main/java/com/minelittlepony/transformation/PonyTransformation.java deleted file mode 100644 index b5c15959..00000000 --- a/src/main/java/com/minelittlepony/transformation/PonyTransformation.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.minelittlepony.transformation; - -import com.minelittlepony.model.AbstractPonyModel; -import com.minelittlepony.model.BodyPart; - -public interface PonyTransformation { - void transform(AbstractPonyModel model, BodyPart part); -} diff --git a/src/main/java/com/minelittlepony/transformation/TransformFoal.java b/src/main/java/com/minelittlepony/transformation/TransformFoal.java deleted file mode 100644 index 38ad6059..00000000 --- a/src/main/java/com/minelittlepony/transformation/TransformFoal.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.minelittlepony.transformation; - -import static net.minecraft.client.renderer.GlStateManager.scale; -import static net.minecraft.client.renderer.GlStateManager.translate; - -import com.minelittlepony.model.AbstractPonyModel; -import com.minelittlepony.model.BodyPart; - -public class TransformFoal implements PonyTransformation { - @Override - public void transform(AbstractPonyModel model, BodyPart part) { - if (model.isCrouching()) translate(0, -0.12F, 0); - if (model.isSleeping) translate(0, -1.48F, 0.25F); - if (model.isRiding) translate(0, -0.1F, 0); - - switch (part) { - case NECK: - translate(0, 0.76F, 0); - scale(0.9F, 0.9F, 0.9F); - if (model.isCrouching()) translate(0, -0.01F, 0.15F); - break; - case HEAD: - translate(0, 0.76F, 0); - scale(0.9F, 0.9F, 0.9F); - break; - case BODY: - case TAIL: - translate(0, 0.76F, -0.04F); - scale(0.6F, 0.6F, 0.6F); - break; - case LEGS: - translate(0, 0.89F, 0); - scale(0.6F, 0.41F, 0.6F); - if (model.isCrouching()) translate(0, 0.12F, 0); - if (model.isGoingFast()) translate(0, -0.08F, 0); - break; - } - } - -} diff --git a/src/main/java/com/minelittlepony/transformation/TransformLarge.java b/src/main/java/com/minelittlepony/transformation/TransformLarge.java deleted file mode 100644 index 2a7413b3..00000000 --- a/src/main/java/com/minelittlepony/transformation/TransformLarge.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.minelittlepony.transformation; - -import static net.minecraft.client.renderer.GlStateManager.scale; -import static net.minecraft.client.renderer.GlStateManager.translate; - -import com.minelittlepony.model.AbstractPonyModel; -import com.minelittlepony.model.BodyPart; - -public class TransformLarge implements PonyTransformation { - @Override - public void transform(AbstractPonyModel model, BodyPart part) { - if (model.isSleeping) translate(0, -0.98F, 0.2F); - - switch (part) { - case NECK: - translate(0, -0.15F, -0.07F); - if (model.isCrouching()) translate(-0.03F, 0.16F, 0.07F); - break; - case HEAD: - translate(0, -0.17F, -0.04F); - if (model.isSleeping) translate(0, 0, -0.1F); - if (model.isCrouching()) translate(0, 0.15F, 0); - break; - case BODY: - translate(0, -0.2F, -0.04F); - scale(1.15F, 1.2F, 1.2F); - break; - case TAIL: - translate(0, -0.2F, 0.08F); - break; - case LEGS: - translate(0, -0.14F, 0); - scale(1.15F, 1.12F, 1.15F); - break; - } - } - -} diff --git a/src/main/java/com/minelittlepony/transformation/TransformNormal.java b/src/main/java/com/minelittlepony/transformation/TransformNormal.java deleted file mode 100644 index c92c2646..00000000 --- a/src/main/java/com/minelittlepony/transformation/TransformNormal.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.minelittlepony.transformation; - -import static net.minecraft.client.renderer.GlStateManager.translate; - -import com.minelittlepony.model.AbstractPonyModel; -import com.minelittlepony.model.BodyPart; - -public class TransformNormal implements PonyTransformation { - @Override - public void transform(AbstractPonyModel model, BodyPart part) { - if (model.isSleeping) translate(0, -0.61F, 0.25F); - - switch (part) { - case NECK: - if (model.isCrouching()) translate(-0.03F, 0.03F, 0.1F); - default: - } - } -} diff --git a/src/main/java/com/minelittlepony/transformation/TransformTall.java b/src/main/java/com/minelittlepony/transformation/TransformTall.java deleted file mode 100644 index d743a6be..00000000 --- a/src/main/java/com/minelittlepony/transformation/TransformTall.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.minelittlepony.transformation; - -import static net.minecraft.client.renderer.GlStateManager.scale; -import static net.minecraft.client.renderer.GlStateManager.translate; - -import com.minelittlepony.model.AbstractPonyModel; -import com.minelittlepony.model.BodyPart; - -public class TransformTall implements PonyTransformation { - @Override - public void transform(AbstractPonyModel model, BodyPart part) { - if (model.isSleeping) translate(0, -0.5F, 0.25F); - - switch (part) { - case NECK: - translate(0, -0.09F, -0.01F); - scale(1, 1.1F, 1); - if (model.isCrouching()) translate(-0.02F, -0.02F, 0.1F); - break; - case HEAD: - translate(0, -0.15F, 0.01F); - if (model.isCrouching()) translate(0, 0.05F, 0); - break; - case BODY: - translate(0, -0.1F, 0); - break; - case TAIL: - translate(0, -0.1F, 0); - break; - case LEGS: - translate(0, -0.25F, 0.03F); - scale(1, 1.18F, 1); - if (model.isGoingFast()) translate(0, 0.05F, 0); - break; - } - } - -}