ForgePatch/patches/minecraft/net/minecraft/src/EntityRenderer.java.patch

98 lines
4.5 KiB
Diff

--- ../src_base/minecraft/net/minecraft/src/EntityRenderer.java 0000-00-00 00:00:00.000000000 -0000
+++ ../src_work/minecraft/net/minecraft/src/EntityRenderer.java 0000-00-00 00:00:00.000000000 -0000
@@ -5,6 +5,8 @@
import java.util.List;
import java.util.Random;
import net.minecraft.client.Minecraft;
+import net.minecraft.src.forge.ForgeHooksClient;
+
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.GL11;
@@ -287,8 +289,15 @@
*/
private void updateFovModifierHand()
{
- EntityPlayerSP var1 = (EntityPlayerSP)this.mc.renderViewEntity;
- this.fovMultiplierTemp = var1.getFOVMultiplier();
+ if (mc.renderViewEntity instanceof EntityPlayerSP)
+ {
+ EntityPlayerSP var1 = (EntityPlayerSP)this.mc.renderViewEntity;
+ this.fovMultiplierTemp = var1.getFOVMultiplier();
+ }
+ else
+ {
+ this.fovMultiplierTemp = mc.thePlayer.getFOVMultiplier();
+ }
this.fovModifierHandPrev = this.fovModifierHand;
this.fovModifierHand += (this.fovMultiplierTemp - this.fovModifierHand) * 0.5F;
}
@@ -304,7 +313,7 @@
}
else
{
- EntityPlayer var3 = (EntityPlayer)this.mc.renderViewEntity;
+ EntityLiving var3 = (EntityLiving)this.mc.renderViewEntity;
float var4 = 70.0F;
if (par2)
@@ -391,12 +400,14 @@
if (!this.mc.gameSettings.debugCamEnable)
{
- int var10 = this.mc.theWorld.getBlockId(MathHelper.floor_double(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double(var2.posZ));
-
- if (var10 == Block.bed.blockID)
+ int x = MathHelper.floor_double(var2.posX);
+ int y = MathHelper.floor_double(var2.posY);
+ int z = MathHelper.floor_double(var2.posZ);
+ Block block = Block.blocksList[mc.theWorld.getBlockId(x, y, z)];
+
+ if (block != null && block.isBed(mc.theWorld, x, y, z, var2))
{
- int var11 = this.mc.theWorld.getBlockMetadata(MathHelper.floor_double(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double(var2.posZ));
- int var12 = var11 & 3;
+ int var12 = block.getBedDirection(mc.theWorld, x, y, z);
GL11.glRotatef((float)(var12 * 90), 0.0F, 1.0F, 0.0F);
}
@@ -1095,8 +1106,11 @@
var20 = (EntityPlayer)var4;
GL11.glDisable(GL11.GL_ALPHA_TEST);
Profiler.endStartSection("outline");
- var5.drawBlockBreaking(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
- var5.drawSelectionBox(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
+ if (!ForgeHooksClient.onBlockHighlight(var5, var20, mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1))
+ {
+ var5.drawBlockBreaking(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
+ var5.drawSelectionBox(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
+ }
GL11.glEnable(GL11.GL_ALPHA_TEST);
}
}
@@ -1160,8 +1174,12 @@
var20 = (EntityPlayer)var4;
GL11.glDisable(GL11.GL_ALPHA_TEST);
Profiler.endStartSection("outline");
- var5.drawBlockBreaking(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
- var5.drawSelectionBox(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
+
+ if (!ForgeHooksClient.onBlockHighlight(var5, var20, mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1))
+ {
+ var5.drawBlockBreaking(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
+ var5.drawSelectionBox(var20, this.mc.objectMouseOver, 0, var20.inventory.getCurrentItem(), par1);
+ }
GL11.glEnable(GL11.GL_ALPHA_TEST);
}
@@ -1185,6 +1203,9 @@
this.setupFog(1, par1);
GL11.glPopMatrix();
}
+
+ Profiler.endStartSection("fhooks");
+ ForgeHooksClient.onRenderWorldLast(var5, par1);
Profiler.endStartSection("hand");