mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 08:14:23 +01:00
Merge pull request #103 from PolyacovYury/models_changes
Models changes: batponies, changelings, saddlebags
This commit is contained in:
commit
7e828d452a
9 changed files with 42 additions and 30 deletions
|
@ -13,10 +13,8 @@ public class BatWings<T extends AbstractPonyModel & IModelPegasus> extends Pegas
|
|||
|
||||
@Override
|
||||
public void init(float yOffset, float stretch) {
|
||||
int x = 57;
|
||||
|
||||
leftWing = new ModelBatWing<T>(pegasus, false, false, yOffset, stretch, x, 16);
|
||||
rightWing = new ModelBatWing<T>(pegasus, true, false, yOffset, stretch, x - 1, 16);
|
||||
leftWing = new ModelBatWing<>(pegasus, false, false, yOffset, stretch, 16);
|
||||
rightWing = new ModelBatWing<>(pegasus, true, false, yOffset, stretch, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -11,10 +11,8 @@ public class BugWings<T extends AbstractPonyModel & IModelPegasus> extends Pegas
|
|||
|
||||
@Override
|
||||
public void init(float yOffset, float stretch) {
|
||||
int x = 57;
|
||||
|
||||
leftWing = new ModelBugWing<T>(pegasus, false, false, yOffset, stretch, x, 16);
|
||||
rightWing = new ModelBugWing<T>(pegasus, true, false, yOffset, stretch, x - 1, 16);
|
||||
leftWing = new ModelBugWing<>(pegasus, false, false, yOffset, stretch, 16);
|
||||
rightWing = new ModelBugWing<>(pegasus, true, false, yOffset, stretch, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,8 +6,8 @@ import com.minelittlepony.render.model.PlaneRenderer;
|
|||
|
||||
public class ModelBatWing<T extends AbstractPonyModel & IModelPegasus> extends ModelWing<T> {
|
||||
|
||||
public ModelBatWing(T pegasus, boolean right, boolean legacy, float y, float scale, int texX, int texY) {
|
||||
super(pegasus, right, legacy, y, scale, texX, texY);
|
||||
public ModelBatWing(T pegasus, boolean right, boolean legacy, float y, float scale, int texY) {
|
||||
super(pegasus, right, legacy, y, scale, texY);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -27,22 +27,25 @@ public class ModelBatWing<T extends AbstractPonyModel & IModelPegasus> extends M
|
|||
protected void addFeathers(boolean right, boolean l, float rotationPointY, float scale) {
|
||||
float r = right ? -1 : 1;
|
||||
|
||||
extended.around((r * (EXT_WING_RP_X - 2)), EXT_WING_RP_Y + rotationPointY, EXT_WING_RP_Z - 2)
|
||||
extended.around((r * (EXT_WING_RP_X - 2)), EXT_WING_RP_Y + rotationPointY - 1, EXT_WING_RP_Z - 3)
|
||||
.mirror(right)
|
||||
.rotateAngleY = r * 3;
|
||||
|
||||
extended.child().tex(60, 16)
|
||||
.mirror(right) // children are unaware of their parents being mirrored, sadly
|
||||
.rotate(0.1F, 0, 0)
|
||||
.box(-0.4999F, -1, 0, 1, 8, 1, scale)
|
||||
.box(-0.5F, -1, 0, 1, 8, 1, scale + 0.001F) // this was enough to fix z-fighting
|
||||
.child().tex(60, 16)
|
||||
.mirror(right)
|
||||
.rotate(-0.5F, 0, 0)
|
||||
.around(0, -1, -2)
|
||||
.box(-0.4998F, 0, 2, 1, 7, 1, scale);
|
||||
.box(-0.5F, 0, 2, 1, 7, 1, scale);
|
||||
extended.child(0)
|
||||
.child().tex(60, 16)
|
||||
.mirror(right)
|
||||
.rotate(-0.5F, 0, 0)
|
||||
.around(0, 4, -2.4F)
|
||||
.box(-0.4997F, 0, 3, 1, 7, 1, scale);
|
||||
.box(-0.5F, 0, 3, 1, 7, 1, scale);
|
||||
|
||||
PlaneRenderer skin = new PlaneRenderer(pegasus)
|
||||
.tex(56, 32)
|
||||
|
|
|
@ -6,8 +6,8 @@ import com.minelittlepony.render.model.PlaneRenderer;
|
|||
|
||||
public class ModelBugWing<T extends AbstractPonyModel & IModelPegasus> extends ModelWing<T> {
|
||||
|
||||
public ModelBugWing(T pegasus, boolean right, boolean legacy, float y, float scale, int texX, int texY) {
|
||||
super(pegasus, right, legacy, y, scale, texX, texY);
|
||||
public ModelBugWing(T pegasus, boolean right, boolean legacy, float y, float scale, int texY) {
|
||||
super(pegasus, right, legacy, y, scale, texY);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -24,14 +24,14 @@ public class ModelBugWing<T extends AbstractPonyModel & IModelPegasus> extends M
|
|||
.rotateAngleY = r * 3;
|
||||
|
||||
PlaneRenderer primary = new PlaneRenderer(pegasus)
|
||||
.tex(56, 17)
|
||||
.tex(56, 16)
|
||||
.mirror(right)
|
||||
.west(0, 0, -7, 15, 8, scale);
|
||||
.west(r * -0.5F, 0, -7, 16, 8, scale);
|
||||
PlaneRenderer secondary = new PlaneRenderer(pegasus)
|
||||
.tex(56, 32)
|
||||
.rotate(-0.5F, r * 0.3F, r / 3)
|
||||
.mirror(right)
|
||||
.west(0, 0, -7, 15, 8, scale);
|
||||
.west(r, 0, -5, 16, 8, scale);
|
||||
|
||||
extended.child(primary);
|
||||
extended.child(secondary);
|
||||
|
|
|
@ -15,11 +15,11 @@ public class ModelWing<T extends AbstractPonyModel & IModelPegasus> implements P
|
|||
protected final PonyRenderer extended;
|
||||
protected final PonyRenderer folded;
|
||||
|
||||
public ModelWing(T pegasus, boolean right, boolean legacy, float y, float scale, int texX, int texY) {
|
||||
public ModelWing(T pegasus, boolean right, boolean legacy, float y, float scale, int texY) {
|
||||
this.pegasus = pegasus;
|
||||
|
||||
folded = new PonyRenderer(pegasus, 56, texY).mirror(legacy);
|
||||
extended = new PonyRenderer(pegasus, texX, texY + 3);
|
||||
extended = new PonyRenderer(pegasus, 56 + ((!right || legacy) ? 1 : 0), texY + 3);
|
||||
|
||||
addClosedWing(right, y, scale);
|
||||
addFeathers(right, legacy, y, scale);
|
||||
|
|
|
@ -26,12 +26,10 @@ public class PegasusWings<T extends AbstractPonyModel & IModelPegasus> implement
|
|||
|
||||
@Override
|
||||
public void init(float yOffset, float stretch) {
|
||||
int x = 57;
|
||||
leftWing = new ModelWing<>(pegasus, false, false, yOffset, stretch, 32);
|
||||
rightWing = new ModelWing<>(pegasus, true, false, yOffset, stretch, 16);
|
||||
|
||||
leftWing = new ModelWing<>(pegasus, false, false, yOffset, stretch, x, 32);
|
||||
rightWing = new ModelWing<>(pegasus, true, false, yOffset, stretch, x - 1, 16);
|
||||
|
||||
legacyWing = new ModelWing<>(pegasus, true, true, yOffset, stretch, x, 32);
|
||||
legacyWing = new ModelWing<>(pegasus, true, true, yOffset, stretch, 32);
|
||||
}
|
||||
|
||||
public ModelWing<T> getLeft() {
|
||||
|
|
|
@ -59,7 +59,7 @@ public class SaddleBags extends AbstractGear {
|
|||
|
||||
x += 3;
|
||||
|
||||
rightBag.offset(-x, y, z).around(0, 4, 4)
|
||||
rightBag.offset(-x, y, z).around(0, 4, 4).flip()
|
||||
.tex(56, 25).south(0, 0, 0, 3, 6, stretch)
|
||||
.tex(59, 25).south(0, 0, 8, 3, 6, stretch)
|
||||
.tex(56, 19).west(3, 0, 0, 6, 8, stretch)
|
||||
|
|
|
@ -20,12 +20,12 @@ public class ModelBatpony extends ModelPegasus {
|
|||
head.child()
|
||||
.tex(12, 16).box(-4, -6, 1, 2, 2, 2, stretch) // right ear
|
||||
.tex(0, 3).box(-3.5F, -6.49F, 1.001F, 1, 1, 1, stretch)
|
||||
.tex(0, 5).box(-3, -6.49F, 2.001F, 1, 1, 1, stretch);
|
||||
.tex(0, 5).box(-2.998F, -6.49F, 2.001F, 1, 1, 1, stretch);
|
||||
|
||||
head.child().flip()
|
||||
.tex(12, 16).box( 2, -6, 1, 2, 2, 2, stretch) // left ear
|
||||
.tex(0, 3).box( 2.5F, -6.49F, 1.001F, 1, 1, 1, stretch)
|
||||
.tex(0, 5).box( 2, -6.49F, 2.001F, 1, 1, 1, stretch);
|
||||
.tex(0, 5).box( 1.998F, -6.49F, 2.001F, 1, 1, 1, stretch);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.minelittlepony.model.player;
|
||||
|
||||
import com.minelittlepony.pony.data.PonyWearable;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
import com.minelittlepony.model.components.BugWings;
|
||||
|
@ -15,11 +16,25 @@ public class ModelChangeling extends ModelAlicorn {
|
|||
wings = new BugWings<>(this, yOffset, stretch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean wingsAreOpen() {
|
||||
return (isFlying() || isCrouching()) && !isElytraFlying();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getWingRotationFactor(float ticks) {
|
||||
if (isFlying()) {
|
||||
return MathHelper.sin(ticks * 3) + ROTATE_270 + 0.4f;
|
||||
return MathHelper.sin(ticks * 3) + ROTATE_270;
|
||||
}
|
||||
return WING_ROT_Z_SNEAK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWearing(PonyWearable wearable) {
|
||||
if (wearable == PonyWearable.SADDLE_BAGS) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return super.isWearing(wearable);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue