mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2024-11-22 12:37:59 +01:00
Refactor skin meta and general cleanup.
This commit is contained in:
parent
78d0052464
commit
423064c504
35 changed files with 542 additions and 647 deletions
|
@ -1,6 +1,5 @@
|
||||||
package com.brohoof.minelittlepony;
|
package com.brohoof.minelittlepony;
|
||||||
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
@ -14,38 +13,19 @@ import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||||
import net.minecraft.client.renderer.ThreadDownloadImageData;
|
import net.minecraft.client.renderer.ThreadDownloadImageData;
|
||||||
import net.minecraft.client.renderer.texture.ITextureObject;
|
import net.minecraft.client.renderer.texture.ITextureObject;
|
||||||
import net.minecraft.util.BlockPos;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.util.MathHelper;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.world.World;
|
|
||||||
|
|
||||||
public class Pony {
|
public class Pony {
|
||||||
|
|
||||||
private static PonyConfig config = MineLittlePony.getConfig();
|
private static PonyConfig config = MineLittlePony.getConfig();
|
||||||
|
|
||||||
public PonyRace race = PonyRace.EARTH;
|
|
||||||
public boolean advancedTexturing;
|
|
||||||
public ResourceLocation textureResourceLocation;
|
|
||||||
public boolean isSpPlayer;
|
|
||||||
public boolean isPony;
|
|
||||||
public boolean isPonySkin;
|
|
||||||
public boolean isPegasus;
|
|
||||||
public boolean isUnicorn;
|
|
||||||
public boolean isFlying;
|
|
||||||
public boolean isGlow;
|
|
||||||
public int glowColor = -12303190;
|
|
||||||
public boolean isMale;
|
|
||||||
public int size = 1;
|
|
||||||
public int wantTail;
|
|
||||||
public boolean isVillager;
|
|
||||||
public int villagerProfession = 1;
|
|
||||||
public float defaultYOffset = 1.62F;
|
|
||||||
boolean pegasusFlying;
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
private final int dangerzone = 2;
|
|
||||||
private float previousFallDistance;
|
|
||||||
private static int ponyCount = 0;
|
private static int ponyCount = 0;
|
||||||
private final int ponyId = ponyCount++;
|
private final int ponyId = ponyCount++;
|
||||||
|
|
||||||
|
public ResourceLocation textureResourceLocation;
|
||||||
|
public PonyData metadata = new PonyData();
|
||||||
|
|
||||||
private int skinCheckCount;
|
private int skinCheckCount;
|
||||||
private boolean skinChecked;
|
private boolean skinChecked;
|
||||||
private boolean newSkinSize;
|
private boolean newSkinSize;
|
||||||
|
@ -65,7 +45,6 @@ public class Pony {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void invalidateSkinCheck() {
|
public void invalidateSkinCheck() {
|
||||||
this.resetValues();
|
|
||||||
this.skinChecked = false;
|
this.skinChecked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,248 +93,67 @@ public class Pony {
|
||||||
|
|
||||||
public void checkSkin(BufferedImage bufferedimage) {
|
public void checkSkin(BufferedImage bufferedimage) {
|
||||||
MineLPLogger.debug("\tStart skin check #%d for pony #%d with image %s.", ++this.skinCheckCount, this.ponyId);
|
MineLPLogger.debug("\tStart skin check #%d for pony #%d with image %s.", ++this.skinCheckCount, this.ponyId);
|
||||||
this.resetValues();
|
metadata = PonyData.parse(bufferedimage);
|
||||||
Color flagPix = new Color(bufferedimage.getRGB(0, 0), true);
|
|
||||||
Color applejack = new Color(249, 177, 49, 255);
|
|
||||||
Color dashie = new Color(136, 202, 240, 255);
|
|
||||||
Color twilight = new Color(209, 159, 228, 255);
|
|
||||||
Color celestia = new Color(254, 249, 252, 255);
|
|
||||||
Color zecora = new Color(208, 204, 207, 255);
|
|
||||||
Color changeling = new Color(40, 43, 41, 255);
|
|
||||||
if (flagPix.equals(applejack)) {
|
|
||||||
this.isPony = true;
|
|
||||||
this.isPonySkin = true;
|
|
||||||
this.race = Pony.PonyRace.EARTH;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flagPix.equals(zecora)) {
|
|
||||||
this.isPony = true;
|
|
||||||
this.isPonySkin = true;
|
|
||||||
this.race = Pony.PonyRace.ZEBRA;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flagPix.equals(dashie)) {
|
|
||||||
this.isPony = true;
|
|
||||||
this.isPonySkin = true;
|
|
||||||
this.isPegasus = true;
|
|
||||||
this.race = Pony.PonyRace.PEGASUS;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flagPix.equals(twilight)) {
|
|
||||||
this.isPony = true;
|
|
||||||
this.isPonySkin = true;
|
|
||||||
this.isUnicorn = true;
|
|
||||||
this.race = Pony.PonyRace.UNICORN;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flagPix.equals(celestia)) {
|
|
||||||
this.isPony = true;
|
|
||||||
this.isPonySkin = true;
|
|
||||||
this.isPegasus = true;
|
|
||||||
this.isUnicorn = true;
|
|
||||||
this.race = Pony.PonyRace.ALICORN;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flagPix.equals(changeling)) {
|
|
||||||
this.isPony = true;
|
|
||||||
this.isPonySkin = true;
|
|
||||||
this.isPegasus = true;
|
|
||||||
this.isUnicorn = true;
|
|
||||||
this.race = Pony.PonyRace.CHANGELING;
|
|
||||||
}
|
|
||||||
|
|
||||||
Color tailcolor = new Color(bufferedimage.getRGB(1, 0), true);
|
|
||||||
Color tailcolor1 = new Color(66, 88, 68, 255);
|
|
||||||
Color tailcolor2 = new Color(70, 142, 136, 255);
|
|
||||||
Color tailcolor3 = new Color(83, 75, 118, 255);
|
|
||||||
Color tailcolor4 = new Color(138, 107, 127, 255);
|
|
||||||
if (tailcolor.equals(tailcolor1)) {
|
|
||||||
this.wantTail = 4;
|
|
||||||
} else if (tailcolor.equals(tailcolor2)) {
|
|
||||||
this.wantTail = 3;
|
|
||||||
} else if (tailcolor.equals(tailcolor3)) {
|
|
||||||
this.wantTail = 2;
|
|
||||||
} else if (tailcolor.equals(tailcolor4)) {
|
|
||||||
this.wantTail = 1;
|
|
||||||
} else {
|
|
||||||
this.wantTail = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Color gendercolor = new Color(bufferedimage.getRGB(2, 0), true);
|
|
||||||
Color gendercolor1 = new Color(255, 255, 255, 255);
|
|
||||||
if (gendercolor.equals(gendercolor1)) {
|
|
||||||
this.isMale = true;
|
|
||||||
} else {
|
|
||||||
this.isMale = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Color sizecolor = new Color(bufferedimage.getRGB(3, 0), true);
|
|
||||||
Color scootaloo = new Color(255, 190, 83);
|
|
||||||
Color bigmac = new Color(206, 50, 84);
|
|
||||||
Color luna = new Color(42, 60, 120);
|
|
||||||
if (config.getSizes().get()) {
|
|
||||||
if (sizecolor.equals(scootaloo)) {
|
|
||||||
this.size = 0;
|
|
||||||
} else if (sizecolor.equals(bigmac)) {
|
|
||||||
this.size = 2;
|
|
||||||
} else if (sizecolor.equals(luna)) {
|
|
||||||
this.size = 3;
|
|
||||||
} else {
|
|
||||||
this.size = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Color black = new Color(0, 0, 0);
|
|
||||||
int scaleFactor = bufferedimage.getHeight() / 32;
|
|
||||||
int tileSize = 8 * scaleFactor;
|
|
||||||
Color advcutiecolor = new Color(bufferedimage.getRGB(tileSize / 2, 0), true);
|
|
||||||
if (advcutiecolor.getAlpha() == 0) {
|
|
||||||
this.advancedTexturing = false;
|
|
||||||
} else {
|
|
||||||
this.advancedTexturing = false;
|
|
||||||
|
|
||||||
for (int tempGlowColor = tileSize / 2; tempGlowColor < tileSize; ++tempGlowColor) {
|
|
||||||
for (int y = 0; y < tileSize; ++y) {
|
|
||||||
Color aColor = new Color(bufferedimage.getRGB(tempGlowColor, y), true);
|
|
||||||
if (!aColor.equals(black)) {
|
|
||||||
this.advancedTexturing = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Color var27 = new Color(bufferedimage.getRGB(0, 1), true);
|
|
||||||
if (!var27.equals(black) && var27.getAlpha() != 0) {
|
|
||||||
this.glowColor = var27.getRGB();
|
|
||||||
} else {
|
|
||||||
this.glowColor = -12303190;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.newSkinSize = bufferedimage.getWidth() == bufferedimage.getHeight();
|
this.newSkinSize = bufferedimage.getWidth() == bufferedimage.getHeight();
|
||||||
this.skinChecked = true;
|
this.skinChecked = true;
|
||||||
MineLPLogger.debug(
|
|
||||||
"\tSkin check #%d for pony #%d completed. {IsPony:%b, Race:%s, FlagPixel:%s, AdvancedTexturing:%b}",
|
|
||||||
this.skinCheckCount, this.ponyId, this.isPony, this.race, flagPix, this.advancedTexturing);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void resetValues() {
|
public boolean isPegasusFlying(EntityPlayer player) {
|
||||||
this.isPony = false;
|
if (this.metadata.getRace() == null || !this.metadata.getRace().hasWings()) {
|
||||||
this.isPonySkin = false;
|
|
||||||
this.isPegasus = false;
|
|
||||||
this.isUnicorn = false;
|
|
||||||
this.isPonySkin = false;
|
|
||||||
this.isMale = false;
|
|
||||||
this.wantTail = 0;
|
|
||||||
this.size = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPony() {
|
|
||||||
return this.isPony;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPonySkin() {
|
|
||||||
return this.isPonySkin;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isUnicorn() {
|
|
||||||
return this.isUnicorn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPegasus() {
|
|
||||||
return this.isPegasus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Pony.PonyRace getRace() {
|
|
||||||
return this.race;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int wantTail() {
|
|
||||||
return this.wantTail;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isMale() {
|
|
||||||
return this.isMale;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int size() {
|
|
||||||
return config.getSizes().get() ? this.size : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean advancedTexturing() {
|
|
||||||
return this.advancedTexturing;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isFlying() {
|
|
||||||
return this.isFlying;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isGlow() {
|
|
||||||
return this.isGlow;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int glowColor() {
|
|
||||||
return this.glowColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int villagerProfession() {
|
|
||||||
return this.villagerProfession;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPegasusFlying(double posX, double posY, double posZ, float fallDistance, boolean isJumping,
|
|
||||||
boolean onGround, World equestria) {
|
|
||||||
if (!this.isPegasus) {
|
|
||||||
return pegasusFlying = false;
|
|
||||||
} else if (isJumping) {
|
|
||||||
return true;
|
|
||||||
} else if (onGround) {
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
boolean falling = fallDistance > 0;
|
|
||||||
boolean levitating = fallDistance == this.previousFallDistance;
|
|
||||||
boolean standingOnAir;
|
|
||||||
if (falling && !levitating) {
|
|
||||||
standingOnAir = this.standingOnAir(posX, posY, posZ, 1.5F, equestria);
|
|
||||||
} else {
|
|
||||||
standingOnAir = this.standingOnAir(posX, posY, posZ, 1.0F, equestria);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!standingOnAir) {
|
|
||||||
return pegasusFlying = false;
|
|
||||||
} else if (this.pegasusFlying) {
|
|
||||||
return true;
|
|
||||||
} else if (levitating) {
|
|
||||||
return pegasusFlying = true;
|
|
||||||
} else {
|
|
||||||
this.previousFallDistance = fallDistance;
|
|
||||||
if (fallDistance < 2.0F) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return pegasusFlying = true;
|
return player.capabilities.isFlying ||!(player.onGround || player.isOnLadder() || player.isInWater());
|
||||||
}
|
|
||||||
}
|
|
||||||
|
//@formatter:off
|
||||||
|
// boolean falling = player.fallDistance > 0;
|
||||||
|
// boolean levitating = player.fallDistance == this.previousFallDistance;
|
||||||
|
// boolean standingOnAir;
|
||||||
|
// if (falling && !levitating) {
|
||||||
|
// standingOnAir = this.standingOnAir(posX, posY, posZ, 1.5F, equestria);
|
||||||
|
// } else {
|
||||||
|
// standingOnAir = this.standingOnAir(posX, posY, posZ, 1.0F, equestria);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (!standingOnAir) {
|
||||||
|
// return pegasusFlying = false;
|
||||||
|
// } else if (this.pegasusFlying) {
|
||||||
|
// return true;
|
||||||
|
// } else if (levitating) {
|
||||||
|
// return pegasusFlying = true;
|
||||||
|
// } else {
|
||||||
|
// this.previousFallDistance = fallDistance;
|
||||||
|
// if (fallDistance < 2.0F) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// return pegasusFlying = true;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean standingOnAir(double posX, double posY, double posZ, float range, World equestria) {
|
|
||||||
boolean foundSolidBlock = false;
|
|
||||||
int y;
|
|
||||||
if (this.isSpPlayer) {
|
|
||||||
y = MathHelper.floor_double(posY - this.defaultYOffset - 0.009999999776482582D);
|
|
||||||
} else {
|
|
||||||
y = MathHelper.floor_double(posY - 0.009999999776482582D);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (float shiftX = 0.0F - range; shiftX < range * 2.0F; shiftX += range) {
|
// public boolean standingOnAir(BlockPos pos, float range, World equestria) {
|
||||||
for (float shiftZ = 0.0F - range; shiftZ < range * 2.0F; shiftZ += range) {
|
// boolean foundSolidBlock = false;
|
||||||
int x = MathHelper.floor_double(posX + shiftX);
|
// int y;
|
||||||
int z = MathHelper.floor_double(posZ + shiftZ);
|
// if (this.isSpPlayer) {
|
||||||
if (!equestria.isAirBlock(new BlockPos(x, y, z))) {
|
// y = MathHelper.floor_double(posY - this.defaultYOffset - 0.009999999776482582D);
|
||||||
foundSolidBlock = true;
|
// } else {
|
||||||
}
|
// y = MathHelper.floor_double(posY - 0.009999999776482582D);
|
||||||
}
|
// }
|
||||||
}
|
//
|
||||||
|
// for (float shiftX = 0.0F - range; shiftX < range * 2.0F; shiftX += range) {
|
||||||
return !foundSolidBlock;
|
// for (float shiftZ = 0.0F - range; shiftZ < range * 2.0F; shiftZ += range) {
|
||||||
}
|
// int x = MathHelper.floor_double(posX + shiftX);
|
||||||
|
// int z = MathHelper.floor_double(posZ + shiftZ);
|
||||||
|
// if (!equestria.isAirBlock(new BlockPos(x, y, z))) {
|
||||||
|
// foundSolidBlock = true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return !foundSolidBlock;
|
||||||
|
// }
|
||||||
|
// @formatter:on
|
||||||
|
|
||||||
public PlayerModel getModel() {
|
public PlayerModel getModel() {
|
||||||
return getModel(false);
|
return getModel(false);
|
||||||
|
@ -368,7 +166,7 @@ public class Pony {
|
||||||
is_a_pony = false;
|
is_a_pony = false;
|
||||||
break;
|
break;
|
||||||
case BOTH:
|
case BOTH:
|
||||||
is_a_pony = isPonySkin;
|
is_a_pony = metadata.getRace() != null;
|
||||||
break;
|
break;
|
||||||
case PONIES:
|
case PONIES:
|
||||||
is_a_pony = true;
|
is_a_pony = true;
|
||||||
|
@ -387,17 +185,4 @@ public class Pony {
|
||||||
return this.textureResourceLocation;
|
return this.textureResourceLocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVillager(int profession) {
|
|
||||||
this.isVillager = true;
|
|
||||||
this.villagerProfession = profession;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static enum PonyRace {
|
|
||||||
EARTH,
|
|
||||||
PEGASUS,
|
|
||||||
UNICORN,
|
|
||||||
ALICORN,
|
|
||||||
CHANGELING,
|
|
||||||
ZEBRA;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
133
src/main/java/com/brohoof/minelittlepony/PonyData.java
Normal file
133
src/main/java/com/brohoof/minelittlepony/PonyData.java
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
package com.brohoof.minelittlepony;
|
||||||
|
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableBiMap;
|
||||||
|
|
||||||
|
public class PonyData {
|
||||||
|
|
||||||
|
private static final Map<Integer, PonyRace> RACE_COLORS = ImmutableBiMap.<Integer, PonyRace> builder()
|
||||||
|
.put(0xfff9b131, PonyRace.EARTH)
|
||||||
|
.put(0xffd19fe4, PonyRace.UNICORN)
|
||||||
|
.put(0xff88caf0, PonyRace.PEGASUS)
|
||||||
|
.put(0xfffef9fc, PonyRace.ALICORN)
|
||||||
|
.put(0xffd0cccf, PonyRace.ZEBRA)
|
||||||
|
.put(0xff282b29, PonyRace.CHANGELING)
|
||||||
|
.build();
|
||||||
|
private static final Map<Integer, TailLengths> TAIL_COLORS = ImmutableBiMap.<Integer, TailLengths> builder()
|
||||||
|
.put(0xff425844, TailLengths.STUB)
|
||||||
|
.put(0xffd19fe4, TailLengths.QUARTER)
|
||||||
|
.put(0xff534b76, TailLengths.HALF)
|
||||||
|
.put(0xff8a6b7f, TailLengths.THREE_QUARTERS).build();
|
||||||
|
private static final Map<Integer, PonySize> SIZE_COLORS = ImmutableBiMap.<Integer, PonySize> builder()
|
||||||
|
.put(0xffffbe53, PonySize.FOAL)
|
||||||
|
.put(0xffce3254, PonySize.LARGE)
|
||||||
|
.put(0xff534b76, PonySize.PRINCESS)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
private PonyRace race = PonyRace.EARTH;
|
||||||
|
private TailLengths tailSize = TailLengths.FULL;
|
||||||
|
private PonyGender gender = PonyGender.MARE;
|
||||||
|
private PonySize size = PonySize.NORMAL;
|
||||||
|
private int glowColor = 0x4444aa;
|
||||||
|
|
||||||
|
private int textureWidth;
|
||||||
|
|
||||||
|
private int textureHeight;
|
||||||
|
|
||||||
|
public PonyRace getRace() {
|
||||||
|
return race;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRace(PonyRace race) {
|
||||||
|
this.race = race;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TailLengths getTail() {
|
||||||
|
return tailSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTail(TailLengths tailSize) {
|
||||||
|
this.tailSize = tailSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PonyGender getGender() {
|
||||||
|
return gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGender(PonyGender gender) {
|
||||||
|
this.gender = gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PonySize getSize() {
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSize(PonySize size) {
|
||||||
|
this.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getGlowColor() {
|
||||||
|
return glowColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGlowColor(int glowColor) {
|
||||||
|
this.glowColor = glowColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTextureWidth() {
|
||||||
|
return textureWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTextureHeight() {
|
||||||
|
return textureHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PonyData parse(BufferedImage image) {
|
||||||
|
PonyData data = new PonyData();
|
||||||
|
|
||||||
|
int race = TriggerPixels.RACE.readColor(image);
|
||||||
|
data.race = RACE_COLORS.get(race);
|
||||||
|
|
||||||
|
int tail = TriggerPixels.TAIL.readColor(image);
|
||||||
|
if (TAIL_COLORS.containsKey(tail))
|
||||||
|
data.tailSize = TAIL_COLORS.get(tail);
|
||||||
|
|
||||||
|
int gender = TriggerPixels.GENDER.readColor(image);
|
||||||
|
if (gender == 0xffffff)
|
||||||
|
data.gender = PonyGender.STALLION;
|
||||||
|
|
||||||
|
int size = TriggerPixels.SIZE.readColor(image);
|
||||||
|
if (SIZE_COLORS.containsKey(size))
|
||||||
|
data.size = SIZE_COLORS.get(size);
|
||||||
|
|
||||||
|
int color = TriggerPixels.GLOW.readColor(image);
|
||||||
|
if (color != 0x000000)
|
||||||
|
data.glowColor = color;
|
||||||
|
|
||||||
|
data.textureWidth = image.getWidth();
|
||||||
|
data.textureHeight = image.getHeight();
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum TriggerPixels {
|
||||||
|
RACE(0, 0),
|
||||||
|
TAIL(0, 1),
|
||||||
|
GENDER(0, 2),
|
||||||
|
SIZE(0, 3),
|
||||||
|
GLOW(1, 0);
|
||||||
|
|
||||||
|
private int x, y;
|
||||||
|
|
||||||
|
private TriggerPixels(int x, int y) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int readColor(BufferedImage image) {
|
||||||
|
return image.getRGB(x, y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
6
src/main/java/com/brohoof/minelittlepony/PonyGender.java
Normal file
6
src/main/java/com/brohoof/minelittlepony/PonyGender.java
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
package com.brohoof.minelittlepony;
|
||||||
|
|
||||||
|
public enum PonyGender {
|
||||||
|
MARE,
|
||||||
|
STALLION
|
||||||
|
}
|
|
@ -1,44 +1,57 @@
|
||||||
package com.brohoof.minelittlepony;
|
package com.brohoof.minelittlepony;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.brohoof.minelittlepony.model.PMAPI;
|
import com.brohoof.minelittlepony.model.PMAPI;
|
||||||
import com.brohoof.minelittlepony.util.MineLPLogger;
|
import com.brohoof.minelittlepony.util.MineLPLogger;
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||||
import net.minecraft.entity.passive.EntityVillager;
|
import net.minecraft.entity.passive.EntityVillager;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
public class PonyManager {
|
public class PonyManager {
|
||||||
|
|
||||||
public static final String RESOURCE_NAMESPACE = "minelittlepony";
|
public static final String RESOURCE_NAMESPACE = "minelittlepony";
|
||||||
public static final ResourceLocation zombiePonyResource = new ResourceLocation("minelittlepony",
|
public static final ResourceLocation ZOMBIE = new ResourceLocation("minelittlepony", "textures/entity/zombie/zombie_pony.png");
|
||||||
"textures/entity/zombie/zombie_pony.png");
|
public static final ResourceLocation ZOMBIE_VILLAGER = new ResourceLocation("minelittlepony", "textures/entity/zombie/zombie_villager_pony.png");
|
||||||
public static final ResourceLocation zombieVillagerPonyResource = new ResourceLocation("minelittlepony",
|
public static final ResourceLocation PIGMAN = new ResourceLocation("minelittlepony", "textures/entity/zombie/zombie_pigman_pony.png");
|
||||||
"textures/entity/zombie/zombie_villager_pony.png");
|
public static final ResourceLocation SKELETON = new ResourceLocation("minelittlepony", "textures/entity/skeleton/skeleton_pony.png");
|
||||||
public static final ResourceLocation zombiePigmanPonyResource = new ResourceLocation("minelittlepony",
|
public static final ResourceLocation WITHER_SKELETON = new ResourceLocation("minelittlepony", "textures/entity/skeleton/skeleton_wither_pony.png");
|
||||||
"textures/entity/zombie_pigman_pony.png");
|
public static final ResourceLocation STEVE = new ResourceLocation("minelittlepony", "textures/entity/steve_pony.png");
|
||||||
public static final ResourceLocation skeletonPonyResource = new ResourceLocation("minelittlepony",
|
public static final ResourceLocation ALEX = new ResourceLocation("minelittlepony", "textures/entity/alex_pony.png");
|
||||||
"textures/entity/skeleton/skeleton_pony.png");
|
|
||||||
public static final ResourceLocation skeletonWitherPonyResource = new ResourceLocation("minelittlepony",
|
|
||||||
"textures/entity/skeleton/skeleton_wither_pony.png");
|
|
||||||
public static final ResourceLocation defaultPonyResourceLocation = new ResourceLocation("minelittlepony",
|
|
||||||
"textures/entity/pony/charpony.png");
|
|
||||||
public static List<ResourceLocation> backgroundPonyResourceLocations = new ArrayList<ResourceLocation>();
|
|
||||||
public static List<ResourceLocation> villagerResourceLocations;
|
|
||||||
private static final int MAX_BGPONY_COUNT = 141;
|
private static final int MAX_BGPONY_COUNT = 141;
|
||||||
private static int numberOfPonies;
|
|
||||||
|
public final List<ResourceLocation> backgroundPonyList = makeBkgndPonies();
|
||||||
|
public final List<ResourceLocation> villagerList = ImmutableList.<ResourceLocation> builder()
|
||||||
|
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/farmer_pony.png"))
|
||||||
|
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/librarian_pony.png"))
|
||||||
|
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/priest_pony.png"))
|
||||||
|
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/smith_pony.png"))
|
||||||
|
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/butcher_pony.png"))
|
||||||
|
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/villager_pony.png"))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
private static List<ResourceLocation> makeBkgndPonies() {
|
||||||
|
ImmutableList.Builder<ResourceLocation> list = ImmutableList.builder();
|
||||||
|
for (int check = 0; check < MAX_BGPONY_COUNT; ++check) {
|
||||||
|
list.add(new ResourceLocation("minelittlepony", "textures/entity/pony/bpony_" + check + ".png"));
|
||||||
|
}
|
||||||
|
return list.build();
|
||||||
|
}
|
||||||
|
|
||||||
private PonyConfig config;
|
private PonyConfig config;
|
||||||
|
|
||||||
private Map<ResourceLocation, Pony> ponyResourceRegistry = new HashMap<ResourceLocation, Pony>();
|
private Map<ResourceLocation, Pony> ponies = Maps.newHashMap();
|
||||||
private Map<ResourceLocation, Pony> backgroudPonyResourceRegistry = new HashMap<ResourceLocation, Pony>();
|
private Map<ResourceLocation, Pony> backgroudPonies = Maps.newHashMap();
|
||||||
|
|
||||||
public PonyManager(PonyConfig config) {
|
public PonyManager(PonyConfig config) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
initmodels();
|
initmodels();
|
||||||
|
MineLPLogger.info("Detected %d of %d background ponies installed.", getNumberOfPonies(), MAX_BGPONY_COUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initmodels() {
|
public void initmodels() {
|
||||||
|
@ -49,16 +62,16 @@ public class PonyManager {
|
||||||
|
|
||||||
private Pony getPonyFromResourceRegistry(ResourceLocation skinResourceLocation, AbstractClientPlayer player) {
|
private Pony getPonyFromResourceRegistry(ResourceLocation skinResourceLocation, AbstractClientPlayer player) {
|
||||||
Pony myLittlePony;
|
Pony myLittlePony;
|
||||||
if (!this.ponyResourceRegistry.containsKey(skinResourceLocation)) {
|
if (!this.ponies.containsKey(skinResourceLocation)) {
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
myLittlePony = new Pony(player);
|
myLittlePony = new Pony(player);
|
||||||
} else {
|
} else {
|
||||||
myLittlePony = new Pony(skinResourceLocation);
|
myLittlePony = new Pony(skinResourceLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.ponyResourceRegistry.put(skinResourceLocation, myLittlePony);
|
this.ponies.put(skinResourceLocation, myLittlePony);
|
||||||
} else {
|
} else {
|
||||||
myLittlePony = this.ponyResourceRegistry.get(skinResourceLocation);
|
myLittlePony = this.ponies.get(skinResourceLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
return myLittlePony;
|
return myLittlePony;
|
||||||
|
@ -70,14 +83,10 @@ public class PonyManager {
|
||||||
|
|
||||||
public Pony getPonyFromResourceRegistry(AbstractClientPlayer player) {
|
public Pony getPonyFromResourceRegistry(AbstractClientPlayer player) {
|
||||||
Pony myLittlePony = this.getPonyFromResourceRegistry(player.getLocationSkin(), player);
|
Pony myLittlePony = this.getPonyFromResourceRegistry(player.getLocationSkin(), player);
|
||||||
if (config.getPonyLevel().get() == PonyLevel.PONIES && !myLittlePony.isPonySkin()) {
|
if (config.getPonyLevel().get() == PonyLevel.PONIES && myLittlePony.metadata.getRace() == null) {
|
||||||
myLittlePony = this.getPonyFromBackgroundResourceRegistry(player);
|
myLittlePony = this.getPonyFromBackgroundResourceRegistry(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getCommandSenderName().equals(MineLittlePony.getSPUsername())) {
|
|
||||||
myLittlePony.isSpPlayer = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return myLittlePony;
|
return myLittlePony;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,81 +95,48 @@ public class PonyManager {
|
||||||
|
|
||||||
ResourceLocation villagerResourceLocation;
|
ResourceLocation villagerResourceLocation;
|
||||||
try {
|
try {
|
||||||
villagerResourceLocation = villagerResourceLocations.get(profession);
|
villagerResourceLocation = villagerList.get(profession);
|
||||||
} catch (IndexOutOfBoundsException var5) {
|
} catch (IndexOutOfBoundsException var5) {
|
||||||
villagerResourceLocation = villagerResourceLocations.get(5);
|
villagerResourceLocation = villagerList.get(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
Pony myLittlePony = this.getPonyFromResourceRegistry(villagerResourceLocation);
|
Pony myLittlePony = this.getPonyFromResourceRegistry(villagerResourceLocation);
|
||||||
myLittlePony.setVillager(profession);
|
// myLittlePony.setVillager(profession);
|
||||||
return myLittlePony;
|
return myLittlePony;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ResourceLocation getBackgroundPonyResource(String username) {
|
private ResourceLocation getBackgroundPonyResource(AbstractClientPlayer player) {
|
||||||
if (numberOfPonies > 0) {
|
if (getNumberOfPonies() > 0) {
|
||||||
int backgroundIndex = username.hashCode() % this.getNumberOfPonies();
|
int backgroundIndex = player.getEntityId() % this.getNumberOfPonies();
|
||||||
if (backgroundIndex < 0) {
|
if (backgroundIndex < 0) {
|
||||||
backgroundIndex += this.getNumberOfPonies();
|
backgroundIndex += this.getNumberOfPonies();
|
||||||
}
|
}
|
||||||
|
|
||||||
return backgroundPonyResourceLocations.get(backgroundIndex);
|
return backgroundPonyList.get(backgroundIndex);
|
||||||
}
|
}
|
||||||
return defaultPonyResourceLocation;
|
return STEVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pony getPonyFromBackgroundResourceRegistry(AbstractClientPlayer player) {
|
public Pony getPonyFromBackgroundResourceRegistry(AbstractClientPlayer player) {
|
||||||
ResourceLocation textureResourceLocation;
|
ResourceLocation textureResourceLocation;
|
||||||
if (player.getCommandSenderName() == MineLittlePony.getSPUsername()) {
|
if (player.isUser()) {
|
||||||
textureResourceLocation = defaultPonyResourceLocation;
|
textureResourceLocation = (player.getUniqueID().hashCode() & 1) == 0 ? STEVE : ALEX;
|
||||||
} else {
|
} else {
|
||||||
textureResourceLocation = this.getBackgroundPonyResource(player.getCommandSenderName());
|
textureResourceLocation = this.getBackgroundPonyResource(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
Pony myLittlePony;
|
Pony myLittlePony;
|
||||||
if (!this.backgroudPonyResourceRegistry.containsKey(textureResourceLocation)) {
|
if (!this.backgroudPonies.containsKey(textureResourceLocation)) {
|
||||||
myLittlePony = new Pony(textureResourceLocation);
|
myLittlePony = new Pony(textureResourceLocation);
|
||||||
this.backgroudPonyResourceRegistry.put(textureResourceLocation, myLittlePony);
|
this.backgroudPonies.put(textureResourceLocation, myLittlePony);
|
||||||
} else {
|
} else {
|
||||||
myLittlePony = this.backgroudPonyResourceRegistry.get(textureResourceLocation);
|
myLittlePony = this.backgroudPonies.get(textureResourceLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
return myLittlePony;
|
return myLittlePony;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getNumberOfPonies() {
|
public int getNumberOfPonies() {
|
||||||
return numberOfPonies;
|
return backgroundPonyList.size();
|
||||||
}
|
|
||||||
|
|
||||||
static {
|
|
||||||
for (int check = 0; check < MAX_BGPONY_COUNT; ++check) {
|
|
||||||
backgroundPonyResourceLocations
|
|
||||||
.add(new ResourceLocation("minelittlepony", "textures/entity/pony/bpony_" + check + ".png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
numberOfPonies = backgroundPonyResourceLocations.size();
|
|
||||||
MineLPLogger.info("Detected %d of %d background ponies installed.",
|
|
||||||
new Object[] { Integer.valueOf(numberOfPonies), Integer.valueOf(MAX_BGPONY_COUNT) });
|
|
||||||
villagerResourceLocations = new ArrayList<ResourceLocation>();
|
|
||||||
villagerResourceLocations
|
|
||||||
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/farmer_pony.png"));
|
|
||||||
villagerResourceLocations
|
|
||||||
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/librarian_pony.png"));
|
|
||||||
villagerResourceLocations
|
|
||||||
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/priest_pony.png"));
|
|
||||||
villagerResourceLocations
|
|
||||||
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/smith_pony.png"));
|
|
||||||
villagerResourceLocations
|
|
||||||
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/butcher_pony.png"));
|
|
||||||
villagerResourceLocations
|
|
||||||
.add(new ResourceLocation("minelittlepony", "textures/entity/villager/villager_pony.png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static enum PonyRace {
|
|
||||||
EARTH,
|
|
||||||
PEGASUS,
|
|
||||||
UNICORN,
|
|
||||||
ALICORN,
|
|
||||||
CHANGELING,
|
|
||||||
ZEBRA;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
26
src/main/java/com/brohoof/minelittlepony/PonyRace.java
Normal file
26
src/main/java/com/brohoof/minelittlepony/PonyRace.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
package com.brohoof.minelittlepony;
|
||||||
|
|
||||||
|
public enum PonyRace {
|
||||||
|
EARTH(false, false),
|
||||||
|
PEGASUS(true, false),
|
||||||
|
UNICORN(false, true),
|
||||||
|
ALICORN(true, true),
|
||||||
|
CHANGELING(true, true),
|
||||||
|
ZEBRA(false, false);
|
||||||
|
|
||||||
|
private boolean wings;
|
||||||
|
private boolean horn;
|
||||||
|
|
||||||
|
private PonyRace(boolean wings, boolean horn) {
|
||||||
|
this.wings = wings;
|
||||||
|
this.horn = horn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasHorn() {
|
||||||
|
return horn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasWings() {
|
||||||
|
return wings;
|
||||||
|
}
|
||||||
|
}
|
8
src/main/java/com/brohoof/minelittlepony/PonySize.java
Normal file
8
src/main/java/com/brohoof/minelittlepony/PonySize.java
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
package com.brohoof.minelittlepony;
|
||||||
|
|
||||||
|
public enum PonySize {
|
||||||
|
NORMAL,
|
||||||
|
LARGE,
|
||||||
|
FOAL,
|
||||||
|
PRINCESS
|
||||||
|
}
|
20
src/main/java/com/brohoof/minelittlepony/TailLengths.java
Normal file
20
src/main/java/com/brohoof/minelittlepony/TailLengths.java
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
package com.brohoof.minelittlepony;
|
||||||
|
|
||||||
|
public enum TailLengths {
|
||||||
|
|
||||||
|
STUB(4),
|
||||||
|
QUARTER(3),
|
||||||
|
HALF(2),
|
||||||
|
THREE_QUARTERS(1),
|
||||||
|
FULL(0);
|
||||||
|
|
||||||
|
private int size;
|
||||||
|
|
||||||
|
private TailLengths(int size) {
|
||||||
|
this.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSize() {
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
}
|
|
@ -22,15 +22,8 @@ public class RenderPonyModel extends RenderPlayerModel {
|
||||||
Pony thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(this.getEntityTexture(playerModelEntity));
|
Pony thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(this.getEntityTexture(playerModelEntity));
|
||||||
thePony.checkSkin();
|
thePony.checkSkin();
|
||||||
PlayerModel pm = thePony.getModel(true);
|
PlayerModel pm = thePony.getModel(true);
|
||||||
this.mainModel = pm.model;
|
this.mainModel = pm.getModel();
|
||||||
pm.model.isFlying = thePony.isFlying = false;
|
pm.apply(thePony.metadata);
|
||||||
pm.model.isPegasus = thePony.isPegasus();
|
|
||||||
pm.model.isUnicorn = thePony.isUnicorn();
|
|
||||||
pm.model.isMale = thePony.isMale();
|
|
||||||
pm.model.size = thePony.size();
|
|
||||||
pm.model.glowColor = thePony.glowColor();
|
|
||||||
pm.model.wantTail = thePony.wantTail();
|
|
||||||
pm.model.isVillager = false;
|
|
||||||
this.mainModel.render(par1EntityLivingBase, par2, par3, par4, par5, par6, par7);
|
this.mainModel.render(par1EntityLivingBase, par2, par3, par4, par5, par6, par7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
package com.brohoof.minelittlepony.model;
|
package com.brohoof.minelittlepony.model;
|
||||||
|
|
||||||
|
import com.brohoof.minelittlepony.PonyData;
|
||||||
|
|
||||||
public abstract class ModelArmor {
|
public abstract class ModelArmor {
|
||||||
public final String path;
|
|
||||||
public ModelPony base;
|
|
||||||
public ModelPony modelArmorChestplate;
|
public ModelPony modelArmorChestplate;
|
||||||
public ModelPony modelArmor;
|
public ModelPony modelArmor;
|
||||||
|
|
||||||
public ModelArmor(String path) {
|
|
||||||
this.path = path;
|
|
||||||
}
|
|
||||||
|
|
||||||
public float layer() {
|
public float layer() {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -18,4 +15,9 @@ public abstract class ModelArmor {
|
||||||
return slot == 2 ? 2 : 1;
|
return slot == 2 ? 2 : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void apply(PonyData meta) {
|
||||||
|
modelArmorChestplate.metadata = meta;
|
||||||
|
modelArmor.metadata = meta;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.brohoof.minelittlepony.model;
|
package com.brohoof.minelittlepony.model;
|
||||||
|
|
||||||
|
import com.brohoof.minelittlepony.PonyData;
|
||||||
import com.brohoof.minelittlepony.renderer.AniParams;
|
import com.brohoof.minelittlepony.renderer.AniParams;
|
||||||
|
|
||||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||||
|
@ -11,30 +12,24 @@ import net.minecraft.item.EnumAction;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public abstract class ModelPony extends ModelPlayer {
|
public abstract class ModelPony extends ModelPlayer {
|
||||||
public String texture;
|
|
||||||
protected float strech = 0.0F;
|
protected float strech = 0.0F;
|
||||||
protected float scale = 0.0625F;
|
protected float scale = 0.0625F;
|
||||||
public boolean issneak = false;
|
public boolean issneak = false;
|
||||||
public boolean isArmour = false;
|
public boolean isArmour = false;
|
||||||
public int glowColor = -12303190;
|
|
||||||
public final float pi = 3.141593F;
|
|
||||||
public boolean isPegasus;
|
|
||||||
public boolean isUnicorn;
|
|
||||||
public boolean isMale;
|
|
||||||
public int wantTail;
|
|
||||||
public int size;
|
|
||||||
public boolean isVillager;
|
public boolean isVillager;
|
||||||
public int villagerProfession;
|
|
||||||
public boolean isFlying;
|
public boolean isFlying;
|
||||||
public boolean isGlow;
|
public boolean isGlow;
|
||||||
public boolean isSleeping;
|
public boolean isSleeping;
|
||||||
|
|
||||||
|
public PonyData metadata = new PonyData();
|
||||||
|
|
||||||
public int heldItemLeft;
|
public int heldItemLeft;
|
||||||
public int heldItemRight;
|
public int heldItemRight;
|
||||||
public boolean aimedBow;
|
public boolean aimedBow;
|
||||||
|
|
||||||
public ModelPony(String texture) {
|
public ModelPony() {
|
||||||
super(0, false);
|
super(0, false);
|
||||||
this.texture = texture;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStrech(float strech) {
|
public void setStrech(float strech) {
|
||||||
|
@ -74,25 +69,25 @@ public abstract class ModelPony extends ModelPlayer {
|
||||||
@Override
|
@Override
|
||||||
public final void renderRightArm() {
|
public final void renderRightArm() {
|
||||||
// Use the human model
|
// Use the human model
|
||||||
PMAPI.human.model.renderModelRightArm();
|
PMAPI.human.getModel().renderModelRightArm();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void renderLeftArm() {
|
public final void renderLeftArm() {
|
||||||
// Use the human model
|
// Use the human model
|
||||||
PMAPI.human.model.renderModelLeftArm();
|
PMAPI.human.getModel().renderModelLeftArm();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void setRotationAngles(float f1, float f2, float f3, float f4, float f5, float f6, Entity ent) {
|
public final void setRotationAngles(float f1, float f2, float f3, float f4, float f5, float f6, Entity ent) {
|
||||||
// set the angles for the humans in preparation for arm rendering
|
// set the angles for the humans in preparation for arm rendering
|
||||||
// Comes from RenderPlayer.render[Left|Right]Arm?
|
// Comes from RenderPlayer.render[Left|Right]Arm?
|
||||||
if (PMAPI.human.model != this
|
if (PMAPI.human.getModel() != this
|
||||||
&& Thread.currentThread().getStackTrace()[2].getClassName().equals(RenderPlayer.class.getName())) {
|
&& Thread.currentThread().getStackTrace()[2].getClassName().equals(RenderPlayer.class.getName())) {
|
||||||
PMAPI.human.model.setModelVisibilities((AbstractClientPlayer) ent);
|
PMAPI.human.getModel().setModelVisibilities((AbstractClientPlayer) ent);
|
||||||
PMAPI.human.model.isSneak = isSneak;
|
PMAPI.human.getModel().isSneak = isSneak;
|
||||||
PMAPI.human.model.swingProgress = swingProgress;
|
PMAPI.human.getModel().swingProgress = swingProgress;
|
||||||
PMAPI.human.model.setModelRotationAngles(f1, f2, f3, f4, f5, f6, ent);
|
PMAPI.human.getModel().setModelRotationAngles(f1, f2, f3, f4, f5, f6, ent);
|
||||||
}
|
}
|
||||||
setModelRotationAngles(f1, f2, f3, f4, f5, f6, ent);
|
setModelRotationAngles(f1, f2, f3, f4, f5, f6, ent);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,29 +13,19 @@ import com.brohoof.minelittlepony.model.pony.armor.pma_zombiePony;
|
||||||
|
|
||||||
public final class PMAPI {
|
public final class PMAPI {
|
||||||
|
|
||||||
public static PlayerModel newPonyAdv_32 = new PlayerModel("newPonyAdv", new pm_newPonyAdv("/mob/char.png"), 0)
|
public static PlayerModel newPonyAdv_32 = new PlayerModel(new pm_newPonyAdv())
|
||||||
.setTextureHeight(32)
|
.setTextureHeight(32)
|
||||||
.setArmor(new pma_newPony("minelittlepony:textures/models/armor/"))
|
.setArmor(new pma_newPony());
|
||||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
public static PlayerModel newPonyAdv = new PlayerModel(new pm_newPonyAdv())
|
||||||
.setScale(0.9375F);
|
.setArmor(new pma_newPony());
|
||||||
public static PlayerModel newPonyAdv = new PlayerModel("newPonyAdv", new pm_newPonyAdv("/mob/char.png"), 0)
|
public static PlayerModel zombiePony = new PlayerModel(new pm_zombiePony())
|
||||||
.setArmor(new pma_newPony("minelittlepony:textures/models/armor/"))
|
|
||||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
|
||||||
.setScale(0.9375F);
|
|
||||||
public static PlayerModel zombiePony = new PlayerModel("zombiePony", new pm_zombiePony("/mob/char.png"), 0)
|
|
||||||
.setTextureHeight(32)
|
.setTextureHeight(32)
|
||||||
.setArmor(new pma_zombiePony("minelittlepony:textures/models/armor/"))
|
.setArmor(new pma_zombiePony());
|
||||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
public static PlayerModel skeletonPony = new PlayerModel(new pm_skeletonPony())
|
||||||
.setScale(0.9375F);
|
|
||||||
public static PlayerModel skeletonPony = new PlayerModel("skeletonPony", new pm_skeletonPony("/mob/char.png"), 0)
|
|
||||||
.setTextureHeight(32)
|
.setTextureHeight(32)
|
||||||
.setArmor(new pma_skeletonPony("minelittlepony:textures/models/armor/"))
|
.setArmor(new pma_skeletonPony());
|
||||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
public static PlayerModel human = new PlayerModel(new pm_Human())
|
||||||
.setScale(0.9375F);
|
.setArmor(new pma_Human());
|
||||||
public static PlayerModel human = new PlayerModel("Human", new pm_Human("/mob/char.png"), 1)
|
|
||||||
.setArmor(new pma_Human("minecraft:textures/models/armor/"))
|
|
||||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
|
||||||
.setScale(0.9375F);
|
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
for (Field field : PMAPI.class.getFields()) {
|
for (Field field : PMAPI.class.getFields()) {
|
||||||
|
|
|
@ -1,81 +1,52 @@
|
||||||
package com.brohoof.minelittlepony.model;
|
package com.brohoof.minelittlepony.model;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import com.brohoof.minelittlepony.PonyData;
|
||||||
|
|
||||||
import com.brohoof.minelittlepony.model.ModelArmor;
|
|
||||||
import com.brohoof.minelittlepony.model.ModelPony;
|
|
||||||
|
|
||||||
public class PlayerModel {
|
public class PlayerModel {
|
||||||
public final int id;
|
|
||||||
public String name;
|
|
||||||
public String url;
|
|
||||||
public ModelPony model;
|
|
||||||
public ModelArmor armor;
|
|
||||||
public float width = 0.6F;
|
|
||||||
public float height = 1.8F;
|
|
||||||
public float shadowsize = 0.5F;
|
|
||||||
public float thirdpersondistance = 4.0F;
|
|
||||||
public float yoffset = 1.62F;
|
|
||||||
public float globalscale = 1.0F;
|
|
||||||
|
|
||||||
public PlayerModel(String name, ModelPony model, int manual_id) {
|
private final ModelPony model;
|
||||||
this.name = name;
|
private ModelArmor armor;
|
||||||
|
private float shadowsize = 0.5F;
|
||||||
|
|
||||||
|
public PlayerModel(ModelPony model) {
|
||||||
this.model = model;
|
this.model = model;
|
||||||
this.id = manual_id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerModel setTextureHeight(int height) {
|
public PlayerModel setTextureHeight(int height) {
|
||||||
model.textureHeight = height;
|
getModel().textureHeight = height;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ModelPony getModel() {
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
public PlayerModel setArmor(ModelArmor armor) {
|
public PlayerModel setArmor(ModelArmor armor) {
|
||||||
this.armor = armor;
|
this.armor = armor;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerModel setURL(String url) {
|
public PlayerModel setShadowsize(float shadowsize) {
|
||||||
this.url = url;
|
this.shadowsize = shadowsize;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerModel setShadow(float size) {
|
public float getShadowsize() {
|
||||||
this.shadowsize = size;
|
return shadowsize;
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PlayerModel setSize(float width, float height) {
|
|
||||||
this.width = width;
|
|
||||||
this.height = height;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PlayerModel setOffset(float offset) {
|
|
||||||
this.yoffset = offset;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PlayerModel setDistance(float distance) {
|
|
||||||
this.thirdpersondistance = distance;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PlayerModel setScale(float scale) {
|
|
||||||
this.globalscale = scale;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean hasArmor() {
|
|
||||||
return this.armor != null && this.armor.base != null && this.armor.path != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSize(DecimalFormat df) {
|
|
||||||
return df.format(this.width) + " * " + df.format(this.height) + " * " + df.format(this.width);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
model.init(0, 0);
|
getModel().init(0, 0);
|
||||||
armor.modelArmorChestplate.init(0.0F, 1.0F);
|
getArmor().modelArmorChestplate.init(0.0F, 1.0F);
|
||||||
armor.modelArmor.init(0.0F, 0.5F);
|
getArmor().modelArmor.init(0.0F, 0.5F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ModelArmor getArmor() {
|
||||||
|
return armor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void apply(PonyData meta) {
|
||||||
|
model.metadata = meta;
|
||||||
|
armor.apply(meta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,8 +13,7 @@ public class pm_newPonyArmor extends pm_newPonyAdv {
|
||||||
public ModelRenderer[] extHead;
|
public ModelRenderer[] extHead;
|
||||||
public ModelRenderer[] extLegs;
|
public ModelRenderer[] extLegs;
|
||||||
|
|
||||||
public pm_newPonyArmor(String texture) {
|
public pm_newPonyArmor() {
|
||||||
super(texture);
|
|
||||||
this.isArmour = true;
|
this.isArmour = true;
|
||||||
this.textureHeight = 32;
|
this.textureHeight = 32;
|
||||||
}
|
}
|
||||||
|
@ -24,7 +23,7 @@ public class pm_newPonyArmor extends pm_newPonyAdv {
|
||||||
this.checkRainboom(aniparams.swing);
|
this.checkRainboom(aniparams.swing);
|
||||||
this.rotateHead(aniparams.horz, aniparams.vert);
|
this.rotateHead(aniparams.horz, aniparams.vert);
|
||||||
float bodySwingRotation = 0.0F;
|
float bodySwingRotation = 0.0F;
|
||||||
if (this.swingProgress > -9990.0F && !this.isUnicorn) {
|
if (this.swingProgress > -9990.0F && !this.metadata.getRace().hasHorn()) {
|
||||||
bodySwingRotation = MathHelper.sin(MathHelper.sqrt_float(this.swingProgress) * 3.1415927F * 2.0F) * 0.2F;
|
bodySwingRotation = MathHelper.sin(MathHelper.sqrt_float(this.swingProgress) * 3.1415927F * 2.0F) * 0.2F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,6 @@ import com.brohoof.minelittlepony.model.pony.armor.pm_newPonyArmor;
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
|
|
||||||
public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
||||||
public pm_skeletonPonyArmor(String texture) {
|
|
||||||
super(texture);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void rotateLegs(float move, float swing, float tick) {
|
protected void rotateLegs(float move, float swing, float tick) {
|
||||||
|
@ -17,7 +14,7 @@ public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
||||||
float leftLegRotateAngleX;
|
float leftLegRotateAngleX;
|
||||||
float var8;
|
float var8;
|
||||||
float var9;
|
float var9;
|
||||||
if (this.isFlying && this.isPegasus) {
|
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||||
if (this.rainboom) {
|
if (this.rainboom) {
|
||||||
rightArmRotateAngleX = ROTATE_270;
|
rightArmRotateAngleX = ROTATE_270;
|
||||||
leftArmRotateAngleX = ROTATE_270;
|
leftArmRotateAngleX = ROTATE_270;
|
||||||
|
@ -70,7 +67,7 @@ public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
||||||
if (this.heldItemRight != 0) {
|
if (this.heldItemRight != 0) {
|
||||||
var8 = MathHelper.sin(this.swingProgress * 3.1415927F);
|
var8 = MathHelper.sin(this.swingProgress * 3.1415927F);
|
||||||
var9 = MathHelper.sin((1.0F - (1.0F - this.swingProgress) * (1.0F - this.swingProgress)) * 3.1415927F);
|
var9 = MathHelper.sin((1.0F - (1.0F - this.swingProgress) * (1.0F - this.swingProgress)) * 3.1415927F);
|
||||||
if (this.glowColor == 0) {
|
if (this.metadata.getGlowColor() == 0) {
|
||||||
this.bipedRightArm.rotateAngleZ = 0.0F;
|
this.bipedRightArm.rotateAngleZ = 0.0F;
|
||||||
this.bipedRightArm.rotateAngleY = 0.1F - var8 * 0.6F;
|
this.bipedRightArm.rotateAngleY = 0.1F - var8 * 0.6F;
|
||||||
this.bipedRightArm.rotateAngleX = -1.5707964F;
|
this.bipedRightArm.rotateAngleX = -1.5707964F;
|
||||||
|
@ -92,7 +89,7 @@ public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void fixSpecialRotationPoints(float move) {
|
protected void fixSpecialRotationPoints(float move) {
|
||||||
if (this.heldItemRight != 0 && this.glowColor == 0) {
|
if (this.heldItemRight != 0 && this.metadata.getGlowColor() == 0) {
|
||||||
this.setRotationPoint(this.bipedRightArm, -1.5F, 9.5F, 4.0F);
|
this.setRotationPoint(this.bipedRightArm, -1.5F, 9.5F, 4.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,6 @@ import com.brohoof.minelittlepony.model.pony.armor.pm_newPonyArmor;
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
|
|
||||||
public class pm_zombiePonyArmor extends pm_newPonyArmor {
|
public class pm_zombiePonyArmor extends pm_newPonyArmor {
|
||||||
public pm_zombiePonyArmor(String texture) {
|
|
||||||
super(texture);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void rotateLegs(float move, float swing, float tick) {
|
protected void rotateLegs(float move, float swing, float tick) {
|
||||||
|
@ -17,7 +14,7 @@ public class pm_zombiePonyArmor extends pm_newPonyArmor {
|
||||||
float leftLegRotateAngleX;
|
float leftLegRotateAngleX;
|
||||||
float var8;
|
float var8;
|
||||||
float var9;
|
float var9;
|
||||||
if (this.isFlying && this.isPegasus) {
|
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||||
if (this.rainboom) {
|
if (this.rainboom) {
|
||||||
rightArmRotateAngleX = ROTATE_270;
|
rightArmRotateAngleX = ROTATE_270;
|
||||||
leftArmRotateAngleX = ROTATE_270;
|
leftArmRotateAngleX = ROTATE_270;
|
||||||
|
|
|
@ -5,10 +5,9 @@ import com.brohoof.minelittlepony.model.pony.pm_Human;
|
||||||
|
|
||||||
public class pma_Human extends ModelArmor {
|
public class pma_Human extends ModelArmor {
|
||||||
|
|
||||||
public pma_Human(String path) {
|
public pma_Human() {
|
||||||
super(path);
|
this.modelArmorChestplate = new pm_Human();
|
||||||
this.modelArmorChestplate = new pm_Human(path);
|
this.modelArmor = new pm_Human();
|
||||||
this.modelArmor = new pm_Human(path);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,9 +3,9 @@ package com.brohoof.minelittlepony.model.pony.armor;
|
||||||
import com.brohoof.minelittlepony.model.ModelArmor;
|
import com.brohoof.minelittlepony.model.ModelArmor;
|
||||||
|
|
||||||
public class pma_newPony extends ModelArmor {
|
public class pma_newPony extends ModelArmor {
|
||||||
public pma_newPony(String path) {
|
|
||||||
super(path);
|
public pma_newPony() {
|
||||||
this.modelArmorChestplate = new pm_newPonyArmor(path);
|
this.modelArmorChestplate = new pm_newPonyArmor();
|
||||||
this.modelArmor = new pm_newPonyArmor(path);
|
this.modelArmor = new pm_newPonyArmor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,8 @@ import com.brohoof.minelittlepony.model.ModelArmor;
|
||||||
|
|
||||||
public class pma_skeletonPony extends ModelArmor {
|
public class pma_skeletonPony extends ModelArmor {
|
||||||
|
|
||||||
public pma_skeletonPony(String path) {
|
public pma_skeletonPony() {
|
||||||
super(path);
|
this.modelArmorChestplate = new pm_skeletonPonyArmor();
|
||||||
this.modelArmorChestplate = new pm_skeletonPonyArmor(path);
|
this.modelArmor = new pm_skeletonPonyArmor();
|
||||||
this.modelArmor = new pm_skeletonPonyArmor(path);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,8 @@ import com.brohoof.minelittlepony.model.ModelArmor;
|
||||||
|
|
||||||
public class pma_zombiePony extends ModelArmor {
|
public class pma_zombiePony extends ModelArmor {
|
||||||
|
|
||||||
public pma_zombiePony(String path) {
|
public pma_zombiePony() {
|
||||||
super(path);
|
this.modelArmorChestplate = new pm_zombiePonyArmor();
|
||||||
this.modelArmorChestplate = new pm_zombiePonyArmor(path);
|
this.modelArmor = new pm_zombiePonyArmor();
|
||||||
this.modelArmor = new pm_zombiePonyArmor(path);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,10 +9,6 @@ public class pm_Human extends ModelPony {
|
||||||
public ModelRenderer bipedEars;
|
public ModelRenderer bipedEars;
|
||||||
public ModelRenderer cloak;
|
public ModelRenderer cloak;
|
||||||
|
|
||||||
public pm_Human(String texture) {
|
|
||||||
super(texture);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean doCancelRender() {
|
protected boolean doCancelRender() {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -14,6 +14,8 @@ import java.util.Random;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import com.brohoof.minelittlepony.MineLittlePony;
|
import com.brohoof.minelittlepony.MineLittlePony;
|
||||||
|
import com.brohoof.minelittlepony.PonyGender;
|
||||||
|
import com.brohoof.minelittlepony.PonySize;
|
||||||
import com.brohoof.minelittlepony.model.ModelPony;
|
import com.brohoof.minelittlepony.model.ModelPony;
|
||||||
import com.brohoof.minelittlepony.renderer.AniParams;
|
import com.brohoof.minelittlepony.renderer.AniParams;
|
||||||
import com.brohoof.minelittlepony.renderer.CompressiveRendering;
|
import com.brohoof.minelittlepony.renderer.CompressiveRendering;
|
||||||
|
@ -104,10 +106,6 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
public CompressiveRendering CompressiveLeftWing;
|
public CompressiveRendering CompressiveLeftWing;
|
||||||
public CompressiveRendering CompressiveRightWing;
|
public CompressiveRendering CompressiveRightWing;
|
||||||
|
|
||||||
public pm_newPonyAdv(String texture) {
|
|
||||||
super(texture);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(float yOffset, float stretch) {
|
public void init(float yOffset, float stretch) {
|
||||||
this.initTextures();
|
this.initTextures();
|
||||||
|
@ -120,7 +118,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.rotateHead(aniparams.horz, aniparams.vert);
|
this.rotateHead(aniparams.horz, aniparams.vert);
|
||||||
this.swingTailZ(aniparams.move, aniparams.swing);
|
this.swingTailZ(aniparams.move, aniparams.swing);
|
||||||
float bodySwingRotation = 0.0F;
|
float bodySwingRotation = 0.0F;
|
||||||
if (this.swingProgress > -9990.0F && (!this.isUnicorn || this.glowColor == 0)) {
|
if (this.swingProgress > -9990.0F && (!this.metadata.getRace().hasHorn() || this.metadata.getGlowColor() == 0)) {
|
||||||
bodySwingRotation = MathHelper.sin(MathHelper.sqrt_float(this.swingProgress) * 3.1415927F * 2.0F) * 0.2F;
|
bodySwingRotation = MathHelper.sin(MathHelper.sqrt_float(this.swingProgress) * 3.1415927F * 2.0F) * 0.2F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,7 +153,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
this.tailstop = this.Tail.length - this.wantTail * 5;
|
this.tailstop = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||||
if (this.tailstop <= 1) {
|
if (this.tailstop <= 1) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
}
|
}
|
||||||
|
@ -175,7 +173,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.sneakTail();
|
this.sneakTail();
|
||||||
} else {
|
} else {
|
||||||
this.adjustBody(BODY_ROTATE_ANGLE_X_NOTSNEAK, BODY_RP_Y_NOTSNEAK, BODY_RP_Z_NOTSNEAK);
|
this.adjustBody(BODY_ROTATE_ANGLE_X_NOTSNEAK, BODY_RP_Y_NOTSNEAK, BODY_RP_Z_NOTSNEAK);
|
||||||
if (this.isPegasus) {
|
if (this.metadata.getRace().hasWings()) {
|
||||||
this.animatePegasusWingsNotSneaking(aniparams.tick);
|
this.animatePegasusWingsNotSneaking(aniparams.tick);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,7 +182,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.swingArms(aniparams.tick);
|
this.swingArms(aniparams.tick);
|
||||||
this.setHead(0.0F, 0.0F, 0.0F);
|
this.setHead(0.0F, 0.0F, 0.0F);
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
this.tailstop = this.Tail.length - this.wantTail * 5;
|
this.tailstop = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||||
if (this.tailstop <= 1) {
|
if (this.tailstop <= 1) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
}
|
}
|
||||||
|
@ -205,7 +203,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
|
|
||||||
if (this.rainboom) {
|
if (this.rainboom) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
this.tailstop = this.Tail.length - this.wantTail * 5;
|
this.tailstop = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||||
if (this.tailstop <= 1) {
|
if (this.tailstop <= 1) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
}
|
}
|
||||||
|
@ -239,7 +237,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checkRainboom(float swing) {
|
protected void checkRainboom(float swing) {
|
||||||
if (this.isPegasus && this.isFlying && swing >= 0.9999F) {
|
if (this.metadata.getRace().hasWings() && this.isFlying && swing >= 0.9999F) {
|
||||||
this.rainboom = true;
|
this.rainboom = true;
|
||||||
} else {
|
} else {
|
||||||
this.rainboom = false;
|
this.rainboom = false;
|
||||||
|
@ -260,7 +258,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.setRotationPoint(this.hornglow[j6], posX, posY, posZ);
|
this.setRotationPoint(this.hornglow[j6], posX, posY, posZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isMale) {
|
if (this.metadata.getGender() == PonyGender.STALLION) {
|
||||||
for (j6 = 0; j6 < this.MuzzleMale.length; ++j6) {
|
for (j6 = 0; j6 < this.MuzzleMale.length; ++j6) {
|
||||||
this.setRotationPoint(this.MuzzleMale[j6], posX, posY, posZ);
|
this.setRotationPoint(this.MuzzleMale[j6], posX, posY, posZ);
|
||||||
}
|
}
|
||||||
|
@ -294,7 +292,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.bipedHead.rotateAngleY = headRotateAngleY;
|
this.bipedHead.rotateAngleY = headRotateAngleY;
|
||||||
this.bipedHead.rotateAngleX = headRotateAngleX;
|
this.bipedHead.rotateAngleX = headRotateAngleX;
|
||||||
int i;
|
int i;
|
||||||
if (this.isMale) {
|
if (this.metadata.getGender() == PonyGender.STALLION) {
|
||||||
for (i = 0; i < this.MuzzleMale.length; ++i) {
|
for (i = 0; i < this.MuzzleMale.length; ++i) {
|
||||||
this.MuzzleMale[i].rotateAngleY = headRotateAngleY;
|
this.MuzzleMale[i].rotateAngleY = headRotateAngleY;
|
||||||
this.MuzzleMale[i].rotateAngleX = headRotateAngleX;
|
this.MuzzleMale[i].rotateAngleX = headRotateAngleX;
|
||||||
|
@ -336,7 +334,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
float leftArmRotateAngleX;
|
float leftArmRotateAngleX;
|
||||||
float rightLegRotateAngleX;
|
float rightLegRotateAngleX;
|
||||||
float leftLegRotateAngleX;
|
float leftLegRotateAngleX;
|
||||||
if (this.isFlying && this.isPegasus) {
|
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||||
if (this.rainboom) {
|
if (this.rainboom) {
|
||||||
rightArmRotateAngleX = ROTATE_270;
|
rightArmRotateAngleX = ROTATE_270;
|
||||||
leftArmRotateAngleX = ROTATE_270;
|
leftArmRotateAngleX = ROTATE_270;
|
||||||
|
@ -429,7 +427,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
|
|
||||||
protected void swingTailZ(float move, float swing) {
|
protected void swingTailZ(float move, float swing) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
this.tailstop = this.Tail.length - this.wantTail * 5;
|
this.tailstop = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||||
if (this.tailstop <= 1) {
|
if (this.tailstop <= 1) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
}
|
}
|
||||||
|
@ -447,7 +445,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
protected void swingTailX(float tick) {
|
protected void swingTailX(float tick) {
|
||||||
float sinTickFactor = MathHelper.sin(tick * 0.067F) * 0.05F;
|
float sinTickFactor = MathHelper.sin(tick * 0.067F) * 0.05F;
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
this.tailstop = this.Tail.length - this.wantTail * 5;
|
this.tailstop = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||||
if (this.tailstop <= 1) {
|
if (this.tailstop <= 1) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
}
|
}
|
||||||
|
@ -459,7 +457,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void holdItem() {
|
protected void holdItem() {
|
||||||
if (this.heldItemRight != 0 && !this.rainboom && (!this.isUnicorn || this.glowColor == 0)) {
|
if (this.heldItemRight != 0 && !this.rainboom && (!this.metadata.getRace().hasHorn() || this.metadata.getGlowColor() == 0)) {
|
||||||
this.bipedRightArm.rotateAngleX = this.bipedRightArm.rotateAngleX * 0.5F - 0.3141593F;
|
this.bipedRightArm.rotateAngleX = this.bipedRightArm.rotateAngleX * 0.5F - 0.3141593F;
|
||||||
this.SteveArm.rotateAngleX = this.SteveArm.rotateAngleX * 0.5F - 0.3141593F;
|
this.SteveArm.rotateAngleX = this.SteveArm.rotateAngleX * 0.5F - 0.3141593F;
|
||||||
}
|
}
|
||||||
|
@ -474,7 +472,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
float f22 = MathHelper.sin(f16 * 3.1415927F);
|
float f22 = MathHelper.sin(f16 * 3.1415927F);
|
||||||
float f28 = MathHelper.sin(swingProgress * 3.1415927F);
|
float f28 = MathHelper.sin(swingProgress * 3.1415927F);
|
||||||
float f33 = f28 * -(this.bipedHead.rotateAngleX - 0.7F) * 0.75F;
|
float f33 = f28 * -(this.bipedHead.rotateAngleX - 0.7F) * 0.75F;
|
||||||
if (this.isUnicorn && this.glowColor != 0 && this.heldItemRight != 0) {
|
if (this.metadata.getRace().hasHorn() && this.metadata.getGlowColor() != 0 && this.heldItemRight != 0) {
|
||||||
this.unicornarm.rotateAngleX = (float) (this.unicornarm.rotateAngleX
|
this.unicornarm.rotateAngleX = (float) (this.unicornarm.rotateAngleX
|
||||||
- (f22 * 1.2D + f33));
|
- (f22 * 1.2D + f33));
|
||||||
this.unicornarm.rotateAngleY += this.bipedBody.rotateAngleY * 2.0F;
|
this.unicornarm.rotateAngleY += this.bipedBody.rotateAngleY * 2.0F;
|
||||||
|
@ -498,7 +496,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
if (this.heldItemRight != 0 && !this.isSleeping) {
|
if (this.heldItemRight != 0 && !this.isSleeping) {
|
||||||
float cosTickFactor = MathHelper.cos(tick * 0.09F) * 0.05F + 0.05F;
|
float cosTickFactor = MathHelper.cos(tick * 0.09F) * 0.05F + 0.05F;
|
||||||
float sinTickFactor = MathHelper.sin(tick * 0.067F) * 0.05F;
|
float sinTickFactor = MathHelper.sin(tick * 0.067F) * 0.05F;
|
||||||
if (this.isUnicorn && this.glowColor != 0) {
|
if (this.metadata.getRace().hasHorn() && this.metadata.getGlowColor() != 0) {
|
||||||
this.unicornarm.rotateAngleZ += cosTickFactor;
|
this.unicornarm.rotateAngleZ += cosTickFactor;
|
||||||
this.unicornarm.rotateAngleX += sinTickFactor;
|
this.unicornarm.rotateAngleX += sinTickFactor;
|
||||||
} else {
|
} else {
|
||||||
|
@ -564,7 +562,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
|
|
||||||
protected void sneakTail() {
|
protected void sneakTail() {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
this.tailstop = this.Tail.length - this.wantTail * 5;
|
this.tailstop = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||||
if (this.tailstop <= 1) {
|
if (this.tailstop <= 1) {
|
||||||
this.tailstop = 0;
|
this.tailstop = 0;
|
||||||
}
|
}
|
||||||
|
@ -602,7 +600,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void aimBow(float tick) {
|
protected void aimBow(float tick) {
|
||||||
if (this.isUnicorn && this.glowColor != 0) {
|
if (this.metadata.getRace().hasHorn() && this.metadata.getGlowColor() != 0) {
|
||||||
this.aimBowUnicorn(tick);
|
this.aimBowUnicorn(tick);
|
||||||
} else {
|
} else {
|
||||||
this.aimBowPony(tick);
|
this.aimBowPony(tick);
|
||||||
|
@ -749,7 +747,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
rotate(180.0F, 0.0F, 1.0F, 0.0F);
|
rotate(180.0F, 0.0F, 1.0F, 0.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.size == 0) {
|
if (this.metadata.getSize() == PonySize.FOAL) {
|
||||||
if (this.issneak && !this.isFlying && !this.isArmour) {
|
if (this.issneak && !this.isFlying && !this.isArmour) {
|
||||||
translate(0.0F, -0.12F, 0.0F);
|
translate(0.0F, -0.12F, 0.0F);
|
||||||
}
|
}
|
||||||
|
@ -790,7 +788,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.renderLegs();
|
this.renderLegs();
|
||||||
popMatrix();
|
popMatrix();
|
||||||
|
|
||||||
} else if (this.size == 2) {
|
} else if (this.metadata.getSize() == PonySize.LARGE) {
|
||||||
if (this.isSleeping && !this.isArmour) {
|
if (this.isSleeping && !this.isArmour) {
|
||||||
translate(0.0F, -0.47F, 0.2F);
|
translate(0.0F, -0.47F, 0.2F);
|
||||||
}
|
}
|
||||||
|
@ -829,7 +827,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
scale(1.15F, 1.12F, 1.15F);
|
scale(1.15F, 1.12F, 1.15F);
|
||||||
this.renderLegs();
|
this.renderLegs();
|
||||||
popMatrix();
|
popMatrix();
|
||||||
} else if (this.size == 3) {
|
} else if (this.metadata.getSize() == PonySize.PRINCESS) {
|
||||||
if (this.isSleeping && !this.isArmour) {
|
if (this.isSleeping && !this.isArmour) {
|
||||||
translate(0.0F, -0.43F, 0.25F);
|
translate(0.0F, -0.43F, 0.25F);
|
||||||
}
|
}
|
||||||
|
@ -886,7 +884,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.headpiece[1].render(this.scale);
|
this.headpiece[1].render(this.scale);
|
||||||
if (MineLittlePony.getConfig().getSnuzzles().get()) {
|
if (MineLittlePony.getConfig().getSnuzzles().get()) {
|
||||||
int red;
|
int red;
|
||||||
if (this.isMale) {
|
if (this.metadata.getGender() == PonyGender.STALLION) {
|
||||||
for (red = 0; red < this.MuzzleMale.length; ++red) {
|
for (red = 0; red < this.MuzzleMale.length; ++red) {
|
||||||
this.MuzzleMale[red].render(this.scale);
|
this.MuzzleMale[red].render(this.scale);
|
||||||
}
|
}
|
||||||
|
@ -898,16 +896,16 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.bipedHeadwear.render(this.scale);
|
this.bipedHeadwear.render(this.scale);
|
||||||
if (this.isUnicorn) {
|
if (this.metadata.getRace().hasHorn()) {
|
||||||
this.headpiece[2].render(this.scale);
|
this.headpiece[2].render(this.scale);
|
||||||
if (this.heldItemRight != 0 && this.glowColor != 0) {
|
if (this.heldItemRight != 0 && this.metadata.getGlowColor() != 0) {
|
||||||
GL11.glPushAttrib(24577);
|
GL11.glPushAttrib(24577);
|
||||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
GL11.glEnable(GL11.GL_BLEND);
|
GL11.glEnable(GL11.GL_BLEND);
|
||||||
float var4 = (this.glowColor >> 16 & 255) / 255.0F;
|
float var4 = (this.metadata.getGlowColor() >> 16 & 255) / 255.0F;
|
||||||
float green = (this.glowColor >> 8 & 255) / 255.0F;
|
float green = (this.metadata.getGlowColor() >> 8 & 255) / 255.0F;
|
||||||
float blue = (this.glowColor & 255) / 255.0F;
|
float blue = (this.metadata.getGlowColor() & 255) / 255.0F;
|
||||||
blendFunc(GL11.GL_SRC_ALPHA, 1);
|
blendFunc(GL11.GL_SRC_ALPHA, 1);
|
||||||
color(var4, green, blue, 0.4F);
|
color(var4, green, blue, 0.4F);
|
||||||
this.hornglow[0].render(this.scale);
|
this.hornglow[0].render(this.scale);
|
||||||
|
@ -936,19 +934,22 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
this.Bodypiece[k1].render(this.scale);
|
this.Bodypiece[k1].render(this.scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isVillager) {
|
// TODO: villager data
|
||||||
if (this.villagerProfession < 2) {
|
//@formatter:off
|
||||||
for (k1 = 0; k1 < this.VillagerBagPiece.length; ++k1) {
|
// if (this.metadata.isVillager()) {
|
||||||
this.VillagerBagPiece[k1].render(this.scale);
|
// if (this.metadata.getVillagerProfession() < 2) {
|
||||||
}
|
// for (k1 = 0; k1 < this.VillagerBagPiece.length; ++k1) {
|
||||||
} else if (this.villagerProfession == 2) {
|
// this.VillagerBagPiece[k1].render(this.scale);
|
||||||
this.VillagerTrinket.render(this.scale);
|
// }
|
||||||
} else if (this.villagerProfession > 2) {
|
// } else if (this.metadata.getVillagerProfession() == 2) {
|
||||||
this.VillagerApron.render(this.scale);
|
// this.VillagerTrinket.render(this.scale);
|
||||||
}
|
// } else if (this.metadata.getVillagerProfession() > 2) {
|
||||||
}
|
// this.VillagerApron.render(this.scale);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//@formatter:on
|
||||||
|
|
||||||
if (this.isPegasus) {
|
if (this.metadata.getRace().hasWings()) {
|
||||||
if (!this.isFlying && !this.issneak) {
|
if (!this.isFlying && !this.issneak) {
|
||||||
this.setExtendingWings(true);
|
this.setExtendingWings(true);
|
||||||
|
|
||||||
|
@ -975,7 +976,7 @@ public class pm_newPonyAdv extends ModelPony {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void renderTail() {
|
protected void renderTail() {
|
||||||
int var3 = this.Tail.length - this.wantTail * 5;
|
int var3 = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||||
if (var3 <= 1) {
|
if (var3 <= 1) {
|
||||||
var3 = 0;
|
var3 = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,16 @@
|
||||||
package com.brohoof.minelittlepony.model.pony;
|
package com.brohoof.minelittlepony.model.pony;
|
||||||
|
|
||||||
import static net.minecraft.client.renderer.GlStateManager.*;
|
import static net.minecraft.client.renderer.GlStateManager.popMatrix;
|
||||||
|
import static net.minecraft.client.renderer.GlStateManager.pushMatrix;
|
||||||
|
import static net.minecraft.client.renderer.GlStateManager.scale;
|
||||||
|
import static net.minecraft.client.renderer.GlStateManager.translate;
|
||||||
|
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
|
|
||||||
public class pm_skeletonPony extends pm_newPonyAdv {
|
public class pm_skeletonPony extends pm_newPonyAdv {
|
||||||
|
|
||||||
public pm_skeletonPony(String texture) {
|
public pm_skeletonPony() {
|
||||||
super(texture);
|
metadata.setGlowColor(0xff6666dd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -18,7 +21,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
||||||
float leftLegRotateAngleX;
|
float leftLegRotateAngleX;
|
||||||
float var8;
|
float var8;
|
||||||
float var9;
|
float var9;
|
||||||
if (this.isFlying && this.isPegasus) {
|
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||||
if (this.rainboom) {
|
if (this.rainboom) {
|
||||||
rightArmRotateAngleX = ROTATE_270;
|
rightArmRotateAngleX = ROTATE_270;
|
||||||
leftArmRotateAngleX = ROTATE_270;
|
leftArmRotateAngleX = ROTATE_270;
|
||||||
|
@ -71,7 +74,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
||||||
if (this.heldItemRight != 0) {
|
if (this.heldItemRight != 0) {
|
||||||
var8 = MathHelper.sin(this.swingProgress * 3.1415927F);
|
var8 = MathHelper.sin(this.swingProgress * 3.1415927F);
|
||||||
var9 = MathHelper.sin((1.0F - (1.0F - this.swingProgress) * (1.0F - this.swingProgress)) * 3.1415927F);
|
var9 = MathHelper.sin((1.0F - (1.0F - this.swingProgress) * (1.0F - this.swingProgress)) * 3.1415927F);
|
||||||
if (this.glowColor == 0) {
|
if (this.metadata.getGlowColor() == 0) {
|
||||||
this.bipedRightArm.rotateAngleZ = 0.0F;
|
this.bipedRightArm.rotateAngleZ = 0.0F;
|
||||||
this.bipedRightArm.rotateAngleY = 0.1F - var8 * 0.6F;
|
this.bipedRightArm.rotateAngleY = 0.1F - var8 * 0.6F;
|
||||||
this.bipedRightArm.rotateAngleX = -1.5707964F;
|
this.bipedRightArm.rotateAngleX = -1.5707964F;
|
||||||
|
@ -95,7 +98,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void fixSpecialRotationPoints(float move) {
|
protected void fixSpecialRotationPoints(float move) {
|
||||||
if (this.heldItemRight != 0 && this.glowColor == 0) {
|
if (this.heldItemRight != 0 && this.metadata.getGlowColor() == 0) {
|
||||||
this.setRotationPoint(this.bipedRightArm, -1.5F, 9.5F, 4.0F);
|
this.setRotationPoint(this.bipedRightArm, -1.5F, 9.5F, 4.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,7 +113,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
||||||
popMatrix();
|
popMatrix();
|
||||||
|
|
||||||
pushMatrix();
|
pushMatrix();
|
||||||
if (this.heldItemRight != 0 && this.glowColor == 0) {
|
if (this.heldItemRight != 0 && this.metadata.getGlowColor() == 0) {
|
||||||
translate(-0.1F, 0.3F, 0.1F);
|
translate(-0.1F, 0.3F, 0.1F);
|
||||||
scale(0.5F, 0.5F, 1.2F);
|
scale(0.5F, 0.5F, 1.2F);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -6,10 +6,6 @@ import net.minecraft.util.MathHelper;
|
||||||
|
|
||||||
public class pm_zombiePony extends pm_newPonyAdv {
|
public class pm_zombiePony extends pm_newPonyAdv {
|
||||||
|
|
||||||
public pm_zombiePony(String texture) {
|
|
||||||
super(texture);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void rotateLegs(float move, float swing, float tick) {
|
protected void rotateLegs(float move, float swing, float tick) {
|
||||||
float rightArmRotateAngleX;
|
float rightArmRotateAngleX;
|
||||||
|
@ -18,7 +14,7 @@ public class pm_zombiePony extends pm_newPonyAdv {
|
||||||
float leftLegRotateAngleX;
|
float leftLegRotateAngleX;
|
||||||
float var8;
|
float var8;
|
||||||
float var9;
|
float var9;
|
||||||
if (this.isFlying && this.isPegasus) {
|
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||||
if (this.rainboom) {
|
if (this.rainboom) {
|
||||||
rightArmRotateAngleX = ROTATE_270;
|
rightArmRotateAngleX = ROTATE_270;
|
||||||
leftArmRotateAngleX = ROTATE_270;
|
leftArmRotateAngleX = ROTATE_270;
|
||||||
|
|
|
@ -4,15 +4,14 @@ import static net.minecraft.client.renderer.GlStateManager.scale;
|
||||||
|
|
||||||
import com.brohoof.minelittlepony.MineLittlePony;
|
import com.brohoof.minelittlepony.MineLittlePony;
|
||||||
import com.brohoof.minelittlepony.Pony;
|
import com.brohoof.minelittlepony.Pony;
|
||||||
|
import com.brohoof.minelittlepony.PonySize;
|
||||||
import com.brohoof.minelittlepony.model.PMAPI;
|
import com.brohoof.minelittlepony.model.PMAPI;
|
||||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||||
import com.brohoof.minelittlepony.model.pony.pm_Human;
|
import com.brohoof.minelittlepony.model.pony.pm_Human;
|
||||||
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
|
||||||
import com.brohoof.minelittlepony.renderer.layer.LayerHeldPonyItem;
|
import com.brohoof.minelittlepony.renderer.layer.LayerHeldPonyItem;
|
||||||
import com.brohoof.minelittlepony.renderer.layer.LayerPonyArmor;
|
import com.brohoof.minelittlepony.renderer.layer.LayerPonyArmor;
|
||||||
import com.brohoof.minelittlepony.renderer.layer.LayerPonyCape;
|
import com.brohoof.minelittlepony.renderer.layer.LayerPonyCape;
|
||||||
import com.brohoof.minelittlepony.renderer.layer.LayerPonySkull;
|
import com.brohoof.minelittlepony.renderer.layer.LayerPonySkull;
|
||||||
import com.brohoof.minelittlepony.util.MineLPPrivateFields;
|
|
||||||
import com.mumfrey.liteloader.transformers.AppendInsns;
|
import com.mumfrey.liteloader.transformers.AppendInsns;
|
||||||
import com.mumfrey.liteloader.transformers.Obfuscated;
|
import com.mumfrey.liteloader.transformers.Obfuscated;
|
||||||
|
|
||||||
|
@ -31,6 +30,7 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private static RenderPlayer __TARGET;
|
private static RenderPlayer __TARGET;
|
||||||
private PlayerModel playerModel;
|
private PlayerModel playerModel;
|
||||||
|
private Pony thePony;
|
||||||
|
|
||||||
private RenderPony(RenderManager renderManager) {
|
private RenderPony(RenderManager renderManager) {
|
||||||
super(renderManager, null, 0.5F);
|
super(renderManager, null, 0.5F);
|
||||||
|
@ -40,8 +40,8 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
||||||
@AppendInsns("<init>")
|
@AppendInsns("<init>")
|
||||||
private void init(RenderManager renderManager, boolean useSmallArms) {
|
private void init(RenderManager renderManager, boolean useSmallArms) {
|
||||||
this.playerModel = PMAPI.newPonyAdv;
|
this.playerModel = PMAPI.newPonyAdv;
|
||||||
this.mainModel = this.playerModel.model;
|
this.mainModel = this.playerModel.getModel();
|
||||||
this.shadowSize = this.playerModel.shadowsize;
|
this.shadowSize = this.playerModel.getShadowsize();
|
||||||
this.layerRenderers.clear();
|
this.layerRenderers.clear();
|
||||||
|
|
||||||
this.addLayer(new LayerPonyArmor(this));
|
this.addLayer(new LayerPonyArmor(this));
|
||||||
|
@ -54,42 +54,41 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
||||||
@Obfuscated({ "a", "func_180596_a" })
|
@Obfuscated({ "a", "func_180596_a" })
|
||||||
public void doRender(AbstractClientPlayer player, double x, double y, double z, float yaw, float partialTicks) {
|
public void doRender(AbstractClientPlayer player, double x, double y, double z, float yaw, float partialTicks) {
|
||||||
ItemStack currentItemStack = player.inventory.getCurrentItem();
|
ItemStack currentItemStack = player.inventory.getCurrentItem();
|
||||||
Pony thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
this.thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
||||||
|
thePony.checkSkin();
|
||||||
this.playerModel = this.getModel(player);
|
this.playerModel = this.getModel(player);
|
||||||
this.mainModel = this.playerModel.model;
|
this.mainModel = this.playerModel.getModel();
|
||||||
this.playerModel.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = currentItemStack == null
|
this.playerModel.getArmor().modelArmorChestplate.heldItemRight = this.playerModel.getArmor().modelArmor.heldItemRight = this.playerModel
|
||||||
? 0 : 1;
|
.getModel().heldItemRight = currentItemStack == null ? 0 : 1;
|
||||||
|
this.playerModel.apply(thePony.metadata);
|
||||||
if (currentItemStack != null && player.getItemInUseCount() > 0) {
|
if (currentItemStack != null && player.getItemInUseCount() > 0) {
|
||||||
EnumAction yOrigin = currentItemStack.getItemUseAction();
|
EnumAction yOrigin = currentItemStack.getItemUseAction();
|
||||||
if (yOrigin == EnumAction.BLOCK) {
|
if (yOrigin == EnumAction.BLOCK) {
|
||||||
this.playerModel.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = 3;
|
this.playerModel.getArmor().modelArmorChestplate.heldItemRight = this.playerModel.getArmor().modelArmor.heldItemRight = this.playerModel
|
||||||
|
.getModel().heldItemRight = 3;
|
||||||
} else if (yOrigin == EnumAction.BOW) {
|
} else if (yOrigin == EnumAction.BOW) {
|
||||||
this.playerModel.armor.modelArmorChestplate.aimedBow = this.playerModel.armor.modelArmor.aimedBow = this.playerModel.model.aimedBow = true;
|
this.playerModel.getArmor().modelArmorChestplate.aimedBow = this.playerModel.getArmor().modelArmor.aimedBow = this.playerModel
|
||||||
|
.getModel().aimedBow = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.playerModel.armor.modelArmorChestplate.issneak = this.playerModel.armor.modelArmor.issneak = this.playerModel.model.issneak = player.isSneaking();
|
this.playerModel.getArmor().modelArmorChestplate.issneak = this.playerModel.getArmor().modelArmor.issneak = this.playerModel.getModel().issneak = player
|
||||||
this.playerModel.armor.modelArmorChestplate.isFlying = this.playerModel.armor.modelArmor.isFlying = this.playerModel.model.isFlying = thePony.isFlying = thePony
|
.isSneaking();
|
||||||
.isPegasusFlying(player.posX, player.posY, player.posZ, player.fallDistance,
|
this.playerModel
|
||||||
MineLPPrivateFields.isJumping.get(player).booleanValue(), player.onGround, this.renderManager.worldObj);
|
.getArmor().modelArmorChestplate.isFlying = this.playerModel.getArmor().modelArmor.isFlying = this.playerModel.getModel().isFlying = thePony
|
||||||
this.playerModel.armor.modelArmorChestplate.isPegasus = this.playerModel.armor.modelArmor.isPegasus = this.playerModel.model.isPegasus = thePony
|
.isPegasusFlying(player);
|
||||||
.isPegasus();
|
// , this.renderManager.worldObj);
|
||||||
if (this.playerModel.model instanceof pm_newPonyAdv) {
|
|
||||||
((pm_newPonyAdv) this.playerModel.model).setHasWings_Compression(thePony.isPegasus());
|
|
||||||
}
|
|
||||||
|
|
||||||
this.playerModel.armor.modelArmorChestplate.isUnicorn = this.playerModel.armor.modelArmor.isUnicorn = this.playerModel.model.isUnicorn = thePony.isUnicorn();
|
|
||||||
this.playerModel.armor.modelArmorChestplate.isMale = this.playerModel.armor.modelArmor.isMale = this.playerModel.model.isMale = thePony.isMale();
|
|
||||||
this.playerModel.armor.modelArmorChestplate.size = this.playerModel.armor.modelArmor.size = this.playerModel.model.size = thePony.size();
|
|
||||||
if (MineLittlePony.getConfig().getShowScale().get()) {
|
if (MineLittlePony.getConfig().getShowScale().get()) {
|
||||||
if (this.playerModel != PMAPI.human) {
|
if (this.playerModel != PMAPI.human) {
|
||||||
if (thePony.size() == 0) {
|
PonySize size = thePony.metadata.getSize();
|
||||||
|
if (size == PonySize.FOAL)
|
||||||
this.shadowSize = 0.25F;
|
this.shadowSize = 0.25F;
|
||||||
} else if (thePony.size() == 1) {
|
else if (size == PonySize.NORMAL)
|
||||||
this.shadowSize = 0.4F;
|
this.shadowSize = 0.4F;
|
||||||
} else if (thePony.size() == 2) {
|
else if (size == PonySize.PRINCESS)
|
||||||
this.shadowSize = 0.45F;
|
this.shadowSize = 0.45F;
|
||||||
} else if (thePony.size() == 3) {
|
else
|
||||||
this.shadowSize = 0.5F;
|
this.shadowSize = 0.5F;
|
||||||
} else {
|
} else {
|
||||||
this.shadowSize = 0.5F;
|
this.shadowSize = 0.5F;
|
||||||
|
@ -97,38 +96,40 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
||||||
} else {
|
} else {
|
||||||
this.shadowSize = 0.5F;
|
this.shadowSize = 0.5F;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
this.shadowSize = 0.5F;
|
|
||||||
}
|
|
||||||
|
|
||||||
double yOrigin1 = y;
|
double yOrigin1 = y;
|
||||||
if (player.isSneaking() && !(player instanceof EntityPlayerSP)) {
|
if (player.isSneaking() && !(player instanceof EntityPlayerSP)) {
|
||||||
yOrigin1 -= 0.125D;
|
yOrigin1 -= 0.125D;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.playerModel.model.glowColor = thePony.glowColor();
|
this.playerModel.getArmor().modelArmorChestplate.isSleeping = this.playerModel.getArmor().modelArmor.isSleeping = this.playerModel
|
||||||
this.playerModel.armor.modelArmorChestplate.isSleeping = this.playerModel.armor.modelArmor.isSleeping = this.playerModel.model.isSleeping = player.isPlayerSleeping();
|
.getModel().isSleeping = player.isPlayerSleeping();
|
||||||
this.playerModel.armor.modelArmorChestplate.swingProgress = this.playerModel.armor.modelArmor.swingProgress = this.playerModel.model.swingProgress;
|
this.playerModel.getArmor().modelArmorChestplate.swingProgress = this.playerModel.getArmor().modelArmor.swingProgress = this.playerModel
|
||||||
this.playerModel.model.wantTail = thePony.wantTail();
|
.getModel().swingProgress;
|
||||||
this.playerModel.armor.modelArmorChestplate.isVillager = this.playerModel.armor.modelArmor.isVillager = this.playerModel.model.isVillager = false;
|
this.playerModel.getArmor().modelArmorChestplate.isVillager = this.playerModel.getArmor().modelArmor.isVillager = this.playerModel
|
||||||
|
.getModel().isVillager = false;
|
||||||
|
|
||||||
super.doRender(player, x, yOrigin1, z, yaw, partialTicks);
|
super.doRender(player, x, yOrigin1, z, yaw, partialTicks);
|
||||||
this.playerModel.armor.modelArmorChestplate.aimedBow = this.playerModel.armor.modelArmor.aimedBow = this.playerModel.model.aimedBow = false;
|
|
||||||
this.playerModel.armor.modelArmorChestplate.issneak = this.playerModel.armor.modelArmor.issneak = this.playerModel.model.issneak = false;
|
this.playerModel
|
||||||
this.playerModel.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = 0;
|
.getArmor().modelArmorChestplate.aimedBow = this.playerModel.getArmor().modelArmor.aimedBow = this.playerModel.getModel().aimedBow = false;
|
||||||
|
this.playerModel.getArmor().modelArmorChestplate.issneak = this.playerModel.getArmor().modelArmor.issneak = this.playerModel.getModel().issneak = false;
|
||||||
|
this.playerModel.getArmor().modelArmorChestplate.heldItemRight = this.playerModel.getArmor().modelArmor.heldItemRight = this.playerModel
|
||||||
|
.getModel().heldItemRight = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@AppendInsns("renderLivingAt")
|
@AppendInsns("renderLivingAt")
|
||||||
@Obfuscated({ "a", "func_77039_a" })
|
@Obfuscated({ "a", "func_77039_a" })
|
||||||
public void setupPlayerScale(AbstractClientPlayer player, double xPosition, double yPosition, double zPosition) {
|
public void setupPlayerScale(AbstractClientPlayer player, double xPosition, double yPosition, double zPosition) {
|
||||||
|
|
||||||
if (MineLittlePony.getConfig().getShowScale().get() && !(playerModel.model instanceof pm_Human)) {
|
if (MineLittlePony.getConfig().getShowScale().get() && !(playerModel.getModel() instanceof pm_Human)) {
|
||||||
if (this.playerModel.model.size == 2) {
|
PonySize size = thePony.metadata.getSize();
|
||||||
|
if (size == PonySize.LARGE)
|
||||||
scale(0.9F, 0.9F, 0.9F);
|
scale(0.9F, 0.9F, 0.9F);
|
||||||
} else if (this.playerModel.model.size == 1 || this.playerModel.model.size == 0) {
|
else if (size == PonySize.NORMAL || size == PonySize.FOAL)
|
||||||
scale(0.8F, 0.8F, 0.8F);
|
scale(0.8F, 0.8F, 0.8F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceLocation getEntityTexture(AbstractClientPlayer player) {
|
public ResourceLocation getEntityTexture(AbstractClientPlayer player) {
|
||||||
Pony thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
Pony thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
package com.brohoof.minelittlepony.renderer;
|
package com.brohoof.minelittlepony.renderer;
|
||||||
|
|
||||||
import com.brohoof.minelittlepony.MineLittlePony;
|
import com.brohoof.minelittlepony.MineLittlePony;
|
||||||
|
import com.brohoof.minelittlepony.PonyGender;
|
||||||
|
import com.brohoof.minelittlepony.PonyRace;
|
||||||
|
import com.brohoof.minelittlepony.TailLengths;
|
||||||
import com.brohoof.minelittlepony.model.ModelPony;
|
import com.brohoof.minelittlepony.model.ModelPony;
|
||||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||||
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
||||||
|
@ -23,8 +26,8 @@ public abstract class RenderPonyMob<T extends EntityLiving> extends RenderLiving
|
||||||
protected PlayerModel playerModel;
|
protected PlayerModel playerModel;
|
||||||
|
|
||||||
public RenderPonyMob(RenderManager renderManager, PlayerModel playerModel) {
|
public RenderPonyMob(RenderManager renderManager, PlayerModel playerModel) {
|
||||||
super(renderManager, playerModel.model, playerModel.shadowsize);
|
super(renderManager, playerModel.getModel(), playerModel.getShadowsize());
|
||||||
this.mobModel = playerModel.model;
|
this.mobModel = playerModel.getModel();
|
||||||
this.playerModel = playerModel;
|
this.playerModel = playerModel;
|
||||||
|
|
||||||
this.addLayer(new LayerPonyArmor(this));
|
this.addLayer(new LayerPonyArmor(this));
|
||||||
|
@ -37,50 +40,46 @@ public abstract class RenderPonyMob<T extends EntityLiving> extends RenderLiving
|
||||||
public void doRender(EntityLiving entity, double xPosition, double yPosition, double zPosition, float yaw,
|
public void doRender(EntityLiving entity, double xPosition, double yPosition, double zPosition, float yaw,
|
||||||
float partialTicks) {
|
float partialTicks) {
|
||||||
ItemStack heldItem = entity.getHeldItem();
|
ItemStack heldItem = entity.getHeldItem();
|
||||||
this.playerModel.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = heldItem == null
|
this.playerModel.getArmor().modelArmorChestplate.heldItemRight = this.playerModel.getArmor().modelArmor.heldItemRight = this.playerModel
|
||||||
|
.getModel().heldItemRight = heldItem == null
|
||||||
? 0 : 1;
|
? 0 : 1;
|
||||||
if (entity.isChild()) {
|
|
||||||
this.playerModel.armor.modelArmorChestplate.size = this.playerModel.armor.modelArmor.size = this.playerModel.model.size = 0;
|
|
||||||
} else {
|
|
||||||
this.playerModel.armor.modelArmorChestplate.size = this.playerModel.armor.modelArmor.size = this.playerModel.model.size = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.playerModel.armor.modelArmorChestplate.issneak = this.playerModel.armor.modelArmor.issneak = this.playerModel.model.issneak = false;
|
this.playerModel.getArmor().modelArmorChestplate.issneak = this.playerModel.getArmor().modelArmor.issneak = this.playerModel.getModel().issneak = false;
|
||||||
this.playerModel.armor.modelArmorChestplate.isFlying = this.playerModel.armor.modelArmor.isFlying = this.playerModel.model.isFlying = false;
|
this.playerModel
|
||||||
this.playerModel.armor.modelArmorChestplate.isPegasus = this.playerModel.armor.modelArmor.isPegasus = this.playerModel.model.isPegasus = false;
|
.getArmor().modelArmorChestplate.isFlying = this.playerModel.getArmor().modelArmor.isFlying = this.playerModel.getModel().isFlying = false;
|
||||||
if (this.playerModel.model instanceof pm_newPonyAdv) {
|
|
||||||
((pm_newPonyAdv) this.playerModel.model).setHasWings_Compression(false);
|
if (this.playerModel.getModel() instanceof pm_newPonyAdv) {
|
||||||
|
((pm_newPonyAdv) this.playerModel.getModel()).setHasWings_Compression(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity instanceof EntitySkeleton) {
|
if (entity instanceof EntitySkeleton) {
|
||||||
this.playerModel.armor.modelArmorChestplate.glowColor = this.playerModel.armor.modelArmor.glowColor = this.playerModel.model.glowColor = 0;
|
|
||||||
switch (entity.getEntityId() % 3) {
|
switch (entity.getEntityId() % 3) {
|
||||||
case 0:
|
case 0:
|
||||||
this.playerModel.armor.modelArmorChestplate.glowColor = this.playerModel.armor.modelArmor.glowColor = this.playerModel.model.glowColor = -10066211;
|
|
||||||
case 1:
|
case 1:
|
||||||
this.playerModel.armor.modelArmorChestplate.isUnicorn = this.playerModel.armor.modelArmor.isUnicorn = this.playerModel.model.isUnicorn = true;
|
this.playerModel.getArmor().modelArmor.metadata.setRace(PonyRace.UNICORN);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
this.playerModel.armor.modelArmorChestplate.isUnicorn = this.playerModel.armor.modelArmor.isUnicorn = this.playerModel.model.isUnicorn = false;
|
this.playerModel.getArmor().modelArmor.metadata.setRace(PonyRace.EARTH);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.playerModel.armor.modelArmorChestplate.isUnicorn = this.playerModel.armor.modelArmor.isUnicorn = this.playerModel.model.isUnicorn = false;
|
this.playerModel.getArmor().modelArmor.metadata.setRace(PonyRace.EARTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity instanceof EntityPigZombie) {
|
if (entity instanceof EntityPigZombie) {
|
||||||
this.playerModel.armor.modelArmorChestplate.isMale = this.playerModel.armor.modelArmor.isMale = this.playerModel.model.isMale = true;
|
this.playerModel.getArmor().modelArmor.metadata.setGender(PonyGender.STALLION);
|
||||||
} else {
|
} else {
|
||||||
this.playerModel.armor.modelArmorChestplate.isMale = this.playerModel.armor.modelArmor.isMale = this.playerModel.model.isMale = false;
|
this.playerModel.getArmor().modelArmor.metadata.setGender(PonyGender.MARE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity instanceof EntitySkeleton) {
|
if (entity instanceof EntitySkeleton) {
|
||||||
this.playerModel.model.wantTail = 4;
|
this.playerModel.getModel().metadata.setTail(TailLengths.FULL);
|
||||||
} else {
|
} else {
|
||||||
this.playerModel.model.wantTail = 0;
|
this.playerModel.getModel().metadata.setTail(TailLengths.STUB);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.playerModel.armor.modelArmorChestplate.isSleeping = this.playerModel.armor.modelArmor.isSleeping = this.playerModel.model.isSleeping = false;
|
this.playerModel.getArmor().modelArmorChestplate.isSleeping = this.playerModel.getArmor().modelArmor.isSleeping = this.playerModel
|
||||||
this.playerModel.model.isVillager = false;
|
.getModel().isSleeping = false;
|
||||||
if (MineLittlePony.getConfig().getShowScale().get()) {
|
if (MineLittlePony.getConfig().getShowScale().get()) {
|
||||||
this.shadowSize = 0.4F;
|
this.shadowSize = 0.4F;
|
||||||
}
|
}
|
||||||
|
@ -91,9 +90,11 @@ public abstract class RenderPonyMob<T extends EntityLiving> extends RenderLiving
|
||||||
}
|
}
|
||||||
|
|
||||||
super.doRender(entity, xPosition, yOrigin, zPosition, yaw, partialTicks);
|
super.doRender(entity, xPosition, yOrigin, zPosition, yaw, partialTicks);
|
||||||
this.playerModel.armor.modelArmorChestplate.aimedBow = this.playerModel.armor.modelArmor.aimedBow = this.playerModel.model.aimedBow = false;
|
this.playerModel
|
||||||
this.playerModel.armor.modelArmorChestplate.issneak = this.playerModel.armor.modelArmor.issneak = this.playerModel.model.issneak = false;
|
.getArmor().modelArmorChestplate.aimedBow = this.playerModel.getArmor().modelArmor.aimedBow = this.playerModel.getModel().aimedBow = false;
|
||||||
this.playerModel.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = 0;
|
this.playerModel.getArmor().modelArmorChestplate.issneak = this.playerModel.getArmor().modelArmor.issneak = this.playerModel.getModel().issneak = false;
|
||||||
|
this.playerModel.getArmor().modelArmorChestplate.heldItemRight = this.playerModel.getArmor().modelArmor.heldItemRight = this.playerModel
|
||||||
|
.getModel().heldItemRight = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -119,13 +120,14 @@ public abstract class RenderPonyMob<T extends EntityLiving> extends RenderLiving
|
||||||
preRenderCallback((T) entitylivingbaseIn, partialTickTime);
|
preRenderCallback((T) entitylivingbaseIn, partialTickTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void rotateCorpse(T entity, float xPosition, float yPosition, float zPosition) {}
|
protected void rotateCorpse(T entity, float xPosition, float yPosition, float zPosition) {
|
||||||
|
super.rotateCorpse(entity, xPosition, yPosition, zPosition);
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
protected void rotateCorpse(EntityLivingBase entity, float xPosition, float yPosition, float zPosition) {
|
protected void rotateCorpse(EntityLivingBase entity, float xPosition, float yPosition, float zPosition) {
|
||||||
this.rotateCorpse((T) entity, xPosition, yPosition, zPosition);
|
this.rotateCorpse((T) entity, xPosition, yPosition, zPosition);
|
||||||
super.rotateCorpse(entity, xPosition, yPosition, zPosition);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -17,8 +17,8 @@ public class RenderPonySkeleton extends RenderPonyMob<EntitySkeleton> {
|
||||||
addLayer(new LayerBipedArmor(this) {
|
addLayer(new LayerBipedArmor(this) {
|
||||||
@Override
|
@Override
|
||||||
protected void initArmor() {
|
protected void initArmor() {
|
||||||
this.field_177189_c = PMAPI.skeletonPony.model;
|
this.field_177189_c = PMAPI.skeletonPony.getModel();
|
||||||
this.field_177186_d = PMAPI.skeletonPony.model;
|
this.field_177186_d = PMAPI.skeletonPony.getModel();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public class RenderPonySkeleton extends RenderPonyMob<EntitySkeleton> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getEntityTexture(EntitySkeleton skeleton) {
|
protected ResourceLocation getEntityTexture(EntitySkeleton skeleton) {
|
||||||
return skeleton.getSkeletonType() == 1 ? PonyManager.skeletonWitherPonyResource
|
return skeleton.getSkeletonType() == 1 ? PonyManager.WITHER_SKELETON
|
||||||
: PonyManager.skeletonPonyResource;
|
: PonyManager.SKELETON;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,10 +19,8 @@ public class RenderPonyVillager extends RenderPonyMob<EntityVillager> {
|
||||||
@Override
|
@Override
|
||||||
protected void preRenderCallback(EntityVillager villager, float partialTicks) {
|
protected void preRenderCallback(EntityVillager villager, float partialTicks) {
|
||||||
if (villager.getGrowingAge() < 0) {
|
if (villager.getGrowingAge() < 0) {
|
||||||
this.mobModel.size = 0;
|
|
||||||
this.shadowSize = 0.25F;
|
this.shadowSize = 0.25F;
|
||||||
} else {
|
} else {
|
||||||
this.mobModel.size = 1;
|
|
||||||
if (MineLittlePony.getConfig().getShowScale().get()) {
|
if (MineLittlePony.getConfig().getShowScale().get()) {
|
||||||
this.shadowSize = 0.4F;
|
this.shadowSize = 0.4F;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -23,9 +23,9 @@ public class RenderPonyZombie extends RenderPonyMob<EntityZombie> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getEntityTexture(EntityZombie zombie) {
|
protected ResourceLocation getEntityTexture(EntityZombie zombie) {
|
||||||
return zombie instanceof EntityPigZombie ? PonyManager.zombiePigmanPonyResource
|
return zombie instanceof EntityPigZombie ? PonyManager.PIGMAN
|
||||||
: (zombie.isVillager() ? PonyManager.zombieVillagerPonyResource
|
: (zombie.isVillager() ? PonyManager.ZOMBIE_VILLAGER
|
||||||
: PonyManager.zombiePonyResource);
|
: PonyManager.ZOMBIE);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import static net.minecraft.client.renderer.GlStateManager.*;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
import org.lwjgl.opengl.GL14;
|
import org.lwjgl.opengl.GL14;
|
||||||
|
|
||||||
|
import com.brohoof.minelittlepony.PonySize;
|
||||||
import com.brohoof.minelittlepony.model.PMAPI;
|
import com.brohoof.minelittlepony.model.PMAPI;
|
||||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||||
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
||||||
|
@ -48,20 +49,20 @@ public class LayerHeldPonyItem implements LayerRenderer {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pony.model.isSleeping) {
|
if (!pony.getModel().isSleeping) {
|
||||||
if (pony.model.isUnicorn && pony.model.glowColor != 0) {
|
if (pony.getModel().metadata.getRace().hasHorn() && pony.getModel().metadata.getGlowColor() != 0) {
|
||||||
pm_newPonyAdv model = (pm_newPonyAdv) pony.model;
|
pm_newPonyAdv model = (pm_newPonyAdv) pony.getModel();
|
||||||
if (pony.model.aimedBow) {
|
if (pony.getModel().aimedBow) {
|
||||||
renderDrop(pony, entity, model.unicornarm, 1.0F, 0.15F, 0.9375F, 0.0625F);
|
renderDrop(pony, entity, model.unicornarm, 1.0F, 0.15F, 0.9375F, 0.0625F);
|
||||||
} else if (pony.model.size == 0) {
|
} else if (pony.getModel().metadata.getSize() == PonySize.FOAL) {
|
||||||
renderDrop(pony, entity, model.unicornarm, 1.0F, 0.35F, 0.5375F, -0.8F);
|
renderDrop(pony, entity, model.unicornarm, 1.0F, 0.35F, 0.5375F, -0.8F);
|
||||||
} else {
|
} else {
|
||||||
renderDrop(pony, entity, model.unicornarm, 1.0F, 0.35F, 0.5375F, -0.45F);
|
renderDrop(pony, entity, model.unicornarm, 1.0F, 0.35F, 0.5375F, -0.45F);
|
||||||
}
|
}
|
||||||
} else if (pony.model.size == 0) {
|
} else if (pony.getModel().metadata.getSize() == PonySize.FOAL) {
|
||||||
renderDrop(pony, entity, pony.model.bipedRightArm, 1.0F, 0.08F, 0.8375F, 0.0625F);
|
renderDrop(pony, entity, pony.getModel().bipedRightArm, 1.0F, 0.08F, 0.8375F, 0.0625F);
|
||||||
} else {
|
} else {
|
||||||
renderDrop(pony, entity, pony.model.bipedRightArm, 1.0F, -0.0625F, 0.8375F, 0.0625F);
|
renderDrop(pony, entity, pony.getModel().bipedRightArm, 1.0F, -0.0625F, 0.8375F, 0.0625F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,8 +118,8 @@ public class LayerHeldPonyItem implements LayerRenderer {
|
||||||
color(var19, g, b, 1.0F);
|
color(var19, g, b, 1.0F);
|
||||||
Minecraft.getMinecraft().getItemRenderer().renderItem(entity, drop, TransformType.THIRD_PERSON);
|
Minecraft.getMinecraft().getItemRenderer().renderItem(entity, drop, TransformType.THIRD_PERSON);
|
||||||
|
|
||||||
if (pony.model.isUnicorn && pony.model.glowColor != 0) {
|
if (pony.getModel().metadata.getRace().hasHorn() && pony.getModel().metadata.getGlowColor() != 0) {
|
||||||
this.renderItemGlow(entity, drop, pony.model.glowColor);
|
this.renderItemGlow(entity, drop, pony.getModel().metadata.getGlowColor());
|
||||||
}
|
}
|
||||||
|
|
||||||
popMatrix();
|
popMatrix();
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class LayerPonyArmor implements LayerRenderer {
|
||||||
public void doRenderLayer(EntityLivingBase entity, float p_177141_2_, float p_177141_3_, float ticks,
|
public void doRenderLayer(EntityLivingBase entity, float p_177141_2_, float p_177141_3_, float ticks,
|
||||||
float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale) {
|
float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale) {
|
||||||
pony = ((IRenderPony) renderer).getPony();
|
pony = ((IRenderPony) renderer).getPony();
|
||||||
if (pony.model instanceof pm_Human) {
|
if (pony.getModel() instanceof pm_Human) {
|
||||||
humanArmor.doRenderLayer(entity, p_177141_2_, p_177141_3_, ticks, p_177141_5_, p_177141_6_, p_177141_7_,
|
humanArmor.doRenderLayer(entity, p_177141_2_, p_177141_3_, ticks, p_177141_5_, p_177141_6_, p_177141_7_,
|
||||||
scale);
|
scale);
|
||||||
} else {
|
} else {
|
||||||
|
@ -64,7 +64,7 @@ public class LayerPonyArmor implements LayerRenderer {
|
||||||
ItemArmor itemarmor = (ItemArmor) itemstack.getItem();
|
ItemArmor itemarmor = (ItemArmor) itemstack.getItem();
|
||||||
boolean isLegs = armorSlot == 3;
|
boolean isLegs = armorSlot == 3;
|
||||||
|
|
||||||
ModelPony modelbase = isLegs ? pony.armor.modelArmorChestplate : pony.armor.modelArmor;
|
ModelPony modelbase = isLegs ? pony.getArmor().modelArmorChestplate : pony.getArmor().modelArmor;
|
||||||
modelbase.setModelAttributes(this.renderer.getMainModel());
|
modelbase.setModelAttributes(this.renderer.getMainModel());
|
||||||
modelbase.setLivingAnimations(entitylivingbaseIn, p_177141_2_, p_177141_3_, partialTicks);
|
modelbase.setLivingAnimations(entitylivingbaseIn, p_177141_2_, p_177141_3_, partialTicks);
|
||||||
modelbase = getArmorModel(entitylivingbaseIn, itemstack, armorSlot, modelbase);
|
modelbase = getArmorModel(entitylivingbaseIn, itemstack, armorSlot, modelbase);
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.brohoof.minelittlepony.renderer.layer;
|
||||||
|
|
||||||
import static net.minecraft.client.renderer.GlStateManager.*;
|
import static net.minecraft.client.renderer.GlStateManager.*;
|
||||||
|
|
||||||
|
import com.brohoof.minelittlepony.PonySize;
|
||||||
import com.brohoof.minelittlepony.model.PMAPI;
|
import com.brohoof.minelittlepony.model.PMAPI;
|
||||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||||
import com.brohoof.minelittlepony.renderer.IRenderPony;
|
import com.brohoof.minelittlepony.renderer.IRenderPony;
|
||||||
|
@ -41,24 +42,24 @@ public class LayerPonyCape implements LayerRenderer {
|
||||||
|
|
||||||
pushMatrix();
|
pushMatrix();
|
||||||
translate(0.0F, 0.24F, 0.0F);
|
translate(0.0F, 0.24F, 0.0F);
|
||||||
if (model.model.size == 0) {
|
if (model.getModel().metadata.getSize() == PonySize.FOAL) {
|
||||||
translate(0.0F, 0.67F, -0.04F);
|
translate(0.0F, 0.67F, -0.04F);
|
||||||
scale(0.6F, 0.6F, 0.6F);
|
scale(0.6F, 0.6F, 0.6F);
|
||||||
} else if (model.model.size == 2) {
|
} else if (model.getModel().metadata.getSize() == PonySize.LARGE) {
|
||||||
translate(0.0F, -0.14F, -0.1F);
|
translate(0.0F, -0.14F, -0.1F);
|
||||||
scale(1.15F, 1.2F, 1.2F);
|
scale(1.15F, 1.2F, 1.2F);
|
||||||
if (model.model.issneak && !model.model.isFlying) {
|
if (model.getModel().issneak && !model.getModel().isFlying) {
|
||||||
translate(0.0F, 0.03F, 0.0F);
|
translate(0.0F, 0.03F, 0.0F);
|
||||||
}
|
}
|
||||||
} else if (model.model.size == 3) {
|
} else if (model.getModel().metadata.getSize() == PonySize.PRINCESS) {
|
||||||
translate(0.0F, -0.09F, 0.0F);
|
translate(0.0F, -0.09F, 0.0F);
|
||||||
scale(1.0F, 1.0F, 1.0F);
|
scale(1.0F, 1.0F, 1.0F);
|
||||||
if (model.model.issneak && !model.model.isFlying) {
|
if (model.getModel().issneak && !model.getModel().isFlying) {
|
||||||
translate(0.0F, 0.03F, 0.0F);
|
translate(0.0F, 0.03F, 0.0F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model.model.issneak && !model.model.isFlying) {
|
if (model.getModel().issneak && !model.getModel().isFlying) {
|
||||||
translate(0.0F, 0.4F, -0.12F);
|
translate(0.0F, 0.4F, -0.12F);
|
||||||
}
|
}
|
||||||
double d = clientPlayer.prevChasingPosX + (clientPlayer.chasingPosX - clientPlayer.prevChasingPosX) * scale
|
double d = clientPlayer.prevChasingPosX + (clientPlayer.chasingPosX - clientPlayer.prevChasingPosX) * scale
|
||||||
|
@ -100,7 +101,7 @@ public class LayerPonyCape implements LayerRenderer {
|
||||||
rotate(180.0F, 0.0F, 0.0F, 1.0F);
|
rotate(180.0F, 0.0F, 0.0F, 1.0F);
|
||||||
rotate(90.0F, 1.0F, 0.0F, 0.0F);
|
rotate(90.0F, 1.0F, 0.0F, 0.0F);
|
||||||
this.renderer.bindTexture(clientPlayer.getLocationCape());
|
this.renderer.bindTexture(clientPlayer.getLocationCape());
|
||||||
model.model.renderCape(0.0625F);
|
model.getModel().renderCape(0.0625F);
|
||||||
popMatrix();
|
popMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.brohoof.minelittlepony.renderer.layer;
|
||||||
|
|
||||||
import static net.minecraft.client.renderer.GlStateManager.*;
|
import static net.minecraft.client.renderer.GlStateManager.*;
|
||||||
|
|
||||||
|
import com.brohoof.minelittlepony.PonySize;
|
||||||
import com.brohoof.minelittlepony.model.ModelPony;
|
import com.brohoof.minelittlepony.model.ModelPony;
|
||||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||||
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
||||||
|
@ -38,7 +39,7 @@ public class LayerPonySkull implements LayerRenderer {
|
||||||
float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale) {
|
float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale) {
|
||||||
ItemStack itemstack = entity.getCurrentArmor(3);
|
ItemStack itemstack = entity.getCurrentArmor(3);
|
||||||
if (itemstack != null && itemstack.getItem() != null) {
|
if (itemstack != null && itemstack.getItem() != null) {
|
||||||
ModelPony model = getModel().model;
|
ModelPony model = getModel().getModel();
|
||||||
Item item = itemstack.getItem();
|
Item item = itemstack.getItem();
|
||||||
|
|
||||||
pushMatrix();
|
pushMatrix();
|
||||||
|
@ -48,7 +49,7 @@ public class LayerPonySkull implements LayerRenderer {
|
||||||
scale(0.7, 0.7, 0.7);
|
scale(0.7, 0.7, 0.7);
|
||||||
}
|
}
|
||||||
if (model instanceof pm_newPonyAdv) {
|
if (model instanceof pm_newPonyAdv) {
|
||||||
if (model.size == 0) {
|
if (model.metadata.getSize() == PonySize.FOAL) {
|
||||||
translate(0.0F, 0.76F, 0.0F);
|
translate(0.0F, 0.76F, 0.0F);
|
||||||
scale(0.9, 0.9, 0.9);
|
scale(0.9, 0.9, 0.9);
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Loading…
Reference in a new issue