Overview#
MCPatcher HD is a foundational utility designed to transcend the default graphical limitations of the game. Originally created to fix the hard-coded texture size limits, it evolved into a powerful engine for visual overhauls. It allows resource pack authors to implement features that were previously impossible, such as seamless glass, custom skyboxes, and varied mob appearances. Unlike standard content mods, MCPatcher HD modifies the game's internal code to support advanced rendering techniques, ensuring that high-resolution textures and complex animations function correctly without visual artifacts.
Connected Textures (CTM)#
Connected Textures (CTM) is one of the most prominent features, allowing blocks to change their appearance based on their neighbors. This eliminates the repetitive 'grid' look of certain blocks, most notably glass, bookshelves, and sandstone.
Connection Methods
| Method | Description |
|---|---|
| ctm | The standard 47-tile method that connects blocks in all directions. |
| horizontal | Connects blocks only on the left and right (ideal for bookshelves). |
| vertical | Connects blocks only above and below (ideal for pillars). |
| top | Applies a specific texture only to the top surface of a block cluster. |
| random | Randomly selects from a pool of textures to add variety to a surface. |
| repeat | Tiles a large texture over a grid of blocks (e.g., a 2x2 or 4x4 pattern). |
Configuration Properties
Blocks are configured using .properties files within the assets/minecraft/mcpatcher/ctm/ directory. Key parameters include:
matchBlocks: The IDs of the blocks this rule applies to.method: The tiling algorithm used.tiles: The specific texture indices to use from the source image.connect: Defines if the block connects to its own ID, its material, or specific tiles.
Random Mobs#
The Random Mobs feature allows for multiple skins to be assigned to a single entity type. This adds significant immersion by ensuring that every creature encountered in the world does not look identical.
Entity Customization
| Feature | Functionality |
|---|---|
| Skin Variation | Assigns an unlimited number of textures (e.g., zombie2.png, zombie3.png) to a mob. |
| Biome Specificity | Restricts certain skins to specific biomes (e.g., white wolves in snowy biomes). |
| Height Mapping | Changes mob appearance based on the Y-level (e.g., darker creepers in deep caves). |
| Weighting | Controls the rarity of specific skins using a numerical weight system. |
Behavior and Spawning
Random Mobs does not change the AI or spawn rates of entities; it purely intercepts the rendering process. When a mob spawns, the mod checks the associated .properties file in mcpatcher/mob/ to determine which skin to apply based on the world conditions at that coordinate.
Custom Item Textures (CIT)#
Custom Item Textures (CIT) allows items to change their look based on their metadata, name, or enchantments. This is widely used to create unique 'legendary' weapons or specialized tools within a resource pack.
Item Property Triggers
| Trigger | Effect |
|---|---|
| Item Name | Changes the texture if the item is renamed in an anvil (e.g., a sword named 'Excalibur'). |
| Enchantments | Applies a specific texture or glint if the item has certain enchantments. |
| Stack Size | Changes the texture based on how many items are in the stack (e.g., a single arrow vs. a quiver). |
| Damage/Durability | Changes the texture as a tool loses durability (e.g., a cracked pickaxe). |
| NBT Data | Advanced matching based on any NBT tag present on the item. |
Implementation
Texture overrides are placed in mcpatcher/cit/. A typical sword.properties file might look like this:
type=item
items=diamond_sword
texture=excalibur.png
nbt.display.Name=ipattern:ExcaliburBetter Skies#
Better Skies replaces the default sun, moon, and star rendering with high-resolution, multi-layered skyboxes. This allows for realistic clouds, nebulae, and planetary bodies.
Skybox Mechanics
- Layering: Multiple sky textures can be layered on top of each other with different blend modes (add, subtract, multiply).
- Fading: Textures can fade in and out at specific times of the day or night.
- Rotation: Custom rotation speeds can be set for different layers, allowing clouds to move independently of the stars.
- Biome Fog: Sky textures can be tied to biome-specific fog colors for seamless environmental transitions.
Custom Colors#
Custom Colors provides a way to override the hard-coded color palettes used for various environmental effects. This is essential for 'themed' resource packs (e.g., apocalyptic, autumn, or alien worlds).
Customizable Elements
| Element | Description |
|---|---|
| Biome Palettes | Custom colormaps for grass, foliage, and water across all biomes. |
| Lighting | Custom lightmaps for torches, sunlight, and moonlight (e.g., making torchlight more orange). |
| Particle Colors | Changes the color of particles like drip water, redstone dust, and potion swirls. |
| GUI Text | Customizes the color of text in menus and the HUD. |
| Sky & Fog | Overrides the default horizon and zenith colors for the sky. |
These settings are managed via color.properties and various .png colormaps located in the mcpatcher/colormap/ folder.
Mechanics and Technical Features#
MCPatcher HD operates as a standalone executable that patches the game's JAR file. It includes several technical optimizations and compatibility features:
- HD Font Support: Enables the use of non-square fonts and high-resolution character maps, ensuring text remains legible at any scale.
- Extended Animation: Allows for custom animations on any block or item texture, with control over frame rate and interpolation.
- Better Glass: Provides support for semi-transparent glass textures, allowing for 'stained glass' effects before they were officially added to the base game.
- Mipmapping: Improves the visual quality of distant textures by reducing aliasing and shimmering.
- Mod Compatibility: The patcher includes an 'Add' button to merge other mods (like ModLoader) into the patched JAR, resolving common file conflicts automatically during the patching process.