diff --git a/build.gradle b/build.gradle index 4f45aa49f..00d0fbc84 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { apply plugin: 'forge' -version = "1.5.2" +version = "1.5.3" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "CustomNPC-Plus" diff --git a/src/main/java/noppes/npcs/CustomNpcs.java b/src/main/java/noppes/npcs/CustomNpcs.java index 39338ac97..123061a84 100644 --- a/src/main/java/noppes/npcs/CustomNpcs.java +++ b/src/main/java/noppes/npcs/CustomNpcs.java @@ -33,7 +33,7 @@ import java.io.File; import java.util.Set; import java.util.concurrent.Executors; -@Mod(modid = "customnpcs", name = "CustomNpcs", version = "1.5.2") +@Mod(modid = "customnpcs", name = "CustomNpcs", version = "1.6-beta") public class CustomNpcs { @ConfigProp(info = "Disable Chat Bubbles") diff --git a/src/main/java/noppes/npcs/ModelPartData.java b/src/main/java/noppes/npcs/ModelPartData.java index 98343d930..72b55aa14 100644 --- a/src/main/java/noppes/npcs/ModelPartData.java +++ b/src/main/java/noppes/npcs/ModelPartData.java @@ -35,6 +35,7 @@ public class ModelPartData { type = compound.getByte("Type"); color = compound.getInteger("Color"); texture = compound.getString("Texture"); + // MPM Texture Fix if(texture.contains("moreplayermodels:textures")){ texture = texture.replace("moreplayermodels:textures", "customnpcs:textures/parts"); } diff --git a/src/main/java/noppes/npcs/client/renderer/RenderNPCHumanMale.java b/src/main/java/noppes/npcs/client/renderer/RenderNPCHumanMale.java index 6c1cb85ef..3c5924fbe 100644 --- a/src/main/java/noppes/npcs/client/renderer/RenderNPCHumanMale.java +++ b/src/main/java/noppes/npcs/client/renderer/RenderNPCHumanMale.java @@ -177,7 +177,6 @@ public class RenderNPCHumanMale extends RenderNPCInterface npc.textureCloakLocation = new ResourceLocation(npc.display.cloakTexture); } bindTexture((ResourceLocation) npc.textureCloakLocation); - //AbstractClientPlayer.func_110307_b(, null); GL11.glPushMatrix(); GL11.glTranslatef(0.0F, 0.0F, 0.125F); double d = (npc.field_20066_r + (npc.field_20063_u - npc.field_20066_r) * (double)f) - (npc.prevPosX + (npc.posX - npc.prevPosX) * (double)f); @@ -193,13 +192,12 @@ public class RenderNPCHumanMale extends RenderNPCInterface f14 = 0.0F; } float f16 = npc.prevRotationYaw + (npc.rotationYaw - npc.prevRotationYaw) * f; - //f13 += MathHelper.sin((entityplayer.prevDistanceWalkedModified + (entityplayer.distanceWalkedModified - entityplayer.prevDistanceWalkedModified) * f) * 6F) * 32F * f16; float f13 = 5f; if (npc.isSneaking()) { f13 += 25F; } - //System.out.println(entityplayer.prevDistanceWalkedModified); + GL11.glRotatef(6F + f14 / 2.0F + f13, 1.0F, 0.0F, 0.0F); GL11.glRotatef(f15 / 2.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-f15 / 2.0F, 0.0F, 1.0F, 0.0F); diff --git a/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java b/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java index a65fbd801..773bddb27 100644 --- a/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java +++ b/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java @@ -32,22 +32,22 @@ import com.mojang.authlib.minecraft.MinecraftProfileTexture; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; -public class RenderNPCInterface extends RenderLiving{ +public class RenderNPCInterface extends RenderLiving{ public static long LastTextureTick = 0; public ModelBase originalModel; - public RenderNPCInterface(ModelBase model, float f){ - super(model, f); - this.originalModel = model; - } + public RenderNPCInterface(ModelBase model, float f){ + super(model, f); + this.originalModel = model; + } protected void renderName(EntityNPCInterface npc, double d, double d1, double d2) { if (!this.func_110813_b(npc)) return; float f2 = npc.getDistanceToEntity(renderManager.livingPlayer); float f3 = npc.isSneaking() ? 32F : 64F; - + if (f2 > f3) return; if (npc.messages != null){ @@ -69,199 +69,205 @@ public class RenderNPCInterface extends RenderLiving{ height = 1; } } - } - - public void doRenderShadowAndFire(Entity par1Entity, double par2, double par4, double par6, float par8, float par9){ - EntityNPCInterface npc = (EntityNPCInterface) par1Entity; - if(!npc.isKilled() && !npc.scriptInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) - super.doRenderShadowAndFire(par1Entity, par2, par4, par6, par8, par9); - } - - protected void renderLivingLabel(EntityNPCInterface npc, double d, double d1, double d2, int i, Object... obs){ - FontRenderer fontrenderer = getFontRendererFromRenderManager(); - - i = npc.getBrightnessForRender(0); - int j = i % 65536; - int k = i / 65536; - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)j / 1.0F, (float)k / 1.0F); - - float f1 = (npc.baseHeight / 5f) * npc.display.modelSize; - float f2 = 0.01666667F * f1; - GL11.glPushMatrix(); - GL11.glTranslatef((float)d + 0.0F, (float)d1, (float)d2); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - Tessellator tessellator = Tessellator.instance; - float height = f1 / 6.5f; - for(j = 0; j < obs.length; j += 2){ - float scale = (Float) obs[j + 1]; - height += f1 / 6.5f * scale; - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDepthMask(false); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glDisable(GL11.GL_TEXTURE_2D); - String s = obs[j].toString(); - GL11.glTranslatef(0, height, 0); - GL11.glScalef(-f2 * scale, -f2 * scale, f2 * scale); - tessellator.startDrawingQuads(); - int size = fontrenderer.getStringWidth(s) / 2; - tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); - tessellator.addVertex(-size - 1, -1, 0.0D); - tessellator.addVertex(-size - 1, 8 , 0.0D); - tessellator.addVertex(size + 1, 8 , 0.0D); - tessellator.addVertex(size + 1, -1 , 0.0D); - tessellator.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(true); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - int color = npc.faction.color; - fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, color); - GL11.glPopMatrix(); - } - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_LIGHTING /*GL_LIGHTING*/); - GL11.glDisable(GL11.GL_BLEND /*GL_BLEND*/); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glPopMatrix(); - } - - protected void renderPlayerScale(EntityNPCInterface npc, float f){ - GL11.glScalef((npc.scaleX / 5) * npc.display.modelSize, (npc.scaleY / 5) * npc.display.modelSize, (npc.scaleZ / 5) * npc.display.modelSize); - } - - protected void renderPlayerSleep(EntityNPCInterface npc, double d, double d1, double d2){ - shadowSize = npc.display.modelSize / 10f; - - float xOffset = 0; - float yOffset = npc.currentAnimation == EnumAnimation.NONE?npc.ai.bodyOffsetY / 10 - 0.5f:0; - float zOffset = 0; - - if(npc.isEntityAlive()){ - if(npc.isPlayerSleeping()){ - xOffset = (float) -Math.cos(Math.toRadians(180 - npc.ai.orientation)); - zOffset = (float) -Math.sin(Math.toRadians(npc.ai.orientation)); - yOffset += 0.14f; - } - else if(npc.isRiding()){ - yOffset -= 0.5f - ((EntityCustomNpc)npc).modelData.getLegsY() * 0.8f; - } - } - renderLiving(npc, d, d1, d2, xOffset, yOffset, zOffset); - } - private void renderLiving(EntityNPCInterface npc, double d, double d1, double d2,float xoffset,float yoffset,float zoffset){ - xoffset = (xoffset/ 5f) * npc.display.modelSize; - yoffset = (yoffset/ 5f) * npc.display.modelSize; - zoffset = (zoffset/ 5f) * npc.display.modelSize; - super.renderLivingAt(npc, d+xoffset, d1+yoffset, d2 + zoffset); - } - - @Override - protected void rotateCorpse(EntityLivingBase entity, float f, float f1, float f2){ - EntityNPCInterface npc = (EntityNPCInterface) entity; - if(npc.isEntityAlive() && npc.isPlayerSleeping()) - { - GL11.glRotatef(npc.ai.orientation, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(getDeathMaxRotation(npc), 0.0F, 0.0F, 1.0F); - GL11.glRotatef(270F, 0.0F, 1.0F, 0.0F); - } - else if(npc.isEntityAlive() && npc.currentAnimation == EnumAnimation.CRAWLING){ - GL11.glRotatef(270.0F - f1, 0.0F, 1.0F, 0.0F); - float scale = ((EntityCustomNpc)npc).display.modelSize / 5f; - GL11.glTranslated(-scale +((EntityCustomNpc)npc).modelData.getLegsY() * scale, 0.14f, 0); - GL11.glRotatef(270F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(270F, 0.0F, 1.0F, 0.0F); - } - else { - super.rotateCorpse(npc, f, f1, f2); - } - } - - @Override - protected void passSpecialRender(EntityLivingBase par1EntityLivingBase, double par2, double par4, double par6){ - renderName((EntityNPCInterface)par1EntityLivingBase, par2, par4, par6); - } - - @Override - protected void preRenderCallback(EntityLivingBase entityliving, float f){ - renderPlayerScale((EntityNPCInterface)entityliving, f); - } - - @Override - public void doRender(EntityLiving entityliving, double d, double d1, double d2, float f, float f1){ - EntityNPCInterface npc = (EntityNPCInterface) entityliving; - - if(npc.isKilled() && npc.stats.hideKilledBody && npc.deathTime > 20){ - return; - } - if((npc.display.showBossBar == 1 || npc.display.showBossBar == 2 && npc.isAttacking()) && !npc.isKilled() && npc.deathTime <= 20 && npc.canSee(Minecraft.getMinecraft().thePlayer)) - BossStatus.setBossStatus(npc, true); - - if(npc.ai.standingType == EnumStandingType.HeadRotation && !npc.isWalking() && !npc.isInteracting()){ - npc.prevRenderYawOffset = npc.renderYawOffset = npc.ai.orientation; - } - super.doRender(entityliving, d, d1, d2, f, f1); } - protected void renderModel(EntityLivingBase entityliving, float par2, float par3, float par4, float par5, float par6, float par7){ - super.renderModel(entityliving, par2, par3, par4, par5, par6, par7); - EntityNPCInterface npc = (EntityNPCInterface) entityliving; - if (!npc.display.glowTexture.isEmpty()) - { - GL11.glDepthFunc(GL11.GL_LEQUAL); - if(npc.textureGlowLocation == null){ - npc.textureGlowLocation = new ResourceLocation(npc.display.glowTexture); - } - bindTexture((ResourceLocation) npc.textureGlowLocation); - float f1 = 1.0F; - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); - GL11.glDisable(GL11.GL_LIGHTING); - if (npc.isInvisible()) - { - GL11.glDepthMask(false); - } - else - { - GL11.glDepthMask(true); - } - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glPushMatrix(); - GL11.glScalef(1.001f, 1.001f, 1.001f); - if(mainModel instanceof ModelMPM){ - ((ModelMPM)mainModel).isArmor = true; - mainModel.render(entityliving, par2, par3, par4, par5, par6, par7); - ((ModelMPM)mainModel).isArmor = false; - } - else - mainModel.render(entityliving, par2, par3, par4, par5, par6, par7); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glColor4f(1.0F, 1.0F, 1.0F, f1); - + public void doRenderShadowAndFire(Entity par1Entity, double par2, double par4, double par6, float par8, float par9){ + EntityNPCInterface npc = (EntityNPCInterface) par1Entity; + if(!npc.isKilled() && !npc.scriptInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) + super.doRenderShadowAndFire(par1Entity, par2, par4, par6, par8, par9); + } - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL11.GL_BLEND); - } - } - @Override - protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2){ - EntityNPCInterface npc = (EntityNPCInterface) par1EntityLiving; - if(npc.isKilled() || npc.display.disableLivingAnimation) - return 0; - return super.handleRotationFloat(par1EntityLiving, par2); - } + protected void renderLivingLabel(EntityNPCInterface npc, double d, double d1, double d2, int i, Object... obs){ + FontRenderer fontrenderer = getFontRendererFromRenderManager(); + + i = npc.getBrightnessForRender(0); + int j = i % 65536; + int k = i / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)j / 1.0F, (float)k / 1.0F); + + float f1 = (npc.baseHeight / 5f) * npc.display.modelSize; + float f2 = 0.01666667F * f1; + GL11.glPushMatrix(); + GL11.glTranslatef((float)d + 0.0F, (float)d1, (float)d2); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + Tessellator tessellator = Tessellator.instance; + float height = f1 / 6.5f; + for(j = 0; j < obs.length; j += 2){ + float scale = (Float) obs[j + 1]; + height += f1 / 6.5f * scale; + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDepthMask(false); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glDisable(GL11.GL_TEXTURE_2D); + String s = obs[j].toString(); + GL11.glTranslatef(0, height, 0); + GL11.glScalef(-f2 * scale, -f2 * scale, f2 * scale); + tessellator.startDrawingQuads(); + int size = fontrenderer.getStringWidth(s) / 2; + tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); + tessellator.addVertex(-size - 1, -1, 0.0D); + tessellator.addVertex(-size - 1, 8 , 0.0D); + tessellator.addVertex(size + 1, 8 , 0.0D); + tessellator.addVertex(size + 1, -1 , 0.0D); + tessellator.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(true); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + int color = npc.faction.color; + fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, color); + GL11.glPopMatrix(); + } + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_LIGHTING /*GL_LIGHTING*/); + GL11.glDisable(GL11.GL_BLEND /*GL_BLEND*/); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPopMatrix(); + } + + protected void renderPlayerScale(EntityNPCInterface npc, float f){ + GL11.glScalef((npc.scaleX / 5) * npc.display.modelSize, (npc.scaleY / 5) * npc.display.modelSize, (npc.scaleZ / 5) * npc.display.modelSize); + } + + protected void renderPlayerSleep(EntityNPCInterface npc, double d, double d1, double d2){ + shadowSize = npc.display.modelSize / 10f; + + float xOffset = 0; + float yOffset = npc.currentAnimation == EnumAnimation.NONE?npc.ai.bodyOffsetY / 10 - 0.5f:0; + float zOffset = 0; + + if(npc.isEntityAlive()){ + if(npc.isPlayerSleeping()){ + xOffset = (float) -Math.cos(Math.toRadians(180 - npc.ai.orientation)); + zOffset = (float) -Math.sin(Math.toRadians(npc.ai.orientation)); + yOffset += 0.14f; + } + else if(npc.isRiding()){ + yOffset -= 0.5f - ((EntityCustomNpc)npc).modelData.getLegsY() * 0.8f; + } + } + renderLiving(npc, d, d1, d2, xOffset, yOffset, zOffset); + } + private void renderLiving(EntityNPCInterface npc, double d, double d1, double d2,float xoffset,float yoffset,float zoffset){ + xoffset = (xoffset/ 5f) * npc.display.modelSize; + yoffset = (yoffset/ 5f) * npc.display.modelSize; + zoffset = (zoffset/ 5f) * npc.display.modelSize; + super.renderLivingAt(npc, d+xoffset, d1+yoffset, d2 + zoffset); + } + + @Override + protected void rotateCorpse(EntityLivingBase entity, float f, float f1, float f2){ + EntityNPCInterface npc = (EntityNPCInterface) entity; + if(npc.isEntityAlive() && npc.isPlayerSleeping()) + { + GL11.glRotatef(npc.ai.orientation, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(getDeathMaxRotation(npc), 0.0F, 0.0F, 1.0F); + GL11.glRotatef(270F, 0.0F, 1.0F, 0.0F); + } + else if(npc.isEntityAlive() && npc.currentAnimation == EnumAnimation.CRAWLING){ + GL11.glRotatef(270.0F - f1, 0.0F, 1.0F, 0.0F); + float scale = ((EntityCustomNpc)npc).display.modelSize / 5f; + GL11.glTranslated(-scale +((EntityCustomNpc)npc).modelData.getLegsY() * scale, 0.14f, 0); + GL11.glRotatef(270F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(270F, 0.0F, 1.0F, 0.0F); + } + else { + super.rotateCorpse(npc, f, f1, f2); + } + } + + @Override + protected void passSpecialRender(EntityLivingBase par1EntityLivingBase, double par2, double par4, double par6){ + renderName((EntityNPCInterface)par1EntityLivingBase, par2, par4, par6); + } + + @Override + protected void preRenderCallback(EntityLivingBase entityliving, float f){ + renderPlayerScale((EntityNPCInterface)entityliving, f); + } + + @Override + public void doRender(EntityLiving entityliving, double d, double d1, double d2, float f, float f1){ + EntityNPCInterface npc = (EntityNPCInterface) entityliving; + + if(npc.isKilled() && npc.stats.hideKilledBody && npc.deathTime > 20){ + return; + } + if((npc.display.showBossBar == 1 || npc.display.showBossBar == 2 && npc.isAttacking()) && !npc.isKilled() && npc.deathTime <= 20 && npc.canSee(Minecraft.getMinecraft().thePlayer)) + BossStatus.setBossStatus(npc, true); + + if(npc.ai.standingType == EnumStandingType.HeadRotation && !npc.isWalking() && !npc.isInteracting()){ + npc.prevRenderYawOffset = npc.renderYawOffset = npc.ai.orientation; + } + super.doRender(entityliving, d, d1, d2, f, f1); + } + + protected void renderModel(EntityLivingBase entityliving, float par2, float par3, float par4, float par5, float par6, float par7){ + super.renderModel(entityliving, par2, par3, par4, par5, par6, par7); + EntityNPCInterface npc = (EntityNPCInterface) entityliving; + if (!npc.display.glowTexture.isEmpty()) + { + GL11.glDepthFunc(GL11.GL_LEQUAL); + if(npc.textureGlowLocation == null){ + npc.textureGlowLocation = new ResourceLocation(npc.display.glowTexture); + } + bindTexture((ResourceLocation) npc.textureGlowLocation); + float f1 = 1.0F; + + GL11.glEnable(GL11.GL_BLEND); + + // Overlay & Glow + GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); + + GL11.glDisable(GL11.GL_LIGHTING); + + + if (npc.isInvisible()) + { + GL11.glDepthMask(false); + } + else + { + GL11.glDepthMask(true); + } + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPushMatrix(); + GL11.glScalef(1.001f, 1.001f, 1.001f); + if(mainModel instanceof ModelMPM){ + ((ModelMPM)mainModel).isArmor = true; + mainModel.render(entityliving, par2, par3, par4, par5, par6, par7); + ((ModelMPM)mainModel).isArmor = false; + } + else + mainModel.render(entityliving, par2, par3, par4, par5, par6, par7); + GL11.glPopMatrix(); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glColor4f(1.0F, 1.0F, 1.0F, f1); + + + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL11.GL_BLEND); + } + } + @Override + protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2){ + EntityNPCInterface npc = (EntityNPCInterface) par1EntityLiving; + if(npc.isKilled() || npc.display.disableLivingAnimation) + return 0; + return super.handleRotationFloat(par1EntityLiving, par2); + } + + @Override + protected void renderLivingAt(EntityLivingBase entityliving, double d, double d1, double d2){ + renderPlayerSleep((EntityNPCInterface)entityliving, d, d1, d2); + } - @Override - protected void renderLivingAt(EntityLivingBase entityliving, double d, double d1, double d2){ - renderPlayerSleep((EntityNPCInterface)entityliving, d, d1, d2); - } - @Override public ResourceLocation getEntityTexture(Entity entity) { @@ -276,11 +282,11 @@ public class RenderNPCInterface extends RenderLiving{ return AbstractClientPlayer.locationStevePng; } else if(npc.display.skinType == 1 && npc.display.playerProfile != null){ - Minecraft minecraft = Minecraft.getMinecraft(); + Minecraft minecraft = Minecraft.getMinecraft(); Map map = minecraft.func_152342_ad().func_152788_a(npc.display.playerProfile); - if (map.containsKey(Type.SKIN)){ - npc.textureLocation = minecraft.func_152342_ad().func_152792_a((MinecraftProfileTexture)map.get(Type.SKIN), Type.SKIN); - } + if (map.containsKey(Type.SKIN)){ + npc.textureLocation = minecraft.func_152342_ad().func_152792_a((MinecraftProfileTexture)map.get(Type.SKIN), Type.SKIN); + } LastTextureTick = 0; } else if(npc.display.skinType == 2 || npc.display.skinType == 3){ @@ -313,10 +319,10 @@ public class RenderNPCInterface extends RenderLiving{ } // 64x64 Skin is True - private void loadSkin(File file, ResourceLocation resource, String par1Str, boolean version){ - TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); - ITextureObject object = new ImageDownloadAlt(file, par1Str, SkinManager.field_152793_a, new ImageBufferDownloadAlt(version)); - texturemanager.loadTexture(resource, object); - } + private void loadSkin(File file, ResourceLocation resource, String par1Str, boolean version){ + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + ITextureObject object = new ImageDownloadAlt(file, par1Str, SkinManager.field_152793_a, new ImageBufferDownloadAlt(version)); + texturemanager.loadTexture(resource, object); + } } diff --git a/src/main/java/noppes/npcs/entity/EntityCustomNpc.java b/src/main/java/noppes/npcs/entity/EntityCustomNpc.java index 52dbcf775..bf4e669e1 100644 --- a/src/main/java/noppes/npcs/entity/EntityCustomNpc.java +++ b/src/main/java/noppes/npcs/entity/EntityCustomNpc.java @@ -10,9 +10,6 @@ import noppes.npcs.ModelData; import noppes.npcs.ModelPartData; import noppes.npcs.client.EntityUtil; -// FLY CHANGE -// extends EntityNPCInterface -// extends EntityNPCFlying public class EntityCustomNpc extends EntityNPCFlying { public ModelData modelData = new ModelData(); diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/Crescent.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Crescent.png new file mode 100644 index 000000000..c8be06b40 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Crescent.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/Doom.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Doom.png new file mode 100644 index 000000000..3e77ede6d Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Doom.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/Fire.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Fire.png new file mode 100644 index 000000000..b31606f33 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Fire.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/King.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/King.png new file mode 100644 index 000000000..2ee529c0c Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/King.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/Red.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Red.png index c88505278..db6178ba3 100644 Binary files a/src/main/resources/assets/customnpcs/textures/cloak/Extras/Red.png and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/Red.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/aura.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/aura.png index 94f6c840c..5b89d6f2d 100644 Binary files a/src/main/resources/assets/customnpcs/textures/cloak/Extras/aura.png and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/aura.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/migration_remade.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/migration_remade.png new file mode 100644 index 000000000..7283bda7d Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/migration_remade.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/red_skull.png b/src/main/resources/assets/customnpcs/textures/cloak/Extras/red_skull.png new file mode 100644 index 000000000..b99029d7a Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Extras/red_skull.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/ColiMaster.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/ColiMaster.png new file mode 100644 index 000000000..03167a852 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/ColiMaster.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/ColiTrain.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/ColiTrain.png new file mode 100644 index 000000000..60b419258 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/ColiTrain.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/PotelMaster.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/PotelMaster.png new file mode 100644 index 000000000..b861222e9 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/PotelMaster.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/PotelTrain.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/PotelTrain.png new file mode 100644 index 000000000..fc9c8aa2d Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/PotelTrain.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/SavMaster.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/SavMaster.png new file mode 100644 index 000000000..8e77436d0 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/SavMaster.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/SavTrain.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/SavTrain.png new file mode 100644 index 000000000..5ba731d22 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/SavTrain.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/Ultramarine.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/Ultramarine.png new file mode 100644 index 000000000..5f9d8182a Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Awen/Old/Ultramarine.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierI.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierI.png new file mode 100644 index 000000000..72b38e01b Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierI.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierII.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierII.png new file mode 100644 index 000000000..d32009d5d Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierII.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierIII.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierIII.png new file mode 100644 index 000000000..d0a5f6356 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierIII.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierIV.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierIV.png new file mode 100644 index 000000000..9a1b9cdfa Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierIV.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierV.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierV.png new file mode 100644 index 000000000..00a832a08 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Daybreak/Old/TierV.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Radiance.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Radiance.png new file mode 100644 index 000000000..d431209cd Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Radiance.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Theives.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Theives.png new file mode 100644 index 000000000..25edf3af5 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Theives.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/WhispererBlack.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/Old_WhispererBlack.png similarity index 100% rename from src/main/resources/assets/customnpcs/textures/cloak/Extras/WhispererBlack.png rename to src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/Old_WhispererBlack.png diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/WhispererRed.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/Old_WhispererRed.png similarity index 100% rename from src/main/resources/assets/customnpcs/textures/cloak/Extras/WhispererRed.png rename to src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/Old_WhispererRed.png diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Extras/Whisperer.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/Old_WhispererWhite.png similarity index 100% rename from src/main/resources/assets/customnpcs/textures/cloak/Extras/Whisperer.png rename to src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/Old_WhispererWhite.png diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererBlack.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererBlack.png new file mode 100644 index 000000000..7032a67d9 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererBlack.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererGrey.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererGrey.png new file mode 100644 index 000000000..869dbf813 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererGrey.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererGrey_Custom.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererGrey_Custom.png new file mode 100644 index 000000000..a1d7a3f6e Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererGrey_Custom.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererRed.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererRed.png new file mode 100644 index 000000000..dcd3c2a5d Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererRed.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererRedWhite.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererRedWhite.png new file mode 100644 index 000000000..edd2fcb4e Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererRedWhite.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererV.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererV.png new file mode 100644 index 000000000..7a67bbf93 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererV.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererWhite.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererWhite.png new file mode 100644 index 000000000..190e0016b Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Old/WhispererWhite.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Whisperer.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Whisperer.png new file mode 100644 index 000000000..c43fb4cad Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/Whisperer.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack.png new file mode 100644 index 000000000..edd8e2379 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_Custom.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_Custom.png new file mode 100644 index 000000000..3e367eb9d Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_Custom.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_RedSymbol.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_RedSymbol.png new file mode 100644 index 000000000..b981ff5f8 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_RedSymbol.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_RedTrim.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_RedTrim.png new file mode 100644 index 000000000..8db96cd6f Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBlack_RedTrim.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBrown_Custom.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBrown_Custom.png new file mode 100644 index 000000000..c991a2c1d Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererBrown_Custom.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererWhite.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererWhite.png new file mode 100644 index 000000000..20d89e2f8 Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererWhite.png differ diff --git a/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererWhite_RedSymbol.png b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererWhite_RedSymbol.png new file mode 100644 index 000000000..c0b45c00c Binary files /dev/null and b/src/main/resources/assets/customnpcs/textures/cloak/Guilds/Whisperer/WhispererWhite_RedSymbol.png differ