mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-13 16:54:22 +00:00
68 lines
3.2 KiB
Diff
68 lines
3.2 KiB
Diff
--- ../src_base/minecraft/net/minecraft/src/RenderPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
+++ ../src_work/minecraft/net/minecraft/src/RenderPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
@@ -4,8 +4,13 @@
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
+import static net.minecraft.src.forge.IItemRenderer.ItemRenderType.EQUIPPED;
|
|
+import static net.minecraft.src.forge.IItemRenderer.ItemRendererHelper.BLOCK_3D;
|
|
import net.minecraft.client.Minecraft;
|
|
import org.lwjgl.opengl.GL11;
|
|
+import net.minecraft.src.forge.IArmorTextureProvider;
|
|
+import net.minecraft.src.forge.IItemRenderer;
|
|
+import net.minecraft.src.forge.MinecraftForgeClient;
|
|
|
|
public class RenderPlayer extends RenderLiving
|
|
{
|
|
@@ -36,7 +41,14 @@
|
|
if (var5 instanceof ItemArmor)
|
|
{
|
|
ItemArmor var6 = (ItemArmor)var5;
|
|
- this.loadTexture("/armor/" + armorFilenamePrefix[var6.renderIndex] + "_" + (par2 == 2 ? 2 : 1) + ".png");
|
|
+ if (var5 instanceof IArmorTextureProvider)
|
|
+ {
|
|
+ loadTexture(((IArmorTextureProvider)var5).getArmorTextureFile(var4));
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ this.loadTexture("/armor/" + armorFilenamePrefix[var6.renderIndex] + "_" + (par2 == 2 ? 2 : 1) + ".png");
|
|
+ }
|
|
ModelBiped var7 = par2 == 2 ? this.modelArmor : this.modelArmorChestplate;
|
|
var7.bipedHead.showModel = par2 == 0;
|
|
var7.bipedHeadwear.showModel = par2 == 0;
|
|
@@ -168,7 +180,10 @@
|
|
GL11.glPushMatrix();
|
|
this.modelBipedMain.bipedHead.postRender(0.0625F);
|
|
|
|
- if (RenderBlocks.renderItemIn3d(Block.blocksList[var3.itemID].getRenderType()))
|
|
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(var3, EQUIPPED);
|
|
+ boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, var3, BLOCK_3D));
|
|
+
|
|
+ if (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[var3.itemID].getRenderType()))
|
|
{
|
|
float var4 = 0.625F;
|
|
GL11.glTranslatef(0.0F, -0.25F, 0.0F);
|
|
@@ -269,8 +284,11 @@
|
|
{
|
|
var20 = var21.getItemUseAction();
|
|
}
|
|
-
|
|
- if (var21.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[var21.itemID].getRenderType()))
|
|
+
|
|
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(var21, EQUIPPED);
|
|
+ boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, var21, BLOCK_3D));
|
|
+
|
|
+ if (var21.itemID < 256 && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[var21.itemID].getRenderType())))
|
|
{
|
|
var6 = 0.5F;
|
|
GL11.glTranslatef(0.0F, 0.1875F, -0.3125F);
|
|
@@ -323,7 +341,7 @@
|
|
|
|
if (var21.getItem().func_46058_c())
|
|
{
|
|
- for (int var25 = 0; var25 <= 1; ++var25)
|
|
+ for (int var25 = 0; var25 < var21.getItem().getRenderPasses(var21.getItemDamage()); ++var25)
|
|
{
|
|
int var24 = var21.getItem().getColorFromDamage(var21.getItemDamage(), var25);
|
|
float var26 = (float)(var24 >> 16 & 255) / 255.0F;
|