mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 08:14:23 +01:00
Simplify models a bit (TODO)
This commit is contained in:
parent
7725da0710
commit
9c7b6cd621
5 changed files with 67 additions and 124 deletions
|
@ -2,7 +2,6 @@ package com.minelittlepony.model.part;
|
|||
|
||||
import com.minelittlepony.PonyData;
|
||||
import com.minelittlepony.model.AbstractPonyModel;
|
||||
import com.minelittlepony.model.BodyPart;
|
||||
|
||||
public abstract class AbstractHeadPart implements IPonyPart {
|
||||
|
||||
|
@ -13,13 +12,8 @@ public abstract class AbstractHeadPart implements IPonyPart {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void render(PonyData data, float scale) {
|
||||
pony.transform(BodyPart.HEAD);
|
||||
pony.bipedHead.postRender(scale);
|
||||
}
|
||||
public void render(PonyData data, float scale) {}
|
||||
|
||||
@Override
|
||||
public void animate(PonyData metadata, float move, float swing, float tick, float horz, float vert) {
|
||||
|
||||
}
|
||||
public void animate(PonyData metadata, float move, float swing, float tick, float horz, float vert) {}
|
||||
}
|
||||
|
|
|
@ -1,37 +1,22 @@
|
|||
package com.minelittlepony.model.part;
|
||||
|
||||
import com.minelittlepony.PonyData;
|
||||
import com.minelittlepony.model.AbstractPonyModel;
|
||||
import com.minelittlepony.model.PonyModelConstants;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
||||
public class PonyEars extends AbstractHeadPart implements PonyModelConstants {
|
||||
|
||||
private ModelRenderer left;
|
||||
private ModelRenderer right;
|
||||
|
||||
public PonyEars(AbstractPonyModel pony) {
|
||||
super(pony);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(float yOffset, float stretch) {
|
||||
this.left = new ModelRenderer(pony, 12, 16);
|
||||
this.right = new ModelRenderer(pony, 12, 16);
|
||||
this.right.mirror = true;
|
||||
|
||||
this.left.addBox(-4.0F + HEAD_CENTRE_X, -6.0F + HEAD_CENTRE_Y, 1.0F + HEAD_CENTRE_Z, 2, 2, 2, stretch);
|
||||
this.left.setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
this.right.addBox(2.0F + HEAD_CENTRE_X, -6.0F + HEAD_CENTRE_Y, 1.0F + HEAD_CENTRE_Z, 2, 2, 2, stretch);
|
||||
this.right.setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
}
|
||||
this.pony.bipedHead.setTextureOffset(12, 16);
|
||||
this.pony.bipedHead.addBox(-4.0F + HEAD_CENTRE_X, -6.0F + HEAD_CENTRE_Y, 1.0F + HEAD_CENTRE_Z, 2, 2, 2, stretch);
|
||||
this.pony.bipedHead.mirror = true;
|
||||
this.pony.bipedHead.addBox(2.0F + HEAD_CENTRE_X, -6.0F + HEAD_CENTRE_Y, 1.0F + HEAD_CENTRE_Z, 2, 2, 2, stretch);
|
||||
|
||||
@Override
|
||||
public void render(PonyData data, float scale) {
|
||||
super.render(data, scale);
|
||||
left.render(scale);
|
||||
right.render(scale);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
package com.minelittlepony.model.part;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.minelittlepony.MineLittlePony;
|
||||
import com.minelittlepony.PonyData;
|
||||
import com.minelittlepony.PonyGender;
|
||||
import com.minelittlepony.model.AbstractPonyModel;
|
||||
|
@ -12,10 +8,8 @@ import com.minelittlepony.renderer.PlaneRenderer;
|
|||
|
||||
public class PonySnout extends AbstractHeadPart implements PonyModelConstants {
|
||||
|
||||
private static final Map<PonyGender, PlaneRenderer[]> MUZZLES = ImmutableMap.<PonyGender, PlaneRenderer[]> builder()
|
||||
.put(PonyGender.MARE, new PlaneRenderer[10])
|
||||
.put(PonyGender.STALLION, new PlaneRenderer[5])
|
||||
.build();
|
||||
private PlaneRenderer mare;
|
||||
private PlaneRenderer stallion;
|
||||
|
||||
public PonySnout(AbstractPonyModel pony) {
|
||||
super(pony);
|
||||
|
@ -24,67 +18,45 @@ public class PonySnout extends AbstractHeadPart implements PonyModelConstants {
|
|||
@Override
|
||||
public void init(float yOffset, float stretch) {
|
||||
|
||||
PlaneRenderer[] muzzle = MUZZLES.get(PonyGender.MARE);
|
||||
muzzle[0] = new PlaneRenderer(pony, 10, 14);
|
||||
muzzle[1] = new PlaneRenderer(pony, 11, 13);
|
||||
muzzle[2] = new PlaneRenderer(pony, 9, 14);
|
||||
muzzle[3] = new PlaneRenderer(pony, 14, 14);
|
||||
muzzle[4] = new PlaneRenderer(pony, 11, 12);
|
||||
muzzle[5] = new PlaneRenderer(pony, 18, 7);
|
||||
muzzle[6] = new PlaneRenderer(pony, 9, 14);
|
||||
muzzle[7] = new PlaneRenderer(pony, 14, 14);
|
||||
muzzle[8] = new PlaneRenderer(pony, 11, 12);
|
||||
muzzle[9] = new PlaneRenderer(pony, 12, 12);
|
||||
mare = new PlaneRenderer(this.pony);
|
||||
mare.setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
|
||||
muzzle[0].addBackPlane(-2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 2, 0, stretch);
|
||||
muzzle[0].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[1].addBackPlane(-1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 2, 1, 0, stretch);
|
||||
muzzle[1].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[2].addTopPlane(-2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 1, 0, 1, stretch);
|
||||
muzzle[2].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[3].addTopPlane(1.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 1, 0, 1, stretch);
|
||||
muzzle[3].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[4].addTopPlane(-1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 2, 0, 1, stretch);
|
||||
muzzle[4].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[5].addBottomPlane(-2.0F + HEAD_CENTRE_X, 4.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 0, 1, stretch);
|
||||
muzzle[5].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[6].addWestPlane(-2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 2, 1, stretch);
|
||||
muzzle[6].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[7].addEastPlane(2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 2, 1, stretch);
|
||||
muzzle[7].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[8].addWestPlane(-1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 1, 1, stretch);
|
||||
muzzle[8].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[9].addEastPlane(1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 1, 1, stretch);
|
||||
muzzle[9].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
mare.setTextureOffset(10, 14).addBackPlane(-2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 2, 0, stretch);
|
||||
mare.setTextureOffset(11, 13).addBackPlane(-1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 2, 1, 0, stretch);
|
||||
mare.setTextureOffset(9, 14).addTopPlane(-2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 1, 0, 1, stretch);
|
||||
mare.setTextureOffset(14, 14).addTopPlane(1.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 1, 0, 1, stretch);
|
||||
mare.setTextureOffset(11, 12).addTopPlane(-1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 2, 0, 1, stretch);
|
||||
mare.setTextureOffset(18, 7).addBottomPlane(-2.0F + HEAD_CENTRE_X, 4.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 0, 1, stretch);
|
||||
mare.setTextureOffset(9, 14).addWestPlane(-2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 2, 1, stretch);
|
||||
mare.setTextureOffset(14, 14).addEastPlane(2.0F + HEAD_CENTRE_X, 2.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 2, 1, stretch);
|
||||
mare.setTextureOffset(11, 12).addWestPlane(-1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 1, 1, stretch);
|
||||
mare.setTextureOffset(12, 12).addEastPlane(1.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 1, 1, stretch);
|
||||
|
||||
muzzle = MUZZLES.get(PonyGender.STALLION);
|
||||
muzzle[0] = new PlaneRenderer(pony, 10, 13);
|
||||
muzzle[1] = new PlaneRenderer(pony, 10, 13);
|
||||
muzzle[2] = new PlaneRenderer(pony, 18, 7);
|
||||
muzzle[3] = new PlaneRenderer(pony, 10, 13);
|
||||
muzzle[4] = new PlaneRenderer(pony, 13, 13);
|
||||
stallion = new PlaneRenderer(this.pony);
|
||||
stallion.setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
|
||||
muzzle[0].addBackPlane(-2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 3, 0, stretch);
|
||||
muzzle[0].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[1].addTopPlane(-2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 0, 1, stretch);
|
||||
muzzle[1].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[2].addBottomPlane(-2.0F + HEAD_CENTRE_X, 4.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 0, 1, stretch);
|
||||
muzzle[2].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[3].addWestPlane(-2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 3, 1, stretch);
|
||||
muzzle[3].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
muzzle[4].addEastPlane(2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 3, 1, stretch);
|
||||
muzzle[4].setRotationPoint(HEAD_RP_X, HEAD_RP_Y + yOffset, HEAD_RP_Z);
|
||||
stallion.setTextureOffset(10, 13).addBackPlane(-2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 3, 0, stretch);
|
||||
stallion.setTextureOffset(10, 13).addTopPlane(-2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 0, 1, stretch);
|
||||
stallion.setTextureOffset(18, 7).addBottomPlane(-2.0F + HEAD_CENTRE_X, 4.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 4, 0, 1, stretch);
|
||||
stallion.setTextureOffset(10, 13).addWestPlane(-2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 3, 1, stretch);
|
||||
stallion.setTextureOffset(13, 13).addEastPlane(2.0F + HEAD_CENTRE_X, 1.0F + HEAD_CENTRE_Y, -5.0F + HEAD_CENTRE_Z, 0, 3, 1, stretch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PonyData data, float scale) {
|
||||
super.render(data, scale);
|
||||
if (MineLittlePony.getConfig().snuzzles && data.getGender() != null) {
|
||||
PlaneRenderer[] muzzle = MUZZLES.get(data.getGender());
|
||||
for (int i = 0; i < muzzle.length; i++) {
|
||||
muzzle[i].render(scale);
|
||||
}
|
||||
}
|
||||
public void animate(PonyData metadata, float move, float swing, float tick, float horz, float vert) {
|
||||
mare.isHidden = metadata.getGender() != PonyGender.MARE;
|
||||
stallion.isHidden = metadata.getGender() != PonyGender.STALLION;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void render(PonyData data, float scale) {
|
||||
// super.render(data, scale);
|
||||
// if (MineLittlePony.getConfig().snuzzles && data.getGender() != null) {
|
||||
// PlaneRenderer[] muzzle = MUZZLES.get(data.getGender());
|
||||
// for (int i = 0; i < muzzle.length; i++) {
|
||||
// muzzle[i].render(scale);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
|
@ -9,11 +9,6 @@ import net.minecraft.util.math.MathHelper;
|
|||
public class ModelBreezie extends ModelBiped {
|
||||
|
||||
ModelRenderer neck;
|
||||
ModelRenderer snuzzle;
|
||||
ModelRenderer leftEar;
|
||||
ModelRenderer rightEar;
|
||||
ModelRenderer leftAntenna;
|
||||
ModelRenderer rightAntenna;
|
||||
ModelRenderer tail;
|
||||
ModelRenderer tailStub;
|
||||
ModelRenderer leftWing;
|
||||
|
@ -26,7 +21,18 @@ public class ModelBreezie extends ModelBiped {
|
|||
this.bipedHeadwear.showModel = false;
|
||||
|
||||
bipedHead = new ModelRenderer(this, 0, 0);
|
||||
bipedHead.addBox(0F, 0F, 0F, 6, 6, 6).setRotationPoint(-3F, -7F, -7F);
|
||||
bipedHead.setRotationPoint(0, 0, -4);
|
||||
bipedHead.addBox(-3, -6, -3F, 6, 6, 6);
|
||||
bipedHead.setTextureOffset(28, 0).addBox(2F, -7F, 1F, 1, 1, 1);
|
||||
bipedHead.setTextureOffset(24, 0).addBox(-3F, -7F, 1F, 1, 1, 1);
|
||||
bipedHead.setTextureOffset(24, 9).addBox(-1F, -2F, -4F, 2, 2, 1);
|
||||
|
||||
ModelRenderer antenna = new ModelRenderer(this);
|
||||
antenna.setTextureOffset(28, 2).addBox(1F, -11F, -2F, 1, 6, 1);
|
||||
antenna.setTextureOffset(24, 2).addBox(-2F, -11F, -2F, 1, 6, 1);
|
||||
setRotation(antenna, -0.2617994F, 0F, 0F);
|
||||
|
||||
this.bipedHead.addChild(antenna);
|
||||
|
||||
bipedBody = new ModelRenderer(this, 2, 12);
|
||||
bipedBody.addBox(0F, 0F, 0F, 6, 7, 14).setRotationPoint(-3F, 1F, -3F);
|
||||
|
@ -48,23 +54,6 @@ public class ModelBreezie extends ModelBiped {
|
|||
neck.addBox(0F, 0F, 0F, 2, 5, 2).setRotationPoint(-1F, -2F, -4F);
|
||||
setRotation(neck, 0.0872665F, 0F, 0F);
|
||||
|
||||
leftEar = new ModelRenderer(this, 28, 0);
|
||||
leftEar.addBox(0F, 0F, 0F, 1, 1, 1).setRotationPoint(2F, -8F, -3F);
|
||||
|
||||
rightEar = new ModelRenderer(this, 24, 0);
|
||||
rightEar.addBox(0F, 0F, 0F, 1, 1, 1).setRotationPoint(-3F, -8F, -3F);
|
||||
|
||||
leftAntenna = new ModelRenderer(this, 28, 2);
|
||||
leftAntenna.addBox(0F, 0F, 0F, 1, 6, 1).setRotationPoint(1F, -12F, -4F);
|
||||
setRotation(leftAntenna, -0.2617994F, 0F, 0F);
|
||||
|
||||
rightAntenna = new ModelRenderer(this, 24, 2);
|
||||
rightAntenna.addBox(0F, 0F, 0F, 1, 6, 1).setRotationPoint(-2F, -12F, -4F);
|
||||
setRotation(rightAntenna, -0.2617994F, 0F, 0F);
|
||||
|
||||
snuzzle = new ModelRenderer(this, 24, 9);
|
||||
snuzzle.addBox(0F, 0F, 0F, 2, 2, 1).setRotationPoint(-1F, -3F, -8F);
|
||||
|
||||
tailStub = new ModelRenderer(this, 40, 7);
|
||||
tailStub.addBox(0F, 0F, 0F, 1, 1, 3).setRotationPoint(-0.5F, 8F, 8F);
|
||||
|
||||
|
@ -90,11 +79,6 @@ public class ModelBreezie extends ModelBiped {
|
|||
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
|
||||
super.render(entity, f, f1, f2, f3, f4, f5);
|
||||
neck.render(f5);
|
||||
leftEar.render(f5);
|
||||
rightEar.render(f5);
|
||||
leftAntenna.render(f5);
|
||||
rightAntenna.render(f5);
|
||||
snuzzle.render(f5);
|
||||
tailStub.render(f5);
|
||||
tail.render(f5);
|
||||
leftWing.render(f5);
|
||||
|
@ -111,10 +95,9 @@ public class ModelBreezie extends ModelBiped {
|
|||
@Override
|
||||
public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn) {
|
||||
|
||||
// this.bipedRightArm.rotationPointZ = 0.0F;
|
||||
// this.bipedRightArm.rotationPointX = -5.0F;
|
||||
// this.bipedLeftArm.rotationPointZ = 0.0F;
|
||||
// this.bipedLeftArm.rotationPointX = 5.0F;
|
||||
this.bipedHead.rotateAngleY = netHeadYaw * 0.017453292F;
|
||||
this.bipedHead.rotateAngleX = headPitch * 0.017453292F;
|
||||
|
||||
this.bipedRightArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 2.0F * limbSwingAmount * 0.5F;
|
||||
this.bipedLeftArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F;
|
||||
this.bipedRightArm.rotateAngleZ = 0.0F;
|
||||
|
|
|
@ -14,15 +14,24 @@ public class PlaneRenderer extends ModelRenderer {
|
|||
private int textureOffsetX;
|
||||
private int textureOffsetY;
|
||||
|
||||
public PlaneRenderer(ModelBase model, String boxNameIn) {
|
||||
super(model, boxNameIn);
|
||||
}
|
||||
|
||||
public PlaneRenderer(ModelBase model) {
|
||||
super(model);
|
||||
}
|
||||
|
||||
public PlaneRenderer(ModelBase model, int x, int y) {
|
||||
super(model, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelRenderer setTextureOffset(int x, int y) {
|
||||
public PlaneRenderer setTextureOffset(int x, int y) {
|
||||
this.textureOffsetX = x;
|
||||
this.textureOffsetY = y;
|
||||
return super.setTextureOffset(x, y);
|
||||
super.setTextureOffset(x, y);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void addPlane(float offX, float offY, float offZ, int width, int height, int depth, float scale, Face face) {
|
||||
|
|
Loading…
Reference in a new issue