OptiFine

OptiFine is a utility mod created by sp614x. It was designed to overhaul Minecraft's lighting and rendering systems to increase their efficiency and visibility. OptiFine is a purely client-side mod and will crash if loaded by a server. As with all mods intended to improve performance, it is possible but rare for it to decrease performance. As a related point, a small number of mods use custom-made rendering systems that may not work alongside OptiFine; Chisel in particular has been known to intermittently have its textures become invisible in OptiFine's presence. OptiFine is not included by default in any FTB mod packs, as its author requires express written permission to redistribute the mod outside of its forum thread or optifine.net. However, because of its general performance improvements, many players recommend using it in most mod packs so long as it does not cause other problems.

OptiFine has been consistently criticized by the Modded Minecraft community for unorthodoxly replacing large swathes of Vanilla code; as a result, a first step for debugging mod crashes is removing the mod if it is present.

Unlike most other mods, OptiFine does not rely on Minecraft Forge. It can be added to a Forge mod pack as any other mod, but it can also be manually installed into an unmodified Minecraft .jar file (and will create its own profile in the vanilla launcher). As a result, OptiFine is almost always one of the first mods to advance to new Minecraft versions (although its initial releases are usually incompatible with subsequent initial Forge releases).

Features
Many of OptiFine's visual and performance enhancements can be configured through Video Settings in the Options menu. Listed below are OptiFine's various features.
 * Smooth Lighting becomes a percentage rather than simply being a toggle.
 * Fog gains a quality toggle as well as a start range toggle.
 * The Render Distance slider is expanded substantially, allowing for render distances up to 64 chunks and allowing it to be slid in one-chunk intervals.
 * Smooth and Multi-Core Chunk Loading options are added. These attempt to reduce the FPS loss incurred by loading and rendering new chunks.
 * An option is added to cause Water to render transparently, allowing users to actually see the bottoms of rivers they are standing near.
 * Options are added to cause Snow to render under Fences and Snow and Grass to visually cover full blocks rather than just their top sides.
 * An option is added to cause plants and water in Swamps to render darker.
 * An option is added to smooth the color transitions on Biome borders into gradients, so that adjacent grass and leaves are not abruptly completely different colors.
 * The "Natural Textures" option causes walls of identical blocks to alternate their normal textures with rotated and flipped versions of their textures, to break up the monotonous grid-like nature of such walls.
 * The "Fast Math" option tries to use more optimized rendering functions to further increase FPS.
 * The "Fast Render" option uses completely different rendering algorithms altogether to decrease processing load and attempt to significantly increase FPS. However, Fast Render can cause the textures of some blocks, in particular the blocks of a Tinkers' Construct Smeltery, to flicker.
 * The "Chunk Updates" setting changes the number of chunks updates that occur in between each frame generated. Higher settings will cause the world to render more quickly, but can significantly impact FPS, especially when first loading into a world.
 * The "Dynamic Updates" setting causes more chunk updates to occur when the player is not moving. This causes the world to load and render faster at times when the potential performance impact would be less important.
 * The "Dynamic Lighting" setting causes light-emitting items (such as torches or glowstone) and lit TNT and Creepers to emit client-side light when held or dropped. This light does not exist server-side, but can allow a player to scout out a cave without actually placing torches at the cost of not having a Sword or Shield.
 * Since OptiFine F2 for Minecraft 1.8.8, OptiFine also includes shader pack support and customization, and a built-in shader package.

Controls
OptiFine adds two new Control hotkeys as well: a "Zoom" key and a "Cinematic Camera" key. The Zoom control (C by default), when held, zooms in the camera significantly, akin to the effect gained by the user of a scoped weapon in a first-person shooter. The Zoom control is very useful for both scouting and Bow aiming. The Cinematic Camera key (not bound by default) causes the camera to actually have inertia. Moving the mouse no longer simply whips the camera around, it causes the camera to smoothly turn in the direction of the movement. Cinematic Camera is automatically used whenever the Zoom control is held, but otherwise its usefulness is somewhat limited.

Lite, Standard, and Ultra versions
In Minecraft 1.7.10 and earlier, OptiFine had three separate versions: Lite, Standard, and Ultra. OptiFine Lite contains the fewest features and is designed to be installed directly into Minecraft itself; OptiFine Lite was not compatible with Minecraft Forge. OptiFine Ultra is the most powerful version, but it is also the most likely to have minor issues. In particular, its Multi-Threaded Chunk Loading option has been known to cause chunk borders and large, flat surfaces to flicker. OptiFine Standard had fewer features than Ultra, but had fewer issues with flickering planes. As of Minecraft 1.8 and beyond, OptiFine Ultra is the only version still in development.

Trivia
Up until 1.1, there existed a bug with OptiFine which would cause world rendering to completely break when traveling a far enough distance away, with effects manifesting as soon as 10,000 blocks. The effects would appear to get more intense continuously when moving far away from the center of the world, as opposed to having cutoffs every 2^integer blocks, due to this rendering bug and taking rotation into account (though if the rotation is kept constant and along one axis discrete jumps become noticeable). The bug existed due to the mod undoing the base game's fix for said bug.

Versions of Optifine for Minecraft versions before 1.13 or from 1.14.4 and beyond work alongside Forge, but for versions from 1.13 to 1.14.3, OptiForge is needed to allow OptiFine to work for Forge. All versions require OptiFabric to be used with Fabric, as the mod is not inherently compatible with it. This does not apply to the Rift modloader (1.13 or 1.13.2), which just needs an extracted OptiFine mod JAR in the mods folder to work.

Criticism
OptiFine has been widely criticized by the Modded Minecraft community for replacing swathes of Vanilla Minecraft code, which causes crashes and bugs. Because the mod is closed-source, mod developers are unable to attempt fixing bugs related to OptiFine and their mods.