Files
CustomNPC-Plus/src/main/java/noppes/npcs/client/renderer/RenderCNPCPlayer.java
T

618 lines
29 KiB
Java

package noppes.npcs.client.renderer;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderPlayerEvent;
import noppes.npcs.client.Client;
import noppes.npcs.controllers.data.SkinOverlay;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.glu.Project;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
public class RenderCNPCPlayer extends RenderPlayer {
public RenderCNPCHand itemRenderer = new RenderCNPCHand(Minecraft.getMinecraft());
public float tempRenderPartialTicks;
private float debugCamFOV;
private float prevDebugCamFOV;
private float fovModifierHand;
private float fovModifierHandPrev;
private float fovMultiplierTemp;
public RenderCNPCPlayer() {
super();
this.modelBipedMain = (ModelBiped)this.mainModel;
this.modelArmorChestplate = new ModelBiped(1.0F);
this.modelArmor = new ModelBiped(0.5F);
this.setRenderManager(RenderManager.instance);
}
private boolean preRenderOverlay(EntityPlayer player, ResourceLocation overlayLocation, boolean glow, boolean blend,
float alpha, float size, float speedX, float speedY, float scaleX, float scaleY,
float offsetX, float offsetY, float offsetZ) {
if (overlayLocation.getResourcePath().isEmpty())
return false;
try {
this.bindTexture(overlayLocation);
} catch (Exception exception) {
return false;
}
if (!Client.entitySkinOverlayTicks.containsKey(player.getUniqueID())) {
Client.entitySkinOverlayTicks.put(player.getUniqueID(), 1L);
} else {
long ticks = Client.entitySkinOverlayTicks.get(player.getUniqueID());
Client.entitySkinOverlayTicks.put(player.getUniqueID(), ticks + 1);
}
float partialTickTime = Client.entitySkinOverlayTicks.get(player.getUniqueID());
// Overlay & Glow
GL11.glEnable(GL11.GL_BLEND);
if (blend) {
GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
} else {
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
}
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F);
if (glow) {
GL11.glDisable(GL11.GL_LIGHTING);
Minecraft.getMinecraft().entityRenderer.disableLightmap((double)0);
RenderHelper.disableStandardItemLighting();
}
GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha);
GL11.glDepthMask(!player.isInvisible());
GL11.glPushMatrix();
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
GL11.glTranslatef(partialTickTime * 0.001F * speedX, partialTickTime * 0.001F * speedY, 0.0F);
GL11.glScalef(scaleX, scaleY, 1.0F);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glTranslatef(offsetX, offsetY, offsetZ);
GL11.glScalef(size, size, size);
return true;
}
public void postRenderOverlay() {
GL11.glPopMatrix();
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glDisable(GL11.GL_BLEND);
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
Minecraft.getMinecraft().entityRenderer.enableLightmap((double) 0);
RenderHelper.enableStandardItemLighting();
}
@Override
protected void renderModel(EntityLivingBase p_77036_1_, float p_77036_2_, float p_77036_3_, float p_77036_4_, float p_77036_5_, float p_77036_6_, float p_77036_7_) {
EntityPlayer player = (EntityPlayer) p_77036_1_;
if (!p_77036_1_.isInvisible())
{
if (Client.skinOverlays.containsKey(player.getUniqueID())) {
for (SkinOverlay overlayData : Client.skinOverlays.get(player.getUniqueID()).values()) {
if (overlayData.texture.isEmpty())
continue;
if (overlayData.location == null) {
overlayData.location = new ResourceLocation(overlayData.texture);
} else {
String str = overlayData.location.getResourceDomain()+":"+overlayData.location.getResourcePath();
if (!str.equals(overlayData.texture)) {
overlayData.location = new ResourceLocation(overlayData.texture);
}
}
if (!preRenderOverlay(player, overlayData.location, overlayData.glow, overlayData.blend, overlayData.alpha, overlayData.size,
overlayData.speedX, overlayData.speedY, overlayData.scaleX, overlayData.scaleY,
overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ
))
continue;;
this.modelBipedMain.render(p_77036_1_, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, p_77036_7_);
postRenderOverlay();
}
}
}
}
protected int shouldRenderPass(AbstractClientPlayer p_77032_1_, int p_77032_2_, float p_77032_3_)
{
return -1;
}
protected void passSpecialRender(EntityLivingBase p_77033_1_, double p_77033_2_, double p_77033_4_, double p_77033_6_) {}
protected void func_96449_a(AbstractClientPlayer p_96449_1_, double p_96449_2_, double p_96449_4_, double p_96449_6_, String p_96449_8_, float p_96449_9_, double p_96449_10_) {}
public void renderHand(float partialTicks, int renderPass) {
Minecraft mc = Minecraft.getMinecraft();
EntityRenderer entityRenderer = mc.entityRenderer;
if (entityRenderer.debugViewDirection <= 0)
{
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
float f1 = 0.07F;
if (mc.gameSettings.anaglyph)
{
GL11.glTranslatef((float)(-(renderPass * 2 - 1)) * f1, 0.0F, 0.0F);
}
Project.gluPerspective(this.getFOVModifier(partialTicks, false), (float)mc.displayWidth / (float)mc.displayHeight, 0.05F, mc.gameSettings.renderDistanceChunks * 16 * 2.0F);
if (mc.playerController.enableEverythingIsScrewedUpMode())
{
float f2 = 0.6666667F;
GL11.glScalef(1.0F, f2, 1.0F);
}
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glLoadIdentity();
if (mc.gameSettings.anaglyph)
{
GL11.glTranslatef((float)(renderPass * 2 - 1) * 0.1F, 0.0F, 0.0F);
}
GL11.glPushMatrix();
hurtCameraEffect(partialTicks);
if (mc.gameSettings.viewBobbing)
{
setupViewBobbing(partialTicks);
}
if (mc.gameSettings.thirdPersonView == 0 && !mc.renderViewEntity.isPlayerSleeping() && !mc.gameSettings.hideGUI && !mc.playerController.enableEverythingIsScrewedUpMode())
{
itemRenderer.updateEquippedItem();
entityRenderer.enableLightmap((double)partialTicks);
itemRenderer.renderItemInFirstPerson(partialTicks);
entityRenderer.disableLightmap((double)partialTicks);
}
GL11.glPopMatrix();
if (mc.gameSettings.thirdPersonView == 0 && !mc.renderViewEntity.isPlayerSleeping())
{
entityRenderer.itemRenderer.renderOverlays(partialTicks);
hurtCameraEffect(partialTicks);
}
if (mc.gameSettings.viewBobbing)
{
setupViewBobbing(partialTicks);
}
}
}
private float getFOVModifier(float p_78481_1_, boolean p_78481_2_)
{
Minecraft mc = Minecraft.getMinecraft();
EntityLivingBase entityplayer = (EntityLivingBase)mc.renderViewEntity;
float f1 = 70.0F;
if (p_78481_2_)
{
f1 = mc.gameSettings.fovSetting;
f1 *= this.fovModifierHandPrev + (this.fovModifierHand - this.fovModifierHandPrev) * p_78481_1_;
}
if (entityplayer.getHealth() <= 0.0F)
{
float f2 = (float)entityplayer.deathTime + p_78481_1_;
f1 /= (1.0F - 500.0F / (f2 + 500.0F)) * 2.0F + 1.0F;
}
Block block = ActiveRenderInfo.getBlockAtEntityViewpoint(mc.theWorld, entityplayer, p_78481_1_);
if (block.getMaterial() == Material.water)
{
f1 = f1 * 60.0F / 70.0F;
}
return f1 + this.prevDebugCamFOV + (this.debugCamFOV - this.prevDebugCamFOV) * p_78481_1_;
}
public void updateFovModifierHand()
{
Minecraft mc = Minecraft.getMinecraft();
if (mc.renderViewEntity instanceof EntityPlayerSP)
{
EntityPlayerSP entityplayersp = (EntityPlayerSP)mc.renderViewEntity;
this.fovMultiplierTemp = entityplayersp.getFOVMultiplier();
}
else
{
this.fovMultiplierTemp = mc.thePlayer.getFOVMultiplier();
}
this.fovModifierHandPrev = this.fovModifierHand;
this.fovModifierHand += (this.fovMultiplierTemp - this.fovModifierHand) * 0.5F;
if (this.fovModifierHand > 1.5F)
{
this.fovModifierHand = 1.5F;
}
if (this.fovModifierHand < 0.1F)
{
this.fovModifierHand = 0.1F;
}
}
private void hurtCameraEffect(float p_78482_1_)
{
Minecraft mc = Minecraft.getMinecraft();
EntityLivingBase entitylivingbase = mc.renderViewEntity;
float f1 = (float)entitylivingbase.hurtTime - p_78482_1_;
float f2;
if (entitylivingbase.getHealth() <= 0.0F)
{
f2 = (float)entitylivingbase.deathTime + p_78482_1_;
GL11.glRotatef(40.0F - 8000.0F / (f2 + 200.0F), 0.0F, 0.0F, 1.0F);
}
if (f1 >= 0.0F)
{
f1 /= (float)entitylivingbase.maxHurtTime;
f1 = MathHelper.sin(f1 * f1 * f1 * f1 * (float)Math.PI);
f2 = entitylivingbase.attackedAtYaw;
GL11.glRotatef(-f2, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f1 * 14.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(f2, 0.0F, 1.0F, 0.0F);
}
}
private void setupViewBobbing(float p_78475_1_)
{
Minecraft mc = Minecraft.getMinecraft();
if (mc.renderViewEntity instanceof EntityPlayer)
{
EntityPlayer entityplayer = (EntityPlayer)mc.renderViewEntity;
float f1 = entityplayer.distanceWalkedModified - entityplayer.prevDistanceWalkedModified;
float f2 = -(entityplayer.distanceWalkedModified + f1 * p_78475_1_);
float f3 = entityplayer.prevCameraYaw + (entityplayer.cameraYaw - entityplayer.prevCameraYaw) * p_78475_1_;
float f4 = entityplayer.prevCameraPitch + (entityplayer.cameraPitch - entityplayer.prevCameraPitch) * p_78475_1_;
GL11.glTranslatef(MathHelper.sin(f2 * (float)Math.PI) * f3 * 0.5F, -Math.abs(MathHelper.cos(f2 * (float)Math.PI) * f3), 0.0F);
GL11.glRotatef(MathHelper.sin(f2 * (float)Math.PI) * f3 * 3.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(Math.abs(MathHelper.cos(f2 * (float)Math.PI - 0.2F) * f3) * 5.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(f4, 1.0F, 0.0F, 0.0F);
}
}
public void renderFirstPersonArm(EntityPlayer player, float partialTickTime)
{
Render render = RenderManager.instance.getEntityRenderObject(player);
RenderPlayer renderplayer = (RenderPlayer)render;
renderplayer.renderFirstPersonArm(player);
float gender = 1.0F;
try {
Class<?> RenderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA");
gender = (float) RenderPlayerJBRA.getMethod("genGet").invoke(null);
} catch (Exception ignored) {}
if (Client.skinOverlays.containsKey(player.getUniqueID())) {
for (SkinOverlay overlayData : Client.skinOverlays.get(player.getUniqueID()).values()) {
if (overlayData.texture.isEmpty())
continue;
if (overlayData.location == null) {
overlayData.location = new ResourceLocation(overlayData.texture);
} else {
String str = overlayData.location.getResourceDomain()+":"+overlayData.location.getResourcePath();
if (!str.equals(overlayData.texture)) {
overlayData.location = new ResourceLocation(overlayData.texture);
}
}
if (!preRenderOverlay(player, overlayData.location, overlayData.glow, overlayData.blend, overlayData.alpha, overlayData.size,
overlayData.speedX, overlayData.speedY, overlayData.scaleX, overlayData.scaleY,
overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ
))
continue;;
if (gender >= 2.0F) {
GL11.glRotatef(7F, 0, 0, 1);
GL11.glTranslatef(0.015F, 0.0375F, -0.0025F);
}
this.modelBipedMain.onGround = 0.0F;
this.modelBipedMain.setRotationAngles(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, player);
this.modelBipedMain.bipedRightArm.render(0.0625F);
postRenderOverlay();
}
}
}
public void renderDBCModel(RenderPlayerEvent.Specials.Post event) {
EntityPlayer player = event.entityPlayer;
try {
Class<?> RenderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA");
Class<?> ModelBipedDBC = Class.forName("JinRyuu.JBRA.ModelBipedDBC");
Class<?> ModelBipedBody = Class.forName("JinRyuu.JRMCore.entity.ModelBipedBody");
Object m = RenderPlayerJBRA.getField("modelMain").get(event.renderer);
ModelBipedBody.getField("isRiding").set(m, player.isRiding());
ModelBipedBody.getField("isChild").set(m, player.isChild());
ModelBipedBody.getField("isSneak").set(m, player.isSneaking());
ModelBipedBody.getField("y").set(null, ModelBipedDBC.getField("y").get(null));
ModelRenderer bipedHead = (ModelRenderer) ModelBipedBody.getField("bipedHead").get(m);
ModelRenderer bipedBody = (ModelRenderer) ModelBipedBody.getField("bipedBody").get(m);
ModelRenderer bipedRA = (ModelRenderer) ModelBipedBody.getField("bipedRightArm").get(m);
ModelRenderer bipedLA = (ModelRenderer) ModelBipedBody.getField("bipedLeftArm").get(m);
ModelRenderer bipedRL = (ModelRenderer) ModelBipedBody.getField("bipedRightLeg").get(m);
ModelRenderer bipedLL = (ModelRenderer) ModelBipedBody.getField("bipedLeftLeg").get(m);
ModelRenderer Brightarm = (ModelRenderer) ModelBipedBody.getField("Brightarm").get(m);
ModelRenderer Bleftarm = (ModelRenderer) ModelBipedBody.getField("Bleftarm").get(m);
ModelRenderer rightleg = (ModelRenderer) ModelBipedBody.getField("rightleg").get(m);
ModelRenderer leftleg = (ModelRenderer) ModelBipedBody.getField("leftleg").get(m);
ModelRenderer body = (ModelRenderer) ModelBipedBody.getField("body").get(m);
ModelRenderer hip = (ModelRenderer) ModelBipedBody.getField("hip").get(m);
ModelRenderer waist = (ModelRenderer) ModelBipedBody.getField("waist").get(m);
ModelRenderer bottom = (ModelRenderer) ModelBipedBody.getField("bottom").get(m);
ModelRenderer Bbreast = (ModelRenderer) ModelBipedBody.getField("Bbreast").get(m);
ModelRenderer Bbreast2 = (ModelRenderer) ModelBipedBody.getField("Bbreast2").get(m);
ModelRenderer breast = (ModelRenderer) ModelBipedBody.getField("breast").get(m);
ModelRenderer breast2 = (ModelRenderer) ModelBipedBody.getField("breast2").get(m);
float childScl = (float) RenderPlayerJBRA.getMethod("childSclGet").invoke(null);
Method renderDBC = ModelBipedBody.getMethod("render",Entity.class,float.class,float.class,float.class,float.class,float.class,float.class);
Field rot1 = ModelBipedDBC.getField("rot1");
Field rot2 = ModelBipedDBC.getField("rot2");
Field rot3 = ModelBipedDBC.getField("rot3");
Field rot4 = ModelBipedDBC.getField("rot4");
Field rot5 = ModelBipedDBC.getField("rot5");
Field rot6 = ModelBipedDBC.getField("rot6");
if (Client.skinOverlays.containsKey(player.getUniqueID())) {
for (SkinOverlay overlayData : Client.skinOverlays.get(player.getUniqueID()).values()) {
if (overlayData.texture.isEmpty())
continue;
if (overlayData.location == null) {
overlayData.location = new ResourceLocation(overlayData.texture);
} else {
String str = overlayData.location.getResourceDomain() + ":" + overlayData.location.getResourcePath();
if (!str.equals(overlayData.texture)) {
overlayData.location = new ResourceLocation(overlayData.texture);
}
}
if (!preRenderOverlay(player, overlayData.location, overlayData.glow, overlayData.blend, overlayData.alpha, overlayData.size,
overlayData.speedX, overlayData.speedY, overlayData.scaleX, overlayData.scaleY,
overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ
))
continue;
bipedHead.isHidden = true;
renderDBC.invoke(m, player,
(float) rot1.get(m), (float) rot2.get(m), (float) rot3.get(m),
(float) rot4.get(m), (float) rot5.get(m), (float) rot6.get(m)
);
bipedHead.isHidden = false;
bipedBody.isHidden = true;
bipedRA.isHidden = true;
bipedLA.isHidden = true;
bipedRL.isHidden = true;
bipedLL.isHidden = true;
//Female render
Brightarm.isHidden = true;
Bleftarm.isHidden = true;
rightleg.isHidden = true;
leftleg.isHidden = true;
body.isHidden = true;
hip.isHidden = true;
waist.isHidden = true;
bottom.isHidden = true;
Bbreast.isHidden = true;
Bbreast2.isHidden = true;
breast.isHidden = true;
breast2.isHidden = true;
if (player.isSneaking()) {
GL11.glTranslatef(0, 0.06F, 0);
}
if (childScl > 1.5F) {
GL11.glTranslatef(0, -0.015F, 0);
GL11.glScalef(1.025F, 1.025F, 1.025F);
} else {
if (childScl > 1) {
GL11.glTranslatef(0, -0.01F, 0);
GL11.glScalef(1.025F, 1.025F, 1.025F);
} else {
GL11.glTranslatef(0, 0.0025F, 0);
GL11.glScalef(1.02F, 1.02F, 1.02F);
}
}
renderDBC.invoke(m, player,
(float) rot1.get(m), (float) rot2.get(m), (float) rot3.get(m),
(float) rot4.get(m), (float) rot5.get(m), (float) rot6.get(m)
);
bipedBody.isHidden = false;
bipedRA.isHidden = false;
bipedLA.isHidden = false;
bipedRL.isHidden = false;
bipedLL.isHidden = false;
//Female render
Brightarm.isHidden = false;
Bleftarm.isHidden = false;
rightleg.isHidden = false;
leftleg.isHidden = false;
body.isHidden = false;
hip.isHidden = false;
waist.isHidden = false;
bottom.isHidden = false;
Bbreast.isHidden = false;
Bbreast2.isHidden = false;
breast.isHidden = false;
breast2.isHidden = false;
postRenderOverlay();
}
}
} catch (Exception ignored) {}
try {
Class<?> RenderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA");
Class<?> ModelBipedDBC = Class.forName("JinRyuu.JBRA.ModelBipedDBC");
Class<?> ModelBipedBody = Class.forName("JinRyuu.JRMCore.entity.ModelBipedBody");
Method renderDBC = ModelBipedBody.getMethod("func_78088_a",Entity.class,float.class,float.class,float.class,float.class,float.class,float.class);
Field rot1 = ModelBipedDBC.getField("rot1");
Field rot2 = ModelBipedDBC.getField("rot2");
Field rot3 = ModelBipedDBC.getField("rot3");
Field rot4 = ModelBipedDBC.getField("rot4");
Field rot5 = ModelBipedDBC.getField("rot5");
Field rot6 = ModelBipedDBC.getField("rot6");
Object m = RenderPlayerJBRA.getField("modelMain").get(event.renderer);
ModelBipedBody.getField("field_78093_q").set(m, player.isRiding());
ModelBipedBody.getField("field_78091_s").set(m, player.isChild());
ModelBipedBody.getField("field_78117_n").set(m, player.isSneaking());
ModelBipedBody.getField("y").set(null, ModelBipedDBC.getField("y").get(null));
ModelRenderer bipedHead = (ModelRenderer) ModelBipedBody.getField("field_78116_c").get(m);
ModelRenderer bipedBody = (ModelRenderer) ModelBipedBody.getField("field_78115_e").get(m);
ModelRenderer bipedRA = (ModelRenderer) ModelBipedBody.getField("field_78112_f").get(m);
ModelRenderer bipedLA = (ModelRenderer) ModelBipedBody.getField("field_78113_g").get(m);
ModelRenderer bipedRL = (ModelRenderer) ModelBipedBody.getField("field_78123_h").get(m);
ModelRenderer bipedLL = (ModelRenderer) ModelBipedBody.getField("field_78124_i").get(m);
ModelRenderer Brightarm = (ModelRenderer) ModelBipedBody.getField("Brightarm").get(m);
ModelRenderer Bleftarm = (ModelRenderer) ModelBipedBody.getField("Bleftarm").get(m);
ModelRenderer rightleg = (ModelRenderer) ModelBipedBody.getField("rightleg").get(m);
ModelRenderer leftleg = (ModelRenderer) ModelBipedBody.getField("leftleg").get(m);
ModelRenderer body = (ModelRenderer) ModelBipedBody.getField("body").get(m);
ModelRenderer hip = (ModelRenderer) ModelBipedBody.getField("hip").get(m);
ModelRenderer waist = (ModelRenderer) ModelBipedBody.getField("waist").get(m);
ModelRenderer bottom = (ModelRenderer) ModelBipedBody.getField("bottom").get(m);
ModelRenderer Bbreast = (ModelRenderer) ModelBipedBody.getField("Bbreast").get(m);
ModelRenderer Bbreast2 = (ModelRenderer) ModelBipedBody.getField("Bbreast2").get(m);
ModelRenderer breast = (ModelRenderer) ModelBipedBody.getField("breast").get(m);
ModelRenderer breast2 = (ModelRenderer) ModelBipedBody.getField("breast2").get(m);
float childScl = (float) RenderPlayerJBRA.getMethod("childSclGet").invoke(null);
if (Client.skinOverlays.containsKey(player.getUniqueID())) {
for (SkinOverlay overlayData : Client.skinOverlays.get(player.getUniqueID()).values()) {
if (overlayData.texture.isEmpty())
continue;
if (overlayData.location == null) {
overlayData.location = new ResourceLocation(overlayData.texture);
} else {
String str = overlayData.location.getResourceDomain() + ":" + overlayData.location.getResourcePath();
if (!str.equals(overlayData.texture)) {
overlayData.location = new ResourceLocation(overlayData.texture);
}
}
if (!preRenderOverlay(player, overlayData.location, overlayData.glow, overlayData.blend, overlayData.alpha, overlayData.size,
overlayData.speedX, overlayData.speedY, overlayData.scaleX, overlayData.scaleY,
overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ
))
continue;
bipedHead.isHidden = true;
renderDBC.invoke(m, player,
(float) rot1.get(m), (float) rot2.get(m), (float) rot3.get(m),
(float) rot4.get(m), (float) rot5.get(m), (float) rot6.get(m)
);
bipedHead.isHidden = false;
bipedBody.isHidden = true;
bipedRA.isHidden = true;
bipedLA.isHidden = true;
bipedRL.isHidden = true;
bipedLL.isHidden = true;
//Female render
Brightarm.isHidden = true;
Bleftarm.isHidden = true;
rightleg.isHidden = true;
leftleg.isHidden = true;
body.isHidden = true;
hip.isHidden = true;
waist.isHidden = true;
bottom.isHidden = true;
Bbreast.isHidden = true;
Bbreast2.isHidden = true;
breast.isHidden = true;
breast2.isHidden = true;
if (player.isSneaking()) {
GL11.glTranslatef(0, 0.06F, 0);
}
if (childScl > 1.5F) {
GL11.glTranslatef(0, -0.015F, 0);
GL11.glScalef(1.025F, 1.025F, 1.025F);
} else {
if (childScl > 1) {
GL11.glTranslatef(0, -0.01F, 0);
GL11.glScalef(1.025F, 1.025F, 1.025F);
} else {
GL11.glTranslatef(0, 0.0025F, 0);
GL11.glScalef(1.02F, 1.02F, 1.02F);
}
}
renderDBC.invoke(m, player,
(float) rot1.get(m), (float) rot2.get(m), (float) rot3.get(m),
(float) rot4.get(m), (float) rot5.get(m), (float) rot6.get(m)
);
bipedBody.isHidden = false;
bipedRA.isHidden = false;
bipedLA.isHidden = false;
bipedRL.isHidden = false;
bipedLL.isHidden = false;
//Female render
Brightarm.isHidden = false;
Bleftarm.isHidden = false;
rightleg.isHidden = false;
leftleg.isHidden = false;
body.isHidden = false;
hip.isHidden = false;
waist.isHidden = false;
bottom.isHidden = false;
Bbreast.isHidden = false;
Bbreast2.isHidden = false;
breast.isHidden = false;
breast2.isHidden = false;
postRenderOverlay();
}
}
} catch (Exception ignored) {}
}
}