/// <summary> /// Caches the current frame's active render info, including the current World, RenderEngine, GameSettings and /// FontRenderer settings, as well as interpolated player position, pitch and yaw. /// </summary> public virtual void CacheActiveRenderInfo(World par1World, RenderEngine par2RenderEngine, FontRenderer par3FontRenderer, EntityLiving par4EntityLiving, GameSettings par5GameSettings, float par6) { WorldObj = par1World; RenderEngine = par2RenderEngine; Options = par5GameSettings; LivingPlayer = par4EntityLiving; FontRenderer = par3FontRenderer; if (par4EntityLiving.IsPlayerSleeping()) { int i = par1World.GetBlockId(MathHelper2.Floor_double(par4EntityLiving.PosX), MathHelper2.Floor_double(par4EntityLiving.PosY), MathHelper2.Floor_double(par4EntityLiving.PosZ)); if (i == Block.Bed.BlockID) { int j = par1World.GetBlockMetadata(MathHelper2.Floor_double(par4EntityLiving.PosX), MathHelper2.Floor_double(par4EntityLiving.PosY), MathHelper2.Floor_double(par4EntityLiving.PosZ)); int k = j & 3; PlayerViewY = k * 90 + 180; PlayerViewX = 0.0F; } } else { PlayerViewY = par4EntityLiving.PrevRotationYaw + (par4EntityLiving.RotationYaw - par4EntityLiving.PrevRotationYaw) * par6; PlayerViewX = par4EntityLiving.PrevRotationPitch + (par4EntityLiving.RotationPitch - par4EntityLiving.PrevRotationPitch) * par6; } if (par5GameSettings.ThirdPersonView == 2) { PlayerViewY += 180F; } Field_1222_l = par4EntityLiving.LastTickPosX + (par4EntityLiving.PosX - par4EntityLiving.LastTickPosX) * (double)par6; Field_1221_m = par4EntityLiving.LastTickPosY + (par4EntityLiving.PosY - par4EntityLiving.LastTickPosY) * (double)par6; Field_1220_n = par4EntityLiving.LastTickPosZ + (par4EntityLiving.PosZ - par4EntityLiving.LastTickPosZ) * (double)par6; }