mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2024-11-25 13:57: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;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
@ -14,38 +13,19 @@ import net.minecraft.client.Minecraft;
|
|||
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||
import net.minecraft.client.renderer.ThreadDownloadImageData;
|
||||
import net.minecraft.client.renderer.texture.ITextureObject;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class Pony {
|
||||
|
||||
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 final int ponyId = ponyCount++;
|
||||
|
||||
public ResourceLocation textureResourceLocation;
|
||||
public PonyData metadata = new PonyData();
|
||||
|
||||
private int skinCheckCount;
|
||||
private boolean skinChecked;
|
||||
private boolean newSkinSize;
|
||||
|
@ -65,7 +45,6 @@ public class Pony {
|
|||
}
|
||||
|
||||
public void invalidateSkinCheck() {
|
||||
this.resetValues();
|
||||
this.skinChecked = false;
|
||||
}
|
||||
|
||||
|
@ -114,248 +93,67 @@ public class Pony {
|
|||
|
||||
public void checkSkin(BufferedImage bufferedimage) {
|
||||
MineLPLogger.debug("\tStart skin check #%d for pony #%d with image %s.", ++this.skinCheckCount, this.ponyId);
|
||||
this.resetValues();
|
||||
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;
|
||||
}
|
||||
metadata = PonyData.parse(bufferedimage);
|
||||
|
||||
this.newSkinSize = bufferedimage.getWidth() == bufferedimage.getHeight();
|
||||
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() {
|
||||
this.isPony = false;
|
||||
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) {
|
||||
public boolean isPegasusFlying(EntityPlayer player) {
|
||||
if (this.metadata.getRace() == null || !this.metadata.getRace().hasWings()) {
|
||||
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 pegasusFlying = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return player.capabilities.isFlying ||!(player.onGround || player.isOnLadder() || player.isInWater());
|
||||
|
||||
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);
|
||||
|
||||
//@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;
|
||||
// }
|
||||
}
|
||||
|
||||
for (float shiftX = 0.0F - range; shiftX < range * 2.0F; shiftX += range) {
|
||||
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;
|
||||
}
|
||||
// public boolean standingOnAir(BlockPos pos, 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) {
|
||||
// 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() {
|
||||
return getModel(false);
|
||||
|
@ -368,7 +166,7 @@ public class Pony {
|
|||
is_a_pony = false;
|
||||
break;
|
||||
case BOTH:
|
||||
is_a_pony = isPonySkin;
|
||||
is_a_pony = metadata.getRace() != null;
|
||||
break;
|
||||
case PONIES:
|
||||
is_a_pony = true;
|
||||
|
@ -387,17 +185,4 @@ public class Pony {
|
|||
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;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.brohoof.minelittlepony.model.PMAPI;
|
||||
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.entity.passive.EntityVillager;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class PonyManager {
|
||||
|
||||
public static final String RESOURCE_NAMESPACE = "minelittlepony";
|
||||
public static final ResourceLocation zombiePonyResource = new ResourceLocation("minelittlepony",
|
||||
"textures/entity/zombie/zombie_pony.png");
|
||||
public static final ResourceLocation zombieVillagerPonyResource = new ResourceLocation("minelittlepony",
|
||||
"textures/entity/zombie/zombie_villager_pony.png");
|
||||
public static final ResourceLocation zombiePigmanPonyResource = new ResourceLocation("minelittlepony",
|
||||
"textures/entity/zombie_pigman_pony.png");
|
||||
public static final ResourceLocation skeletonPonyResource = new ResourceLocation("minelittlepony",
|
||||
"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;
|
||||
public static final ResourceLocation ZOMBIE = new ResourceLocation("minelittlepony", "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 PIGMAN = new ResourceLocation("minelittlepony", "textures/entity/zombie/zombie_pigman_pony.png");
|
||||
public static final ResourceLocation SKELETON = new ResourceLocation("minelittlepony", "textures/entity/skeleton/skeleton_pony.png");
|
||||
public static final ResourceLocation WITHER_SKELETON = new ResourceLocation("minelittlepony", "textures/entity/skeleton/skeleton_wither_pony.png");
|
||||
public static final ResourceLocation STEVE = new ResourceLocation("minelittlepony", "textures/entity/steve_pony.png");
|
||||
public static final ResourceLocation ALEX = new ResourceLocation("minelittlepony", "textures/entity/alex_pony.png");
|
||||
|
||||
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 Map<ResourceLocation, Pony> ponyResourceRegistry = new HashMap<ResourceLocation, Pony>();
|
||||
private Map<ResourceLocation, Pony> backgroudPonyResourceRegistry = new HashMap<ResourceLocation, Pony>();
|
||||
private Map<ResourceLocation, Pony> ponies = Maps.newHashMap();
|
||||
private Map<ResourceLocation, Pony> backgroudPonies = Maps.newHashMap();
|
||||
|
||||
public PonyManager(PonyConfig config) {
|
||||
this.config = config;
|
||||
initmodels();
|
||||
MineLPLogger.info("Detected %d of %d background ponies installed.", getNumberOfPonies(), MAX_BGPONY_COUNT);
|
||||
}
|
||||
|
||||
public void initmodels() {
|
||||
|
@ -49,16 +62,16 @@ public class PonyManager {
|
|||
|
||||
private Pony getPonyFromResourceRegistry(ResourceLocation skinResourceLocation, AbstractClientPlayer player) {
|
||||
Pony myLittlePony;
|
||||
if (!this.ponyResourceRegistry.containsKey(skinResourceLocation)) {
|
||||
if (!this.ponies.containsKey(skinResourceLocation)) {
|
||||
if (player != null) {
|
||||
myLittlePony = new Pony(player);
|
||||
} else {
|
||||
myLittlePony = new Pony(skinResourceLocation);
|
||||
}
|
||||
|
||||
this.ponyResourceRegistry.put(skinResourceLocation, myLittlePony);
|
||||
this.ponies.put(skinResourceLocation, myLittlePony);
|
||||
} else {
|
||||
myLittlePony = this.ponyResourceRegistry.get(skinResourceLocation);
|
||||
myLittlePony = this.ponies.get(skinResourceLocation);
|
||||
}
|
||||
|
||||
return myLittlePony;
|
||||
|
@ -70,14 +83,10 @@ public class PonyManager {
|
|||
|
||||
public Pony getPonyFromResourceRegistry(AbstractClientPlayer 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);
|
||||
}
|
||||
|
||||
if (player.getCommandSenderName().equals(MineLittlePony.getSPUsername())) {
|
||||
myLittlePony.isSpPlayer = true;
|
||||
}
|
||||
|
||||
return myLittlePony;
|
||||
}
|
||||
|
||||
|
@ -86,81 +95,48 @@ public class PonyManager {
|
|||
|
||||
ResourceLocation villagerResourceLocation;
|
||||
try {
|
||||
villagerResourceLocation = villagerResourceLocations.get(profession);
|
||||
villagerResourceLocation = villagerList.get(profession);
|
||||
} catch (IndexOutOfBoundsException var5) {
|
||||
villagerResourceLocation = villagerResourceLocations.get(5);
|
||||
villagerResourceLocation = villagerList.get(5);
|
||||
}
|
||||
|
||||
Pony myLittlePony = this.getPonyFromResourceRegistry(villagerResourceLocation);
|
||||
myLittlePony.setVillager(profession);
|
||||
// myLittlePony.setVillager(profession);
|
||||
return myLittlePony;
|
||||
}
|
||||
|
||||
private ResourceLocation getBackgroundPonyResource(String username) {
|
||||
if (numberOfPonies > 0) {
|
||||
int backgroundIndex = username.hashCode() % this.getNumberOfPonies();
|
||||
private ResourceLocation getBackgroundPonyResource(AbstractClientPlayer player) {
|
||||
if (getNumberOfPonies() > 0) {
|
||||
int backgroundIndex = player.getEntityId() % this.getNumberOfPonies();
|
||||
if (backgroundIndex < 0) {
|
||||
backgroundIndex += this.getNumberOfPonies();
|
||||
}
|
||||
|
||||
return backgroundPonyResourceLocations.get(backgroundIndex);
|
||||
return backgroundPonyList.get(backgroundIndex);
|
||||
}
|
||||
return defaultPonyResourceLocation;
|
||||
return STEVE;
|
||||
}
|
||||
|
||||
public Pony getPonyFromBackgroundResourceRegistry(AbstractClientPlayer player) {
|
||||
ResourceLocation textureResourceLocation;
|
||||
if (player.getCommandSenderName() == MineLittlePony.getSPUsername()) {
|
||||
textureResourceLocation = defaultPonyResourceLocation;
|
||||
if (player.isUser()) {
|
||||
textureResourceLocation = (player.getUniqueID().hashCode() & 1) == 0 ? STEVE : ALEX;
|
||||
} else {
|
||||
textureResourceLocation = this.getBackgroundPonyResource(player.getCommandSenderName());
|
||||
textureResourceLocation = this.getBackgroundPonyResource(player);
|
||||
}
|
||||
|
||||
Pony myLittlePony;
|
||||
if (!this.backgroudPonyResourceRegistry.containsKey(textureResourceLocation)) {
|
||||
if (!this.backgroudPonies.containsKey(textureResourceLocation)) {
|
||||
myLittlePony = new Pony(textureResourceLocation);
|
||||
this.backgroudPonyResourceRegistry.put(textureResourceLocation, myLittlePony);
|
||||
this.backgroudPonies.put(textureResourceLocation, myLittlePony);
|
||||
} else {
|
||||
myLittlePony = this.backgroudPonyResourceRegistry.get(textureResourceLocation);
|
||||
myLittlePony = this.backgroudPonies.get(textureResourceLocation);
|
||||
}
|
||||
|
||||
return myLittlePony;
|
||||
}
|
||||
|
||||
public int getNumberOfPonies() {
|
||||
return numberOfPonies;
|
||||
}
|
||||
|
||||
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;
|
||||
return backgroundPonyList.size();
|
||||
}
|
||||
}
|
||||
|
|
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));
|
||||
thePony.checkSkin();
|
||||
PlayerModel pm = thePony.getModel(true);
|
||||
this.mainModel = pm.model;
|
||||
pm.model.isFlying = thePony.isFlying = false;
|
||||
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 = pm.getModel();
|
||||
pm.apply(thePony.metadata);
|
||||
this.mainModel.render(par1EntityLivingBase, par2, par3, par4, par5, par6, par7);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
package com.brohoof.minelittlepony.model;
|
||||
|
||||
import com.brohoof.minelittlepony.PonyData;
|
||||
|
||||
public abstract class ModelArmor {
|
||||
public final String path;
|
||||
public ModelPony base;
|
||||
|
||||
public ModelPony modelArmorChestplate;
|
||||
public ModelPony modelArmor;
|
||||
|
||||
public ModelArmor(String path) {
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
public float layer() {
|
||||
return 1;
|
||||
}
|
||||
|
@ -18,4 +15,9 @@ public abstract class ModelArmor {
|
|||
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;
|
||||
|
||||
import com.brohoof.minelittlepony.PonyData;
|
||||
import com.brohoof.minelittlepony.renderer.AniParams;
|
||||
|
||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||
|
@ -11,30 +12,24 @@ import net.minecraft.item.EnumAction;
|
|||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public abstract class ModelPony extends ModelPlayer {
|
||||
public String texture;
|
||||
|
||||
protected float strech = 0.0F;
|
||||
protected float scale = 0.0625F;
|
||||
public boolean issneak = 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 int villagerProfession;
|
||||
public boolean isFlying;
|
||||
public boolean isGlow;
|
||||
public boolean isSleeping;
|
||||
|
||||
public PonyData metadata = new PonyData();
|
||||
|
||||
public int heldItemLeft;
|
||||
public int heldItemRight;
|
||||
public boolean aimedBow;
|
||||
|
||||
public ModelPony(String texture) {
|
||||
public ModelPony() {
|
||||
super(0, false);
|
||||
this.texture = texture;
|
||||
}
|
||||
|
||||
public void setStrech(float strech) {
|
||||
|
@ -74,25 +69,25 @@ public abstract class ModelPony extends ModelPlayer {
|
|||
@Override
|
||||
public final void renderRightArm() {
|
||||
// Use the human model
|
||||
PMAPI.human.model.renderModelRightArm();
|
||||
PMAPI.human.getModel().renderModelRightArm();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void renderLeftArm() {
|
||||
// Use the human model
|
||||
PMAPI.human.model.renderModelLeftArm();
|
||||
PMAPI.human.getModel().renderModelLeftArm();
|
||||
}
|
||||
|
||||
@Override
|
||||
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
|
||||
// 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())) {
|
||||
PMAPI.human.model.setModelVisibilities((AbstractClientPlayer) ent);
|
||||
PMAPI.human.model.isSneak = isSneak;
|
||||
PMAPI.human.model.swingProgress = swingProgress;
|
||||
PMAPI.human.model.setModelRotationAngles(f1, f2, f3, f4, f5, f6, ent);
|
||||
PMAPI.human.getModel().setModelVisibilities((AbstractClientPlayer) ent);
|
||||
PMAPI.human.getModel().isSneak = isSneak;
|
||||
PMAPI.human.getModel().swingProgress = swingProgress;
|
||||
PMAPI.human.getModel().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 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)
|
||||
.setArmor(new pma_newPony("minelittlepony:textures/models/armor/"))
|
||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
||||
.setScale(0.9375F);
|
||||
public static PlayerModel newPonyAdv = new PlayerModel("newPonyAdv", new pm_newPonyAdv("/mob/char.png"), 0)
|
||||
.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)
|
||||
.setArmor(new pma_newPony());
|
||||
public static PlayerModel newPonyAdv = new PlayerModel(new pm_newPonyAdv())
|
||||
.setArmor(new pma_newPony());
|
||||
public static PlayerModel zombiePony = new PlayerModel(new pm_zombiePony())
|
||||
.setTextureHeight(32)
|
||||
.setArmor(new pma_zombiePony("minelittlepony:textures/models/armor/"))
|
||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
||||
.setScale(0.9375F);
|
||||
public static PlayerModel skeletonPony = new PlayerModel("skeletonPony", new pm_skeletonPony("/mob/char.png"), 0)
|
||||
.setArmor(new pma_zombiePony());
|
||||
public static PlayerModel skeletonPony = new PlayerModel(new pm_skeletonPony())
|
||||
.setTextureHeight(32)
|
||||
.setArmor(new pma_skeletonPony("minelittlepony:textures/models/armor/"))
|
||||
.setURL("http://skins.minecraft.net/MinecraftSkins/%NAME%.png")
|
||||
.setScale(0.9375F);
|
||||
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);
|
||||
.setArmor(new pma_skeletonPony());
|
||||
public static PlayerModel human = new PlayerModel(new pm_Human())
|
||||
.setArmor(new pma_Human());
|
||||
|
||||
public static void init() {
|
||||
for (Field field : PMAPI.class.getFields()) {
|
||||
|
|
|
@ -1,81 +1,52 @@
|
|||
package com.brohoof.minelittlepony.model;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
import com.brohoof.minelittlepony.model.ModelArmor;
|
||||
import com.brohoof.minelittlepony.model.ModelPony;
|
||||
import com.brohoof.minelittlepony.PonyData;
|
||||
|
||||
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) {
|
||||
this.name = name;
|
||||
private final ModelPony model;
|
||||
private ModelArmor armor;
|
||||
private float shadowsize = 0.5F;
|
||||
|
||||
public PlayerModel(ModelPony model) {
|
||||
this.model = model;
|
||||
this.id = manual_id;
|
||||
}
|
||||
|
||||
public PlayerModel setTextureHeight(int height) {
|
||||
model.textureHeight = height;
|
||||
getModel().textureHeight = height;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ModelPony getModel() {
|
||||
return model;
|
||||
}
|
||||
|
||||
public PlayerModel setArmor(ModelArmor armor) {
|
||||
this.armor = armor;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlayerModel setURL(String url) {
|
||||
this.url = url;
|
||||
public PlayerModel setShadowsize(float shadowsize) {
|
||||
this.shadowsize = shadowsize;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlayerModel setShadow(float size) {
|
||||
this.shadowsize = size;
|
||||
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 float getShadowsize() {
|
||||
return shadowsize;
|
||||
}
|
||||
|
||||
public void init() {
|
||||
model.init(0, 0);
|
||||
armor.modelArmorChestplate.init(0.0F, 1.0F);
|
||||
armor.modelArmor.init(0.0F, 0.5F);
|
||||
getModel().init(0, 0);
|
||||
getArmor().modelArmorChestplate.init(0.0F, 1.0F);
|
||||
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[] extLegs;
|
||||
|
||||
public pm_newPonyArmor(String texture) {
|
||||
super(texture);
|
||||
public pm_newPonyArmor() {
|
||||
this.isArmour = true;
|
||||
this.textureHeight = 32;
|
||||
}
|
||||
|
@ -24,7 +23,7 @@ public class pm_newPonyArmor extends pm_newPonyAdv {
|
|||
this.checkRainboom(aniparams.swing);
|
||||
this.rotateHead(aniparams.horz, aniparams.vert);
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@ import com.brohoof.minelittlepony.model.pony.armor.pm_newPonyArmor;
|
|||
import net.minecraft.util.MathHelper;
|
||||
|
||||
public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
||||
public pm_skeletonPonyArmor(String texture) {
|
||||
super(texture);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void rotateLegs(float move, float swing, float tick) {
|
||||
|
@ -17,7 +14,7 @@ public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
|||
float leftLegRotateAngleX;
|
||||
float var8;
|
||||
float var9;
|
||||
if (this.isFlying && this.isPegasus) {
|
||||
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||
if (this.rainboom) {
|
||||
rightArmRotateAngleX = ROTATE_270;
|
||||
leftArmRotateAngleX = ROTATE_270;
|
||||
|
@ -70,7 +67,7 @@ public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
|||
if (this.heldItemRight != 0) {
|
||||
var8 = MathHelper.sin(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.rotateAngleY = 0.1F - var8 * 0.6F;
|
||||
this.bipedRightArm.rotateAngleX = -1.5707964F;
|
||||
|
@ -92,7 +89,7 @@ public class pm_skeletonPonyArmor extends pm_newPonyArmor {
|
|||
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@ import com.brohoof.minelittlepony.model.pony.armor.pm_newPonyArmor;
|
|||
import net.minecraft.util.MathHelper;
|
||||
|
||||
public class pm_zombiePonyArmor extends pm_newPonyArmor {
|
||||
public pm_zombiePonyArmor(String texture) {
|
||||
super(texture);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void rotateLegs(float move, float swing, float tick) {
|
||||
|
@ -17,7 +14,7 @@ public class pm_zombiePonyArmor extends pm_newPonyArmor {
|
|||
float leftLegRotateAngleX;
|
||||
float var8;
|
||||
float var9;
|
||||
if (this.isFlying && this.isPegasus) {
|
||||
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||
if (this.rainboom) {
|
||||
rightArmRotateAngleX = ROTATE_270;
|
||||
leftArmRotateAngleX = ROTATE_270;
|
||||
|
|
|
@ -5,10 +5,9 @@ import com.brohoof.minelittlepony.model.pony.pm_Human;
|
|||
|
||||
public class pma_Human extends ModelArmor {
|
||||
|
||||
public pma_Human(String path) {
|
||||
super(path);
|
||||
this.modelArmorChestplate = new pm_Human(path);
|
||||
this.modelArmor = new pm_Human(path);
|
||||
public pma_Human() {
|
||||
this.modelArmorChestplate = new pm_Human();
|
||||
this.modelArmor = new pm_Human();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,9 +3,9 @@ package com.brohoof.minelittlepony.model.pony.armor;
|
|||
import com.brohoof.minelittlepony.model.ModelArmor;
|
||||
|
||||
public class pma_newPony extends ModelArmor {
|
||||
public pma_newPony(String path) {
|
||||
super(path);
|
||||
this.modelArmorChestplate = new pm_newPonyArmor(path);
|
||||
this.modelArmor = new pm_newPonyArmor(path);
|
||||
|
||||
public pma_newPony() {
|
||||
this.modelArmorChestplate = new pm_newPonyArmor();
|
||||
this.modelArmor = new pm_newPonyArmor();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,9 +4,8 @@ import com.brohoof.minelittlepony.model.ModelArmor;
|
|||
|
||||
public class pma_skeletonPony extends ModelArmor {
|
||||
|
||||
public pma_skeletonPony(String path) {
|
||||
super(path);
|
||||
this.modelArmorChestplate = new pm_skeletonPonyArmor(path);
|
||||
this.modelArmor = new pm_skeletonPonyArmor(path);
|
||||
public pma_skeletonPony() {
|
||||
this.modelArmorChestplate = new pm_skeletonPonyArmor();
|
||||
this.modelArmor = new pm_skeletonPonyArmor();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,9 +4,8 @@ import com.brohoof.minelittlepony.model.ModelArmor;
|
|||
|
||||
public class pma_zombiePony extends ModelArmor {
|
||||
|
||||
public pma_zombiePony(String path) {
|
||||
super(path);
|
||||
this.modelArmorChestplate = new pm_zombiePonyArmor(path);
|
||||
this.modelArmor = new pm_zombiePonyArmor(path);
|
||||
public pma_zombiePony() {
|
||||
this.modelArmorChestplate = new pm_zombiePonyArmor();
|
||||
this.modelArmor = new pm_zombiePonyArmor();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,10 +9,6 @@ public class pm_Human extends ModelPony {
|
|||
public ModelRenderer bipedEars;
|
||||
public ModelRenderer cloak;
|
||||
|
||||
public pm_Human(String texture) {
|
||||
super(texture);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean doCancelRender() {
|
||||
return true;
|
||||
|
|
|
@ -14,6 +14,8 @@ import java.util.Random;
|
|||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
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.renderer.AniParams;
|
||||
import com.brohoof.minelittlepony.renderer.CompressiveRendering;
|
||||
|
@ -104,10 +106,6 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
public CompressiveRendering CompressiveLeftWing;
|
||||
public CompressiveRendering CompressiveRightWing;
|
||||
|
||||
public pm_newPonyAdv(String texture) {
|
||||
super(texture);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(float yOffset, float stretch) {
|
||||
this.initTextures();
|
||||
|
@ -120,7 +118,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
this.rotateHead(aniparams.horz, aniparams.vert);
|
||||
this.swingTailZ(aniparams.move, aniparams.swing);
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -155,7 +153,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
}
|
||||
|
||||
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) {
|
||||
this.tailstop = 0;
|
||||
}
|
||||
|
@ -175,7 +173,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
this.sneakTail();
|
||||
} else {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -184,7 +182,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
this.swingArms(aniparams.tick);
|
||||
this.setHead(0.0F, 0.0F, 0.0F);
|
||||
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) {
|
||||
this.tailstop = 0;
|
||||
}
|
||||
|
@ -205,7 +203,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
|
||||
if (this.rainboom) {
|
||||
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) {
|
||||
this.tailstop = 0;
|
||||
}
|
||||
|
@ -239,7 +237,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
}
|
||||
|
||||
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;
|
||||
} else {
|
||||
this.rainboom = false;
|
||||
|
@ -260,7 +258,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
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) {
|
||||
this.setRotationPoint(this.MuzzleMale[j6], posX, posY, posZ);
|
||||
}
|
||||
|
@ -294,7 +292,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
this.bipedHead.rotateAngleY = headRotateAngleY;
|
||||
this.bipedHead.rotateAngleX = headRotateAngleX;
|
||||
int i;
|
||||
if (this.isMale) {
|
||||
if (this.metadata.getGender() == PonyGender.STALLION) {
|
||||
for (i = 0; i < this.MuzzleMale.length; ++i) {
|
||||
this.MuzzleMale[i].rotateAngleY = headRotateAngleY;
|
||||
this.MuzzleMale[i].rotateAngleX = headRotateAngleX;
|
||||
|
@ -336,7 +334,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
float leftArmRotateAngleX;
|
||||
float rightLegRotateAngleX;
|
||||
float leftLegRotateAngleX;
|
||||
if (this.isFlying && this.isPegasus) {
|
||||
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||
if (this.rainboom) {
|
||||
rightArmRotateAngleX = ROTATE_270;
|
||||
leftArmRotateAngleX = ROTATE_270;
|
||||
|
@ -429,7 +427,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
|
||||
protected void swingTailZ(float move, float swing) {
|
||||
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) {
|
||||
this.tailstop = 0;
|
||||
}
|
||||
|
@ -447,7 +445,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
protected void swingTailX(float tick) {
|
||||
float sinTickFactor = MathHelper.sin(tick * 0.067F) * 0.05F;
|
||||
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) {
|
||||
this.tailstop = 0;
|
||||
}
|
||||
|
@ -459,7 +457,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
}
|
||||
|
||||
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.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 f28 = MathHelper.sin(swingProgress * 3.1415927F);
|
||||
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
|
||||
- (f22 * 1.2D + f33));
|
||||
this.unicornarm.rotateAngleY += this.bipedBody.rotateAngleY * 2.0F;
|
||||
|
@ -498,7 +496,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
if (this.heldItemRight != 0 && !this.isSleeping) {
|
||||
float cosTickFactor = MathHelper.cos(tick * 0.09F) * 0.05F + 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.rotateAngleX += sinTickFactor;
|
||||
} else {
|
||||
|
@ -564,7 +562,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
|
||||
protected void sneakTail() {
|
||||
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) {
|
||||
this.tailstop = 0;
|
||||
}
|
||||
|
@ -602,7 +600,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
}
|
||||
|
||||
protected void aimBow(float tick) {
|
||||
if (this.isUnicorn && this.glowColor != 0) {
|
||||
if (this.metadata.getRace().hasHorn() && this.metadata.getGlowColor() != 0) {
|
||||
this.aimBowUnicorn(tick);
|
||||
} else {
|
||||
this.aimBowPony(tick);
|
||||
|
@ -749,7 +747,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
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) {
|
||||
translate(0.0F, -0.12F, 0.0F);
|
||||
}
|
||||
|
@ -790,7 +788,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
this.renderLegs();
|
||||
popMatrix();
|
||||
|
||||
} else if (this.size == 2) {
|
||||
} else if (this.metadata.getSize() == PonySize.LARGE) {
|
||||
if (this.isSleeping && !this.isArmour) {
|
||||
translate(0.0F, -0.47F, 0.2F);
|
||||
}
|
||||
|
@ -829,7 +827,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
scale(1.15F, 1.12F, 1.15F);
|
||||
this.renderLegs();
|
||||
popMatrix();
|
||||
} else if (this.size == 3) {
|
||||
} else if (this.metadata.getSize() == PonySize.PRINCESS) {
|
||||
if (this.isSleeping && !this.isArmour) {
|
||||
translate(0.0F, -0.43F, 0.25F);
|
||||
}
|
||||
|
@ -886,7 +884,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
this.headpiece[1].render(this.scale);
|
||||
if (MineLittlePony.getConfig().getSnuzzles().get()) {
|
||||
int red;
|
||||
if (this.isMale) {
|
||||
if (this.metadata.getGender() == PonyGender.STALLION) {
|
||||
for (red = 0; red < this.MuzzleMale.length; ++red) {
|
||||
this.MuzzleMale[red].render(this.scale);
|
||||
}
|
||||
|
@ -898,16 +896,16 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
}
|
||||
|
||||
this.bipedHeadwear.render(this.scale);
|
||||
if (this.isUnicorn) {
|
||||
if (this.metadata.getRace().hasHorn()) {
|
||||
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.glDisable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
float var4 = (this.glowColor >> 16 & 255) / 255.0F;
|
||||
float green = (this.glowColor >> 8 & 255) / 255.0F;
|
||||
float blue = (this.glowColor & 255) / 255.0F;
|
||||
float var4 = (this.metadata.getGlowColor() >> 16 & 255) / 255.0F;
|
||||
float green = (this.metadata.getGlowColor() >> 8 & 255) / 255.0F;
|
||||
float blue = (this.metadata.getGlowColor() & 255) / 255.0F;
|
||||
blendFunc(GL11.GL_SRC_ALPHA, 1);
|
||||
color(var4, green, blue, 0.4F);
|
||||
this.hornglow[0].render(this.scale);
|
||||
|
@ -936,19 +934,22 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
this.Bodypiece[k1].render(this.scale);
|
||||
}
|
||||
|
||||
if (this.isVillager) {
|
||||
if (this.villagerProfession < 2) {
|
||||
for (k1 = 0; k1 < this.VillagerBagPiece.length; ++k1) {
|
||||
this.VillagerBagPiece[k1].render(this.scale);
|
||||
}
|
||||
} else if (this.villagerProfession == 2) {
|
||||
this.VillagerTrinket.render(this.scale);
|
||||
} else if (this.villagerProfession > 2) {
|
||||
this.VillagerApron.render(this.scale);
|
||||
}
|
||||
}
|
||||
// TODO: villager data
|
||||
//@formatter:off
|
||||
// if (this.metadata.isVillager()) {
|
||||
// if (this.metadata.getVillagerProfession() < 2) {
|
||||
// for (k1 = 0; k1 < this.VillagerBagPiece.length; ++k1) {
|
||||
// this.VillagerBagPiece[k1].render(this.scale);
|
||||
// }
|
||||
// } else if (this.metadata.getVillagerProfession() == 2) {
|
||||
// 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) {
|
||||
this.setExtendingWings(true);
|
||||
|
||||
|
@ -975,7 +976,7 @@ public class pm_newPonyAdv extends ModelPony {
|
|||
}
|
||||
|
||||
protected void renderTail() {
|
||||
int var3 = this.Tail.length - this.wantTail * 5;
|
||||
int var3 = this.Tail.length - this.metadata.getTail().getSize() * 5;
|
||||
if (var3 <= 1) {
|
||||
var3 = 0;
|
||||
}
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
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;
|
||||
|
||||
public class pm_skeletonPony extends pm_newPonyAdv {
|
||||
|
||||
public pm_skeletonPony(String texture) {
|
||||
super(texture);
|
||||
public pm_skeletonPony() {
|
||||
metadata.setGlowColor(0xff6666dd);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -18,7 +21,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
|||
float leftLegRotateAngleX;
|
||||
float var8;
|
||||
float var9;
|
||||
if (this.isFlying && this.isPegasus) {
|
||||
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||
if (this.rainboom) {
|
||||
rightArmRotateAngleX = ROTATE_270;
|
||||
leftArmRotateAngleX = ROTATE_270;
|
||||
|
@ -71,7 +74,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
|||
if (this.heldItemRight != 0) {
|
||||
var8 = MathHelper.sin(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.rotateAngleY = 0.1F - var8 * 0.6F;
|
||||
this.bipedRightArm.rotateAngleX = -1.5707964F;
|
||||
|
@ -95,7 +98,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
|||
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -110,7 +113,7 @@ public class pm_skeletonPony extends pm_newPonyAdv {
|
|||
popMatrix();
|
||||
|
||||
pushMatrix();
|
||||
if (this.heldItemRight != 0 && this.glowColor == 0) {
|
||||
if (this.heldItemRight != 0 && this.metadata.getGlowColor() == 0) {
|
||||
translate(-0.1F, 0.3F, 0.1F);
|
||||
scale(0.5F, 0.5F, 1.2F);
|
||||
} else {
|
||||
|
|
|
@ -6,10 +6,6 @@ import net.minecraft.util.MathHelper;
|
|||
|
||||
public class pm_zombiePony extends pm_newPonyAdv {
|
||||
|
||||
public pm_zombiePony(String texture) {
|
||||
super(texture);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void rotateLegs(float move, float swing, float tick) {
|
||||
float rightArmRotateAngleX;
|
||||
|
@ -18,7 +14,7 @@ public class pm_zombiePony extends pm_newPonyAdv {
|
|||
float leftLegRotateAngleX;
|
||||
float var8;
|
||||
float var9;
|
||||
if (this.isFlying && this.isPegasus) {
|
||||
if (this.isFlying && this.metadata.getRace().hasWings()) {
|
||||
if (this.rainboom) {
|
||||
rightArmRotateAngleX = 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.Pony;
|
||||
import com.brohoof.minelittlepony.PonySize;
|
||||
import com.brohoof.minelittlepony.model.PMAPI;
|
||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||
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.LayerPonyArmor;
|
||||
import com.brohoof.minelittlepony.renderer.layer.LayerPonyCape;
|
||||
import com.brohoof.minelittlepony.renderer.layer.LayerPonySkull;
|
||||
import com.brohoof.minelittlepony.util.MineLPPrivateFields;
|
||||
import com.mumfrey.liteloader.transformers.AppendInsns;
|
||||
import com.mumfrey.liteloader.transformers.Obfuscated;
|
||||
|
||||
|
@ -31,6 +30,7 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
|||
@SuppressWarnings("unused")
|
||||
private static RenderPlayer __TARGET;
|
||||
private PlayerModel playerModel;
|
||||
private Pony thePony;
|
||||
|
||||
private RenderPony(RenderManager renderManager) {
|
||||
super(renderManager, null, 0.5F);
|
||||
|
@ -40,8 +40,8 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
|||
@AppendInsns("<init>")
|
||||
private void init(RenderManager renderManager, boolean useSmallArms) {
|
||||
this.playerModel = PMAPI.newPonyAdv;
|
||||
this.mainModel = this.playerModel.model;
|
||||
this.shadowSize = this.playerModel.shadowsize;
|
||||
this.mainModel = this.playerModel.getModel();
|
||||
this.shadowSize = this.playerModel.getShadowsize();
|
||||
this.layerRenderers.clear();
|
||||
|
||||
this.addLayer(new LayerPonyArmor(this));
|
||||
|
@ -54,46 +54,42 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
|||
@Obfuscated({ "a", "func_180596_a" })
|
||||
public void doRender(AbstractClientPlayer player, double x, double y, double z, float yaw, float partialTicks) {
|
||||
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.mainModel = this.playerModel.model;
|
||||
this.playerModel.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = currentItemStack == null
|
||||
? 0 : 1;
|
||||
this.mainModel = this.playerModel.getModel();
|
||||
this.playerModel.getArmor().modelArmorChestplate.heldItemRight = this.playerModel.getArmor().modelArmor.heldItemRight = this.playerModel
|
||||
.getModel().heldItemRight = currentItemStack == null ? 0 : 1;
|
||||
this.playerModel.apply(thePony.metadata);
|
||||
if (currentItemStack != null && player.getItemInUseCount() > 0) {
|
||||
EnumAction yOrigin = currentItemStack.getItemUseAction();
|
||||
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) {
|
||||
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.armor.modelArmorChestplate.isFlying = this.playerModel.armor.modelArmor.isFlying = this.playerModel.model.isFlying = thePony.isFlying = thePony
|
||||
.isPegasusFlying(player.posX, player.posY, player.posZ, player.fallDistance,
|
||||
MineLPPrivateFields.isJumping.get(player).booleanValue(), player.onGround, this.renderManager.worldObj);
|
||||
this.playerModel.armor.modelArmorChestplate.isPegasus = this.playerModel.armor.modelArmor.isPegasus = this.playerModel.model.isPegasus = thePony
|
||||
.isPegasus();
|
||||
if (this.playerModel.model instanceof pm_newPonyAdv) {
|
||||
((pm_newPonyAdv) this.playerModel.model).setHasWings_Compression(thePony.isPegasus());
|
||||
}
|
||||
this.playerModel.getArmor().modelArmorChestplate.issneak = this.playerModel.getArmor().modelArmor.issneak = this.playerModel.getModel().issneak = player
|
||||
.isSneaking();
|
||||
this.playerModel
|
||||
.getArmor().modelArmorChestplate.isFlying = this.playerModel.getArmor().modelArmor.isFlying = this.playerModel.getModel().isFlying = thePony
|
||||
.isPegasusFlying(player);
|
||||
// , this.renderManager.worldObj);
|
||||
|
||||
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 (this.playerModel != PMAPI.human) {
|
||||
if (thePony.size() == 0) {
|
||||
PonySize size = thePony.metadata.getSize();
|
||||
if (size == PonySize.FOAL)
|
||||
this.shadowSize = 0.25F;
|
||||
} else if (thePony.size() == 1) {
|
||||
else if (size == PonySize.NORMAL)
|
||||
this.shadowSize = 0.4F;
|
||||
} else if (thePony.size() == 2) {
|
||||
else if (size == PonySize.PRINCESS)
|
||||
this.shadowSize = 0.45F;
|
||||
} else if (thePony.size() == 3) {
|
||||
else
|
||||
this.shadowSize = 0.5F;
|
||||
} else {
|
||||
this.shadowSize = 0.5F;
|
||||
}
|
||||
} else {
|
||||
this.shadowSize = 0.5F;
|
||||
}
|
||||
|
@ -106,27 +102,32 @@ public abstract class RenderPony extends RendererLivingEntity implements IRender
|
|||
yOrigin1 -= 0.125D;
|
||||
}
|
||||
|
||||
this.playerModel.model.glowColor = thePony.glowColor();
|
||||
this.playerModel.armor.modelArmorChestplate.isSleeping = this.playerModel.armor.modelArmor.isSleeping = this.playerModel.model.isSleeping = player.isPlayerSleeping();
|
||||
this.playerModel.armor.modelArmorChestplate.swingProgress = this.playerModel.armor.modelArmor.swingProgress = this.playerModel.model.swingProgress;
|
||||
this.playerModel.model.wantTail = thePony.wantTail();
|
||||
this.playerModel.armor.modelArmorChestplate.isVillager = this.playerModel.armor.modelArmor.isVillager = this.playerModel.model.isVillager = false;
|
||||
this.playerModel.getArmor().modelArmorChestplate.isSleeping = this.playerModel.getArmor().modelArmor.isSleeping = this.playerModel
|
||||
.getModel().isSleeping = player.isPlayerSleeping();
|
||||
this.playerModel.getArmor().modelArmorChestplate.swingProgress = this.playerModel.getArmor().modelArmor.swingProgress = this.playerModel
|
||||
.getModel().swingProgress;
|
||||
this.playerModel.getArmor().modelArmorChestplate.isVillager = this.playerModel.getArmor().modelArmor.isVillager = this.playerModel
|
||||
.getModel().isVillager = false;
|
||||
|
||||
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.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = 0;
|
||||
|
||||
this.playerModel
|
||||
.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")
|
||||
@Obfuscated({ "a", "func_77039_a" })
|
||||
public void setupPlayerScale(AbstractClientPlayer player, double xPosition, double yPosition, double zPosition) {
|
||||
|
||||
if (MineLittlePony.getConfig().getShowScale().get() && !(playerModel.model instanceof pm_Human)) {
|
||||
if (this.playerModel.model.size == 2) {
|
||||
if (MineLittlePony.getConfig().getShowScale().get() && !(playerModel.getModel() instanceof pm_Human)) {
|
||||
PonySize size = thePony.metadata.getSize();
|
||||
if (size == PonySize.LARGE)
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package com.brohoof.minelittlepony.renderer;
|
||||
|
||||
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.PlayerModel;
|
||||
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
||||
|
@ -23,8 +26,8 @@ public abstract class RenderPonyMob<T extends EntityLiving> extends RenderLiving
|
|||
protected PlayerModel playerModel;
|
||||
|
||||
public RenderPonyMob(RenderManager renderManager, PlayerModel playerModel) {
|
||||
super(renderManager, playerModel.model, playerModel.shadowsize);
|
||||
this.mobModel = playerModel.model;
|
||||
super(renderManager, playerModel.getModel(), playerModel.getShadowsize());
|
||||
this.mobModel = playerModel.getModel();
|
||||
this.playerModel = playerModel;
|
||||
|
||||
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,
|
||||
float partialTicks) {
|
||||
ItemStack heldItem = entity.getHeldItem();
|
||||
this.playerModel.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = heldItem == null
|
||||
? 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.getArmor().modelArmorChestplate.heldItemRight = this.playerModel.getArmor().modelArmor.heldItemRight = this.playerModel
|
||||
.getModel().heldItemRight = heldItem == null
|
||||
? 0 : 1;
|
||||
|
||||
this.playerModel.armor.modelArmorChestplate.issneak = this.playerModel.armor.modelArmor.issneak = this.playerModel.model.issneak = false;
|
||||
this.playerModel.armor.modelArmorChestplate.isFlying = this.playerModel.armor.modelArmor.isFlying = this.playerModel.model.isFlying = false;
|
||||
this.playerModel.armor.modelArmorChestplate.isPegasus = this.playerModel.armor.modelArmor.isPegasus = this.playerModel.model.isPegasus = false;
|
||||
if (this.playerModel.model instanceof pm_newPonyAdv) {
|
||||
((pm_newPonyAdv) this.playerModel.model).setHasWings_Compression(false);
|
||||
this.playerModel.getArmor().modelArmorChestplate.issneak = this.playerModel.getArmor().modelArmor.issneak = this.playerModel.getModel().issneak = false;
|
||||
this.playerModel
|
||||
.getArmor().modelArmorChestplate.isFlying = this.playerModel.getArmor().modelArmor.isFlying = this.playerModel.getModel().isFlying = false;
|
||||
|
||||
if (this.playerModel.getModel() instanceof pm_newPonyAdv) {
|
||||
((pm_newPonyAdv) this.playerModel.getModel()).setHasWings_Compression(false);
|
||||
}
|
||||
|
||||
if (entity instanceof EntitySkeleton) {
|
||||
this.playerModel.armor.modelArmorChestplate.glowColor = this.playerModel.armor.modelArmor.glowColor = this.playerModel.model.glowColor = 0;
|
||||
|
||||
switch (entity.getEntityId() % 3) {
|
||||
case 0:
|
||||
this.playerModel.armor.modelArmorChestplate.glowColor = this.playerModel.armor.modelArmor.glowColor = this.playerModel.model.glowColor = -10066211;
|
||||
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;
|
||||
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 {
|
||||
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) {
|
||||
this.playerModel.armor.modelArmorChestplate.isMale = this.playerModel.armor.modelArmor.isMale = this.playerModel.model.isMale = true;
|
||||
this.playerModel.getArmor().modelArmor.metadata.setGender(PonyGender.STALLION);
|
||||
} 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) {
|
||||
this.playerModel.model.wantTail = 4;
|
||||
this.playerModel.getModel().metadata.setTail(TailLengths.FULL);
|
||||
} 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.model.isVillager = false;
|
||||
this.playerModel.getArmor().modelArmorChestplate.isSleeping = this.playerModel.getArmor().modelArmor.isSleeping = this.playerModel
|
||||
.getModel().isSleeping = false;
|
||||
if (MineLittlePony.getConfig().getShowScale().get()) {
|
||||
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);
|
||||
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.armor.modelArmorChestplate.heldItemRight = this.playerModel.armor.modelArmor.heldItemRight = this.playerModel.model.heldItemRight = 0;
|
||||
this.playerModel
|
||||
.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;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
@ -119,13 +120,14 @@ public abstract class RenderPonyMob<T extends EntityLiving> extends RenderLiving
|
|||
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")
|
||||
@Override
|
||||
protected void rotateCorpse(EntityLivingBase entity, float xPosition, float yPosition, float zPosition) {
|
||||
this.rotateCorpse((T) entity, xPosition, yPosition, zPosition);
|
||||
super.rotateCorpse(entity, xPosition, yPosition, zPosition);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -17,8 +17,8 @@ public class RenderPonySkeleton extends RenderPonyMob<EntitySkeleton> {
|
|||
addLayer(new LayerBipedArmor(this) {
|
||||
@Override
|
||||
protected void initArmor() {
|
||||
this.field_177189_c = PMAPI.skeletonPony.model;
|
||||
this.field_177186_d = PMAPI.skeletonPony.model;
|
||||
this.field_177189_c = PMAPI.skeletonPony.getModel();
|
||||
this.field_177186_d = PMAPI.skeletonPony.getModel();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ public class RenderPonySkeleton extends RenderPonyMob<EntitySkeleton> {
|
|||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(EntitySkeleton skeleton) {
|
||||
return skeleton.getSkeletonType() == 1 ? PonyManager.skeletonWitherPonyResource
|
||||
: PonyManager.skeletonPonyResource;
|
||||
return skeleton.getSkeletonType() == 1 ? PonyManager.WITHER_SKELETON
|
||||
: PonyManager.SKELETON;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,10 +19,8 @@ public class RenderPonyVillager extends RenderPonyMob<EntityVillager> {
|
|||
@Override
|
||||
protected void preRenderCallback(EntityVillager villager, float partialTicks) {
|
||||
if (villager.getGrowingAge() < 0) {
|
||||
this.mobModel.size = 0;
|
||||
this.shadowSize = 0.25F;
|
||||
} else {
|
||||
this.mobModel.size = 1;
|
||||
if (MineLittlePony.getConfig().getShowScale().get()) {
|
||||
this.shadowSize = 0.4F;
|
||||
} else {
|
||||
|
|
|
@ -23,9 +23,9 @@ public class RenderPonyZombie extends RenderPonyMob<EntityZombie> {
|
|||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(EntityZombie zombie) {
|
||||
return zombie instanceof EntityPigZombie ? PonyManager.zombiePigmanPonyResource
|
||||
: (zombie.isVillager() ? PonyManager.zombieVillagerPonyResource
|
||||
: PonyManager.zombiePonyResource);
|
||||
return zombie instanceof EntityPigZombie ? PonyManager.PIGMAN
|
||||
: (zombie.isVillager() ? PonyManager.ZOMBIE_VILLAGER
|
||||
: PonyManager.ZOMBIE);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import static net.minecraft.client.renderer.GlStateManager.*;
|
|||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL14;
|
||||
|
||||
import com.brohoof.minelittlepony.PonySize;
|
||||
import com.brohoof.minelittlepony.model.PMAPI;
|
||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||
import com.brohoof.minelittlepony.model.pony.pm_newPonyAdv;
|
||||
|
@ -48,20 +49,20 @@ public class LayerHeldPonyItem implements LayerRenderer {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!pony.model.isSleeping) {
|
||||
if (pony.model.isUnicorn && pony.model.glowColor != 0) {
|
||||
pm_newPonyAdv model = (pm_newPonyAdv) pony.model;
|
||||
if (pony.model.aimedBow) {
|
||||
if (!pony.getModel().isSleeping) {
|
||||
if (pony.getModel().metadata.getRace().hasHorn() && pony.getModel().metadata.getGlowColor() != 0) {
|
||||
pm_newPonyAdv model = (pm_newPonyAdv) pony.getModel();
|
||||
if (pony.getModel().aimedBow) {
|
||||
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);
|
||||
} else {
|
||||
renderDrop(pony, entity, model.unicornarm, 1.0F, 0.35F, 0.5375F, -0.45F);
|
||||
}
|
||||
} else if (pony.model.size == 0) {
|
||||
renderDrop(pony, entity, pony.model.bipedRightArm, 1.0F, 0.08F, 0.8375F, 0.0625F);
|
||||
} else if (pony.getModel().metadata.getSize() == PonySize.FOAL) {
|
||||
renderDrop(pony, entity, pony.getModel().bipedRightArm, 1.0F, 0.08F, 0.8375F, 0.0625F);
|
||||
} 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);
|
||||
Minecraft.getMinecraft().getItemRenderer().renderItem(entity, drop, TransformType.THIRD_PERSON);
|
||||
|
||||
if (pony.model.isUnicorn && pony.model.glowColor != 0) {
|
||||
this.renderItemGlow(entity, drop, pony.model.glowColor);
|
||||
if (pony.getModel().metadata.getRace().hasHorn() && pony.getModel().metadata.getGlowColor() != 0) {
|
||||
this.renderItemGlow(entity, drop, pony.getModel().metadata.getGlowColor());
|
||||
}
|
||||
|
||||
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,
|
||||
float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale) {
|
||||
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_,
|
||||
scale);
|
||||
} else {
|
||||
|
@ -64,7 +64,7 @@ public class LayerPonyArmor implements LayerRenderer {
|
|||
ItemArmor itemarmor = (ItemArmor) itemstack.getItem();
|
||||
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.setLivingAnimations(entitylivingbaseIn, p_177141_2_, p_177141_3_, partialTicks);
|
||||
modelbase = getArmorModel(entitylivingbaseIn, itemstack, armorSlot, modelbase);
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.brohoof.minelittlepony.renderer.layer;
|
|||
|
||||
import static net.minecraft.client.renderer.GlStateManager.*;
|
||||
|
||||
import com.brohoof.minelittlepony.PonySize;
|
||||
import com.brohoof.minelittlepony.model.PMAPI;
|
||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||
import com.brohoof.minelittlepony.renderer.IRenderPony;
|
||||
|
@ -41,24 +42,24 @@ public class LayerPonyCape implements LayerRenderer {
|
|||
|
||||
pushMatrix();
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
}
|
||||
} else if (model.model.size == 3) {
|
||||
} else if (model.getModel().metadata.getSize() == PonySize.PRINCESS) {
|
||||
translate(0.0F, -0.09F, 0.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);
|
||||
}
|
||||
}
|
||||
|
||||
if (model.model.issneak && !model.model.isFlying) {
|
||||
if (model.getModel().issneak && !model.getModel().isFlying) {
|
||||
translate(0.0F, 0.4F, -0.12F);
|
||||
}
|
||||
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(90.0F, 1.0F, 0.0F, 0.0F);
|
||||
this.renderer.bindTexture(clientPlayer.getLocationCape());
|
||||
model.model.renderCape(0.0625F);
|
||||
model.getModel().renderCape(0.0625F);
|
||||
popMatrix();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.brohoof.minelittlepony.renderer.layer;
|
|||
|
||||
import static net.minecraft.client.renderer.GlStateManager.*;
|
||||
|
||||
import com.brohoof.minelittlepony.PonySize;
|
||||
import com.brohoof.minelittlepony.model.ModelPony;
|
||||
import com.brohoof.minelittlepony.model.PlayerModel;
|
||||
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) {
|
||||
ItemStack itemstack = entity.getCurrentArmor(3);
|
||||
if (itemstack != null && itemstack.getItem() != null) {
|
||||
ModelPony model = getModel().model;
|
||||
ModelPony model = getModel().getModel();
|
||||
Item item = itemstack.getItem();
|
||||
|
||||
pushMatrix();
|
||||
|
@ -48,7 +49,7 @@ public class LayerPonySkull implements LayerRenderer {
|
|||
scale(0.7, 0.7, 0.7);
|
||||
}
|
||||
if (model instanceof pm_newPonyAdv) {
|
||||
if (model.size == 0) {
|
||||
if (model.metadata.getSize() == PonySize.FOAL) {
|
||||
translate(0.0F, 0.76F, 0.0F);
|
||||
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