Patches Minecraft so that you can switch between texture packs of any size within the game. Updated version of xau's original patcher.
Notes and Recent Changes:
Balthichou's RandomMobs mod is included and works with any Minecraft version. If the texture pack you use has multiple skins for each mob type, the game will randomly choose from them when a mob spawns. MCPatcher now supports mod profiles so you can switch between sets of mods easily. A profile is automatically created for each version of Minecraft you patch, including pre-releases. You can also create custom profiles. Special thanks to BloodyRain2k for providing testing and feedback for this feature. MCPatcher can load other mods like ModLoader. This is the preferred way of using mods with HD textures. See "Installing other Mods" for details. The Add mod dialog defaults to the folder .minecraft/mods/<version>. Take advantage of this to organize your mods by the version of Minecraft they are compatible with. Several people have observed that the unpatched game no longer crashes while loading HD texture packs and incorrectly concluded that this patcher is no longer needed. The crash has been fixed, but there are still a number of graphical artifacts (fire animation drawn on top of other blocks, etc.) if you do not patch. Custom animations also require the patcher.
Basic Instructions:
Download the correct version of the patcher for your OS.
Double-click the patcher. You should see this:
If you would like Better Grass (full grass texture on the sides of grass blocks next to other grass blocks), check the box next to Better Grass.
Click Patch. You do not need to select a texture pack at this point.
Start the game.
Click Mods and Texture Packs.
Click Open Texture Packs folder. If nothing happens, just go to the texturepacks folder in .minecraft instead.
Copy all your texture packs into that folder.
Enjoy switching between texture packs without repatching the game!
Video Tutorial:
Credit goes to JKurtz87 for making this video.
Downloads:
I have created adf.ly links for those who wish to support this project. Or you may donate via paypal:
Patching...
java.io.IOException: could not open com/pclewis/mcpatcher/Config.class for __Base
at com.pclewis.mcpatcher.MCPatcher.applyMods(MCPatcher.java:499)
at com.pclewis.mcpatcher.MCPatcher.patch(MCPatcher.java:446)
at com.pclewis.mcpatcher.MainForm$10$PatchThread.run(MainForm.java:323)
at java.lang.Thread.run(Unknown Source)
I do not know what causes this bug. It affects some people but not others. As a workaround, try this
Download the jar version (not the exe)
Use WinZip, 7-zip, etc., to unpack the jar into its own folder, say mcpatcher-2.2.0.
In the folder, right-click and create new text file called mcpatcher.bat. Make sure you have file extensions turned on so you are creating mcpatcher.bat and not mcpatcher.bat.txt.
Edit the file in notepad and copy the following into it:
@echo off
java com.pclewis.mcpatcher.MCPatcher
pause
Save the file and exit.
The mcpatcher-2.2.0 folder should look like this:
com
javassist
META-INF
resources
mcpatcher.bat
Double-click mcpatcher.bat. The patcher window should appear.
Installing other Mods:
It is possible to install other mods straight from the patcher. This is a convenience feature only. The patcher only copies the mod files into minecraft.jar for you. It does not and cannot do anything to make other mods compatible with any version of the game other than the one they were written for.
In the main patcher window, click the Add (+) button.
Select the zip file containing the mod you wish to apply. In this example, we'll use ModLoader.
Click Ok.
Next a window showing the list of files that will be added will appear. This is mainly informational. Confirm that the right files are listed and click Ok.
The main patcher window should look like this now:
Now we're going to add a second mod, zombe's mod pack. This will illustrate two important things: How to add just a subfolder from a mod and how to resolve mod conflicts.
Click the Add (+) button again.
Choose the zombe mod pack zip.
The subfolder window appears again. This time there are multiple subfolders to choose from. If you blindly add everything from the zip, it will not work. Instead, select the classes folder and click Ok.
Next the list of files to be added is shown. Notice this time how files are being copied from the classes folder into the root of minecraft.jar.
Now we have a slight problem. Both ModLoader and zombe's contain aaa.class. If you try to patch at this point, you will get a warning about the conflict.
You can ignore this warning and patch anyway. Or you can fix it by removing aaa.class from ModLoader. Double-click ModLoader and the list of files will appear again. Select aaa.class and click the Remove (-) button. Note: Doing this does not change the original ModLoader.zip file, only the list of files that will be copied from it.
The file list should now look like this. Click Ok.
The main patcher window should look like this:
Click Patch and run the game!
FAQ / Troubleshooting
My virus scanner says the patcher has a virus!
Some scanners detect WS.Reputation.1. It is a false positive that can be ignored. WS.Reputation.1 isn't so much a virus as it is the scanner saying "This file is new, so I don't trust it." See this post by shinji257 for more information.
HD Textures or one of the other mods is greyed out.
If you install mods by hand before running the patcher, you may run into this problem. Start from a clean minecraft.jar instead and this should never happen. Delete the bin folder in .minecraft and redownload it. Try patching again first without any mods. If that works, then add mods one at a time using the patcher as described above.
The grass blocks are grey when I enable Better Grass.
This happens when you install ModLoader after patching. Use the patcher instead, and it will install ModLoader properly. See above section "Installing other Mods" for details.
I installed XXX Mod using the patcher and now the game crashes.
Try using the Up/Down arrows in the patcher to apply mods in a different order. In my experience, putting other mods before HD Textures, etc., (which is the default behavior) works better, but you can also try moving them after.
I tried installing XXX Mod both above and below HD Textures, etc., and it didn't work.
If you tried installing both ways and it didn't work, then you're out of luck. You'll have to choose between HD textures and the other mod. Unless the source code for the mod is available, I probably won't be able to fix the incompatibility.
All this patching, repatching, installing, and uninstalling mods has made a mess of things. Now I just want to start fresh.
Delete the bin folder in your .minecraft directory and run the game's launcher again to redownload everything. If the game still crashes, delete options.txt as well to force the game to use the default textures again. You will have to redo your settings and key mappings if you do this.
The "Open Texture Packs Folder" button in the game doesn't work. / Where do I put my texture packs?
Navigate to the appropriate folder for your OS. The texturepacks folder will be in there.
Windows XP - C:\Documents and Settings\<username>\Application Data\.minecraft
Windows Vista/7 - C:\Users\<username>\AppData\Roaming\.minecraft
MacOS - From your home directory, go to Library -> Application Support -> minecraft
Linux - ~/.minecraft
As a shortcut, in Windows, you can also press Windows key+R, then type %APPDATA%\.minecraft\texturepacks and hit Enter.
When I select a particular texture pack, nothing changes.
Open the texture pack's .zip file and check that the files are in the right place. terrain.png should be in the root of the zip. If the zip contains a single folder with everything under it, it will not work. Take everything out of the folder and zip it back up. Other than that, do not unzip texture packs. Simply download them and place the .zip file as-is into the texturepacks folder.
Correctly zipped pack:
Incorrectly zipped pack:
(thanks to Gestankfaust for the screenshots)
The game crashes with an out of memory error or I get white boxes in place of some of the textures.
This mainly happens with 32-bit OSes and 256x texture packs, but there are things you can try:
If you are running a 64-bit OS, download the 64-bit version of Java. For Windows it is available here.. The first few lines of the patcher log tell you what version of Java you are running.
In the patcher options panel, there is an option to set the Java heap size. If you are running 32-bit, decrease the value to 768. If you are running 64-bit, try increasing it to 2048 or 3072. Note: This setting only affects the Test Minecraft button.
Uncheck "Use texture cache" on the MCPatcher Options tab. This will make switching packs slower, but it uses less memory.
Multiplayer does not work / Achievements are not saved / I get the "Unlicensed copy or logged in from another location" message when using the Test Minecraft button.
That's because the Test Minecraft button does not log in. It is useful for testing that the patcher worked, but if you want multiplayer or achievements, use the normal game launcher.
Does this work with version x.y.z of Minecraft?
Unlike most mods, MCPatcher is designed to be version-independent. It should work across multiple versions of the game, theoretically as far back as the 2010 Halloween update. When a new version of the game comes out, before breathlessly posting to ask when MCPatcher will be updated, just try running the version you have. Most of the time it will work as-is and you'll save yourself some unnecessary waiting.
I have a different problem not mentioned here.
Before posting, please Google for "mcpatcher other keywords site:minecraftforum.net" to see if your question has already been answered. If you do post, please include the log in your post as well. The Copy To Clipboard button puts code tags around it so all you have to do is paste it into your post.
Information for Texture Pack Authors
For the most part, you create an HD texture pack the same way you create a non-HD one. This thread has a list of the files in a typical texture pack.
Texture files within a pack can be different sizes. MCPatcher uses the largest and scales everything up to that size. This means that a 32x terrain.png and 32x items.png will be scaled to 128x if used in a pack with a 128x custom water texture.
These are the files that are considering when calculating the tile size:
width(terrain.png) / 16
width(gui/items.png) / 16
width(custom_*.png)
Custom animations are read from these files, all in the root of the texture pack .zip:
custom_water_still.png, custom_water_flowing.png - still and flowing water
custom_lava_still.png, custom_lava_flowing.png - still and flowing lava
custom_portal.png - portal animation
custom_fire_n_s.png, custom_fire_e_w.png - the north-south and east-west sides of fire blocks, respectively
custom_terrain_###.png - animation for any tile in terrain.png. ### is the tile index (0-255), not a block or item ID
custom_item_###.png - animation for any tile in items.png. ### is the tile index (0-255), not a block or item ID
Each image should be a vertical strip of separate frames. The width should match the tile size of the texture pack, but if it doesn't it will be resized to match. See this thread for a more detailed explanation.
Balthichou's RandomMobs mod is now included by default. You may include multiple skins for the same mob and the game will automatically pick one at random. Add a number to the end of the filename before the .png, e.g., /mob/creeper2.png. Start at number 2 and do not skip any numbers. For the wolf textures, make sure you include the same number of wolf, wolf_tame, and wolf_angry textures or it will look strange when a wolf changes moods.
In 2.2.0, I changed how the font widths are calculated. This causes existing custom fonts to be more spaced out. If you've added invisible "spacer pixels" to the edges of characters to get the spacing you want in the past, you'll probably want to take them out. To allow for more control over the widths of individual characters, I have included a way to specify them manually. Create a text file called /font/default.properties or /font/alternate.properties. Each line in this file specifies the width of a character:
width.<ASCII value 0-255>=<Width 0-8>
For example, to specify the widths of capital A, B, and C, you might use
width.65=5.9
width.66=5
width.67=5.25
Values can be floating point numbers (Notch's original code only supported integer widths) and range from 0-8 regardless of the resolution of the font. You do not need to specify widths for all characters, only ones where you want to override the default width.
The space character is special. Its default width is 1/2 of the average of the widths of A-Z, a-z, and 0-9. This makes the spacing between words match the overall width of the font. However you can override this the same way, by setting width.32 to a custom value.
xau's thread is available here, but the old patcher (1.1.12_02) no longer works as of 1.5_01.
Settings, including the list of enabled mods and files to include, are saved to mcpatcher.xml in the .minecraft folder. The format should be self-explanatory.
From the main patcher window, you can also
enable or disable individual mods by checking/unchecking them,
edit a mod by double-clicking it,
remove altogether a mod you previously added by selecting it and clicking the Remove (-) button, and
change the order in which mods will be applied using the up and down arrows.
If you are curious about the actual changes MCPatcher makes to minecraft.jar, use MCP to decompile a patched minecraft.jar.
Version History
11/13 2.2.2 release:
Compatible with Minecraft RC versions.
Restored workaround for white spider/endermen.
Improved Better Grass compatibility with ModLoader.
More compact UI.
Fixes for loading custom patches from jar files.
10/30 2.2.1 release:
Random Mobs is no longer dependent on HD Textures. This allows Optifine users to have Random Mobs.
Random Mobs skins are now persistent in single-player. Mobs will not change appearances when saving and reloading the world.
Fix incompatibility with Tale of Kingdoms mod. (Workaround for javassist classFile.compact bug)
Use numbered spider/enderman_eyes##.png texture if present.
10/16 2.2.0 release:
Balthichou's RandomMobs mod
Fixed enchantment table font
Fixed font width calculations and allowed texture packs to override widths if desired.
Properly refresh enchantment table font when switching packs.
Animate any tile in terrain.png or items.png by creating custom_terrain_###.png / custom_item_###.png.
10/3 2.1.2 release:
New feature: mod profiles.
Properly recognize pre-release versions with their own version number. Minecraft 1.9 Prerelease 2 will be separate from Minecraft 1.9 final. The first time you run this version, the existing backups will be renamed to the new numbering scheme if possible.
Shift-click up/down moves selected mod to top/bottom of the list.
BetterGrass also affect mycelium blocks.
Close file handles to prevent files from being needlessly locked by Windows.
Remember last mod folder.
Better, resizable mod conflicts window.
9/18 2.1.1_01 release:
Fix Better Grass with mod loader (qo.class conflict).
Fix non-AO Better Grass with 1.8
9/12 2.1.1 release:
Workaround for ! in pathname.
Fix bug when reading orig md5sum from md5s file.
Extra null checks in RenderEngine.class for BukkitContrib compatibility.
Improved handling of zips with missing directory entries (e.g., Better Than Wolves).
Improved exception handling during patching.
Fix inconsistent priority when mods add vs. replace files. In case of conflicts, mods later in the list override ones earlier in the list.
Ensure that Minecraft 1.0 final will be considered newer than 1.6 beta.
Add scrollbar to conflicts window.
Make patched code decompile cleanly with MCP again. Tested with MC 1.7.3 + MCP 4.3.
Close ZipFile when cancelling add mod operation or removing mod.
Fix white spider/enderman bug that affected some texture packs.
Reduce font size to make mod list more compact.
6/11 2.1.0_02 release:
Skip __MACOSX directory when patching
Skip subfolder dialog if mod contains no subfolders
Allow editing of previously added mods by double-clicking
Fix "double item" bug in 3rd person view
Allow selecting and removing multiple files from a mod
Fix Add mod button for Java 5 users
Set default Java heap size to 768 on 32-bit
Redirect stdout/stderr to log window
Put spoiler tags around log window text when copying to clipboard
5/29 2.1.0_01 release:
Fix "whiskers" on held items
Fix invisible ModLoader items
Make compatible with older versions of the game again
5/26 2.1.0 release:
1.6 compatibility
Custom mod support
Better Grass disabled initially
Configuration saved to mcpatcher.xml instead of mcpatcher.properties
5/1 2.0.1 release:
BetterGrass is back! Based on MrMessiah's mod.
Um, that's pretty much it.
4/26 2.0.0 release:
Fixed bug where custom animation settings were not always read. If the game appeared to ignore your settings when launched normally (vs. the Test Minecraft button), this should fix it.
Reorganized the Options panel.
Fixed a class conflict with zombe's mod pack. HD Textures should no longer be greyed out if you have this mod installed before patching.
Base the tile size of the max of several common textures, not just terrain.png. This allows you to have a 32x32 items.png and no terrain.png, for example.
Custom fire animations. Filenames are custom_fire_n_s.png and custom_fire_e_w.png.
Texture cache optional, disabled by default on 32-bit OSes.
Removed beta popup warning on first startup.
can you tell me how i could use this for millenaire?
Lucky you, I get a black screen after trying to install MCForge
Same thing happened for me.
Fresh vanilla version of minecraft.jar, installed only minecraft forge, game starts without any problems.
Fresh vanilla version of minecraft.jar, patched with mcpatcher 2.2.2, installed only minecraft forge, black screen at startup
Here is error
Exception in thread "Minecraft main thread" java.lang.NoSuchMethodError: zh.setT
ileSize(Lnet/minecraft/client/Minecraft;)V
at net.minecraft.client.Minecraft.a(SourceFile:254)
at net.minecraft.client.Minecraft.run(SourceFile:644)
at java.lang.Thread.run(Unknown Source)
One of possible solutions is installing minecraft forge and using mcpatcher after that.
can you tell me how i could use this for millenaire?
The answer is in the post you quoted. If that doesn't help you then click on the '+' button in the patcher and then look for your mod (zip file version only, I think). Confirm the inclusion of the mod and then click the patch button.
Oh my gosh. This tool is so ninja it nearly killed me. :blink.gif:
It is SO much more than a HD fix, I think the title sells it WAY short. Excellent job. I've been using it over the last 24 hours to assist quickly testing and merging mods together. It makes it SO much less painful.
I have a single (and I hope it is not a repeat) feature suggestion that would make it the perfect l tool for people who want to try and deploy a mess of mods to their MC install.
For mods that need files deployed into a specific directory in the .minecraft folder, instead of the JAR (e.g. the mods folder or resources folder): MCPatcher could let us select other sources (files or directories) from the downloaded mod ZIP and target a particular directory in the .minecraft folder. And when we "unpatch" minecraft, it would remove the files.
Again, excellent job on this... I can't say enough good things about this tool. So I'll just say thank you throw some 's your way.
Rollback Post to RevisionRollBack
----------------------------------------------
nothing to see here... move along.
Gah! I have been trying for like 2 hours to get Randomobs to work but I cant! I used MCPatcher as I always do but this time I checked the Randomobs box and then I went and put the mob skins into the jar file. I have installed countless amounts of mods before so I know how everything should go. Along with this, I also installed Modloader, Zombe's modpack, and TMI as I always do and they work. I even tried putting the mobs into another texture pack and using that. Nope, all I see are the normal ones. I really want to get this working! :sad.gif:
So... all this does is lets you use HD texture packs?
Check out my post directly above your post. You can load other mods into it, and it helps you troubleshoot compatibility issues. I've found it to be very useful for that. In point of fact, I am not even using HD Textures or HD Font mods, I am using OptiFine-HD-MT-A.
I have used it to load and to help in troubleshooting a mess of other mods that I'm testing with 1.0:
ModLoader
ModLoaderMP
AudioMod
MC Forge
OptiFine
Dynamic Lights
Infinities Loop ControlPack
GUIAPI
IDResolver
TooManyItems
SinglePlayerCommands
PlayerAPI Client
PlayerAPI/Single Player Commands Patch
Console
Random Mobs
MultiMine
With the addition of the feature I requested, it would be an extremely powerful tool for figuring out a great cocktail of mods for yourself.
Happy modding :smile.gif:
Rollback Post to RevisionRollBack
----------------------------------------------
nothing to see here... move along.
It's been overwriting my mods, I was told to try and install Modloader first - but by doing it that way my mods get uninstalled when the patcher runs. But if I don't do it that way I get the grey texture on my grass. So there is a conflict somewhere, it would really depend on what mod you're trying to run I suppose.
Just the plain minecraft.jar
the only mod i have is Inventory Tweaks, and i'm going to install Rei's minimap.
Uhhh, what's tile index? I can't find anything through searching the web, and my attempts to figure it out myself have failed epically. Help? :sad.gif:
Rollback Post to RevisionRollBack
Tke an look at ma awsum art! I don't actualy spell like that.
All mods are. And if some of the mods you choose to have MCPatcher apply to your minecraft.jar are conflicting, MC Patcher will even tell you! How's that for service? :biggrin.gif:
So basically not all mods are.
I know for a fact that BiomeWater is incompatible so you have to use OptiFine.
Don't be so flippant to say that to an obvious newbie to this subject.
Uhhh, what's tile index? I can't find anything through searching the web, and my attempts to figure it out myself have failed epically. Help? :sad.gif:
Here is an image for DokuCraft it should do the job.
Rollback Post to RevisionRollBack
Give a man a fish, and he'll be fed for a day.
Give a man a puffer fish, and he'll be fed for the rest of his life.
Close the Tester, it uses a script which doesn't login, as is standard with error testers. Start minecraft the normal way.
Will Single Player Commands still work?
Will Sound Mod Enabler still work? (uses ng.class)
"Gotta blast!" ~Spongebob Squarepants
"Use the Force, Kirk!" ~ Ka D'Argo
Same thing happened for me.
Fresh vanilla version of minecraft.jar, installed only minecraft forge, game starts without any problems.
Fresh vanilla version of minecraft.jar, patched with mcpatcher 2.2.2, installed only minecraft forge, black screen at startup
Here is error
Exception in thread "Minecraft main thread" java.lang.NoSuchMethodError: zh.setT
ileSize(Lnet/minecraft/client/Minecraft;)V
at net.minecraft.client.Minecraft.a(SourceFile:254)
at net.minecraft.client.Minecraft.run(SourceFile:644)
at java.lang.Thread.run(Unknown Source)
One of possible solutions is installing minecraft forge and using mcpatcher after that.
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
The answer is in the post you quoted. If that doesn't help you then click on the '+' button in the patcher and then look for your mod (zip file version only, I think). Confirm the inclusion of the mod and then click the patch button.
can u help?
thatsssssss a very nice ssssssignature you have there
thanks in advance!
It is SO much more than a HD fix, I think the title sells it WAY short. Excellent job. I've been using it over the last 24 hours to assist quickly testing and merging mods together. It makes it SO much less painful.
I have a single (and I hope it is not a repeat) feature suggestion that would make it the perfect l tool for people who want to try and deploy a mess of mods to their MC install.
For mods that need files deployed into a specific directory in the .minecraft folder, instead of the JAR (e.g. the mods folder or resources folder): MCPatcher could let us select other sources (files or directories) from the downloaded mod ZIP and target a particular directory in the .minecraft folder. And when we "unpatch" minecraft, it would remove the files.
Again, excellent job on this... I can't say enough good things about this tool. So I'll just say thank you throw some
nothing to see here... move along.
Check out my post directly above your post. You can load other mods into it, and it helps you troubleshoot compatibility issues. I've found it to be very useful for that. In point of fact, I am not even using HD Textures or HD Font mods, I am using OptiFine-HD-MT-A.
I have used it to load and to help in troubleshooting a mess of other mods that I'm testing with 1.0:
ModLoader
ModLoaderMP
AudioMod
MC Forge
OptiFine
Dynamic Lights
Infinities Loop ControlPack
GUIAPI
IDResolver
TooManyItems
SinglePlayerCommands
PlayerAPI Client
PlayerAPI/Single Player Commands Patch
Console
Random Mobs
MultiMine
With the addition of the feature I requested, it would be an extremely powerful tool for figuring out a great cocktail of mods for yourself.
Happy modding :smile.gif:
nothing to see here... move along.
the only mod i have is Inventory Tweaks, and i'm going to install Rei's minimap.
Tke an look at ma awsum art! I don't actualy spell like that.
So basically not all mods are.
I know for a fact that BiomeWater is incompatible so you have to use OptiFine.
Don't be so flippant to say that to an obvious newbie to this subject.
Here is an image for DokuCraft it should do the job.
Give a man a fish, and he'll be fed for a day.
Both screenshots were taken with AA enabled, the only difference is one un-patched, and the other patched (no other mods installed though).