diff --git a/build.number b/build.number index e4e355ba..93eb7e02 100644 --- a/build.number +++ b/build.number @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Sat Jun 02 16:08:02 MSK 2018 -build.number=498 +#Tue Apr 10 14:03:42 CAT 2018 +build.number=497 diff --git a/src/main/java/com/minelittlepony/model/components/PonyAccessory.java b/src/main/java/com/minelittlepony/model/components/PonyAccessory.java index a3276e38..d31761db 100644 --- a/src/main/java/com/minelittlepony/model/components/PonyAccessory.java +++ b/src/main/java/com/minelittlepony/model/components/PonyAccessory.java @@ -1,13 +1,14 @@ package com.minelittlepony.model.components; import com.minelittlepony.model.AbstractPonyModel; +import com.minelittlepony.model.capabilities.IModelPart; import com.minelittlepony.render.plane.PlaneRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.math.MathHelper; import static com.minelittlepony.model.PonyModelConstants.*; -public class PonyAccessory { +public class PonyAccessory implements IModelPart { private final AbstractPonyModel theModel; @@ -21,13 +22,39 @@ public class PonyAccessory { } } - public void setRotationAndAngles(float move, float swing, float ticks, float headYaw, float headPitch, float scale, Entity entity) { - float angleY = 0; - if (theModel.swingProgress > -9990.0F && !theModel.metadata.hasMagic()) { - angleY = MathHelper.sin(MathHelper.sqrt(theModel.swingProgress) * PI * 2) * 0.02F; + @Override + public void init(float yOffset, float stretch) { + if (bag != null && theModel.metadata.hasBags()) { + bag.offset(BODY_CENTRE_X, BODY_CENTRE_Y, BODY_CENTRE_Z) + .around(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z) + .tex(56, 25).addBackPlane(-7, -5, -4, 3, 6, stretch) //right bag front + .addBackPlane( 4, -5, -4, 3, 6, stretch) //left bag front + .tex(59, 25).addBackPlane(-7, -5, 4, 3, 6, stretch) //right bag back + .addBackPlane( 4, -5, 4, 3, 6, stretch) //left bag back + .tex(56, 19).addWestPlane(-7, -5, -4, 6, 8, stretch) //right bag outside + .addWestPlane( 7, -5, -4, 6, 8, stretch) //left bag outside + .addWestPlane(-4.01f, -5, -4, 6, 8, stretch) //right bag inside + .addWestPlane( 4.01f, -5, -4, 6, 8, stretch) //left bag inside + .tex(56, 31) .addTopPlane(-4, -4.5F, -1, 8, 1, stretch) //strap front + .addTopPlane(-4, -4.5F, 0, 8, 1, stretch) //strap back + .addBackPlane(-4, -4.5F, 0, 8, 1, stretch) + .addFrontPlane(-4, -4.5F, 0, 8, 1, stretch) + .child(0).tex(56, 16).addTopPlane(2, -5, -13, 8, 3, stretch) //left bag top + .flipZ().addTopPlane(2, -5, -2, 8, 3, stretch) //right bag top + .tex(56, 22).addBottomPlane(2, 1, -13, 8, 3, stretch) //left bag bottom + .flipZ().addBottomPlane(2, 1, -2, 8, 3, stretch) //right bag bottom + .rotateAngleY = 4.712389F; } - bag.rotateAngleY = angleY; + } + @Override // I really didn't know, what to do here, but since this has to be overridden... + public void setRotationAndAngles(boolean rainboom, float move, float swing, float bodySwing, float ticks) { + } + + public void shakeBody(float bodySwing) { + if (bag != null && theModel.metadata.hasBags()) { + bag.rotateAngleY = bodySwing; + } } public void render(float scale) { @@ -35,28 +62,4 @@ public class PonyAccessory { bag.render(scale); } } - - public void initPositions(float yOffset, float stretch) { - if (bag != null && theModel.metadata.hasBags()) { - bag.offset(BODY_CENTRE_X, BODY_CENTRE_Y, BODY_CENTRE_Z) - .around(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z) - .tex(56, 25).addBackPlane(-7, -5, -4, 3, 6, stretch) //right bag front - .addBackPlane(4, -5, -4, 3, 6, stretch) //left bag front - .tex(59, 25).addBackPlane(-7, -5, 4, 3, 6, stretch) //right bag back - .addBackPlane(4, -5, 4, 3, 6, stretch) //left bag back - .tex(56, 19).addWestPlane(-7, -5, -4, 6, 8, stretch) //right bag outside - .addWestPlane(7, -5, -4, 6, 8, stretch) //left bag outside - .addWestPlane(-4.01f, -5, -4, 6, 8, stretch) //right bag inside - .addWestPlane(4.01f, -5, -4, 6, 8, stretch) //left bag inside - .tex(56, 31).addTopPlane(-4, -4.5F, -1, 8, 1, stretch) //strap front - .addTopPlane(-4, -4.5F, 0, 8, 1, stretch) //strap back - .addBackPlane(-4, -4.5F, 0, 8, 1, stretch) - .addFrontPlane(-4, -4.5F, 0, 8, 1, stretch) - .child(0).tex(56, 16).addTopPlane(2, -5, -13, 8, 3, stretch) //left bag top - .addTopPlane(2, -5, -2, 8, 3, stretch) //right bag top - .tex(56, 22).flipZ().addBottomPlane(2, 1, -13, 8, 3, stretch) //left bag bottom - .flipZ().addBottomPlane(2, 1, -2, 8, 3, stretch) //right bag bottom - .rotateAngleY = 4.712389F; - } - } } diff --git a/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java b/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java index bae60573..9c750ea5 100644 --- a/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java +++ b/src/main/java/com/minelittlepony/model/player/ModelEarthPony.java @@ -19,22 +19,25 @@ public class ModelEarthPony extends AbstractPonyModel { } @Override - public void setRotationAngles(float move, float swing, float ticks, float headYaw, float headPitch, float scale, Entity entity) { - super.setRotationAngles(move, swing, ticks, headYaw, headPitch, scale, entity); + public void init(float yOffset, float stretch) { + super.init(yOffset, stretch); - if (bipedCape != null) { - bipedCape.rotationPointY = isSneak ? 2 : isRiding ? -4 : 0; - } if (accessory != null && metadata.hasAccessory()) { - accessory.setRotationAndAngles(move, swing, ticks, headYaw, headPitch, scale, entity); + accessory.init(yOffset, stretch); + } + } + + @Override + protected void shakeBody(float move, float swing, float bodySwing, float ticks) { + super.shakeBody(move, swing, bodySwing, ticks); + if (accessory != null && metadata.hasAccessory()) { + accessory.shakeBody(bodySwing); } } @Override protected void renderBody(Entity entity, float move, float swing, float ticks, float headYaw, float headPitch, float scale) { super.renderBody(entity, move, swing, ticks, headYaw, headPitch, scale); - - bipedBody.postRender(this.scale); if (accessory != null && metadata.hasAccessory()) { accessory.render(scale); } @@ -49,11 +52,11 @@ public class ModelEarthPony extends AbstractPonyModel { } @Override - protected void initPositions(float yOffset, float stretch) { - super.initPositions(yOffset, stretch); + public void setRotationAngles(float move, float swing, float ticks, float headYaw, float headPitch, float scale, Entity entity) { + super.setRotationAngles(move, swing, ticks, headYaw, headPitch, scale, entity); - if (accessory != null && metadata.hasAccessory()) { - accessory.initPositions(yOffset, stretch); + if (bipedCape != null) { + bipedCape.rotationPointY = isSneak ? 2 : isRiding ? -4 : 0; } }