Resolving ID Block Conflicts for Dummies
A reference guide for the rest of us
Okay, one of the biggest problems left for the average user wanting to mod, now that Forge has taken care of most of the problems and MultiMC has solved the rest of them, has been IDBlock Resolution. So, in order to help new modders clear this final hurdle, I have written this tutorial.
This is a guide written specifically for those users who have ID Block Conflict errors, and want to know how to prevent them.
This guide assumes you know absolutely nothing about Java, Coding, or much of anything else.
This guide is designed to help a first time modder set things up.You *WILL* need to start over with a new world, because this WILL corrupt old save files. Then again, any sort of ID conflict resolution will, so you're hosed anyway.
This guide is primarily for SSP, since most servers will give you the config files with ID blocks already resolved, and matching the server's ID blocks.
--DO NOT modify the block ID's for any config files you have been given to use to play on a server. If you have ID block conflicts in config files given to you by a server admin, contact that server admin for tech support.--
This guide assumes that 1) you don't have more than thirty six different mods (addon mods don't count) that have id blocks, 2) each mod (and any addon mods to it, combined) does not have more than 100 ID blocks defined. If a mod has more than 100 ID blocks defined, assign it two numbers, and 3) That all the mods you want to install are compatible with Forge ModLoader.
-If you do not want to use Forge, then you may still continue reading, since the same basic concept applies to non-forge users. Simply replace 'forge' with 'ModLoader' and 'ModLoaderMP' *IN THAT ORDER*. You WILL need to also install the 4096 fix, which will need to go in the .jar along with and after ML and MLMP.-
This guide uses MultiMC, because it is the cleanest and most user friendly of adding mods and playing with different instances. You can use similar techniques without using MultiMC, it'll just be a bit more work-intensive.
Now then, one of the most commonly found problems in a new modder is they wanted to put together several mods they saw their friends use (for example: IC2, BC, Forestry, and Redpower2), then get an error that includes the line that says something like this:
[Mod] is trying to use ID block [number] but [Other Mod] is already using it
* Second off, download the recommended build of Forge.
* Run MultiMC. Make a new instance. Right click the instance icon, and select Edit Mods from the menu.
* Under the minecraft.jar tab, click 'add mod' and include the version of Forge you just downloaded.
-IMPORTANT: Forge comes with its own ForgeModLoader, therefore you do not need to install either ModLoader or ModLoaderMP. It also comes with the 4096 Fix, and AudioMod. It is NOT compatible with MCPatcher.-
* Click on Okay, and run the instance. Get to the Minecraft starting page, then quit. This step isn't exactly necessary anymore, but I still include it to make sure you got Forge working properly.
* Download all the zip and jar files for the various mods you want to play around with from their various creators. You may thank them for all of their hard work by using ad.fly links to give them a small monetary compensation with no expense on your part.
-IMPORTANT- You are wanting the 'Client' version of these mods. The 'server' version is for running a multiplayer server in the 'back end', and is not needed even when playing ON a server as a user.
* Right click the instance icon in MultiMC, select minecraft/mods tab, then use Add Mod to add all of the mods you want to use.
-NOTE: This assumes that all of the mods you want to use are ones that goes straight into the mods folder. Some mods, like Optifine, require being put into the .jar file. In this instance you add them like you did Forge, but you make SURE that they appear on the list BELOW Forge. Check mod documentation in the mod's thread for installation instructions. I would be careful about any mod which asks to be put in the .jar, particularly if it is from a source you don't necessarily trust.-
* Run the instance again. Yes, you're going to get the error message, but you need to do it in order to generate the config files you need to edit. Usually, MultiMC does this when installing the mods, but I like to make sure that everything is generated.
* Right click the instance icon in MultiMC, then View Folder. In your .minecraft folder is a folder called Config. There may be other mod-related folders as well that we will need to go into (for example, Redpower and Buildcraft have their own mod folders in the .minecraft folder that have config files).
Now then, here comes the part where we apply logic to the process. Forge comes with the 4096 fix as a part of its code. What this means to you is that we have thousands of ID blocks available to us. We're going to use this to our advantage.
Now then, Vanilla Minecraft uses ID blocks below 400. Since I would rather not bother you with skipping around, and ranges within this area, we're just going to skip it entirely. We will be working with ID blocks 400+.
Go through your list of mods, either on a sheet of paper or something like Notepad++. This isn't going to be used as code, these are just notes to keep everything straight. Assign them sequential numbers, starting with 4. This number you will be assigning them will be the hundreds digit of the ID blocks we will be using on the mod. Thus, if you pick Industrialcraft to be number 4, then the ID blocks you are reserving for Industrialcraft's exclusive use will be 400-499.
This may seem to be a bit inefficient, however it's not like we're going to run out of ID blocks any time soon, and this flat guarantees that your mod ID blocks won't conflict, since I am not aware of any mod which adds over 100 ID blocks. If you do encounter a mod with more than 100 ID blocks, you will need to assign that mod two numbers.
Not all mods have ID blocks. Particularly if you are working with addon mods (for example, Logistics Pipes for Buildcraft), you may end up having no ID blocks to add. In this case, reassign that number to someone else. I would also group addon mods together with the 'core' mod (for example, IC2 and Advanced Machines), and start assigning numbers to the addon mod ID blocks with the same hundreds digit as the core mod.
So how do I do that, exactly? Allow me to show you:
* In the /.minecraft/config folder, you'll find a bunch of files that end in .cfg. These are written in a form of code, and may be confusing for the first-time user, but what we have to do is very limited and easy to find.
-Also, a word of warning: In your config folder, there's going to be a bunch of files named 'mod_xxx.cfg'. Ignore these. They are needed, but they are not what you need. So you will want to edit, for example, IC2.cfg, but not mod_IC2.cfg. You should also leave alone anything ending in .cfg~ since they are also not what you want.-
* You'll need to look for the section where the mod author put his block ID's. Usually, this is very easy to find. If it isn't immediately visible, do a search for 'block {', and you'll find it.
* You'll then see a list of things that look like xxx = ### where xxx is the name of the blockID and ### is the ID Number.
* Start off with the very first one. Change the ### to x00 where x is the number you assigned them (for example, if the mod was assigned the number 4, you change it to 400. If you assigned it as 10, then it would be changed to 1000).
* All we are going to do is change these numbers within the block id category, going in numerical order (so 400, 401, 402...) until you have assigned all of the block ID's.
* Save it and exit.
* Rinse, wash, and repeat with your other mods.
-A word of warning about Redpower's .cfg. Some users may be a bit confused, because Elorram uses a bit more compact code which is a bit less clear about where the end of the block ID's are, simply using nested {} signs to indicate where it ends. It ends when you find a } which is right up on the left margin of the page, with no spaces. Usually, the only thing above it is a } which is indented to the right. Other mods may do something similar. But, by the restrictions of the code, it has to start with 'Block {' and has to end in a line that just has '}'.-
* Don't forget that Buildcraft puts its .cfg file in the Buildcraft folder in .minecraft and Redpower likewise puts the .cfg file in its own folder as well. Other mods may also do this, so if you see a folder in your .minecraft folder with a name of a mod, odds are you'll need to check it out.
Once you are sure that all of your .cfg files have been edited, and that there's no possible way that any ID blocks are on the same number... run your instance again. It should run just fine.
Once you feel comfortable editing ID block numbers, you may go back, if you wish, and 'compact' them a bit further. Just remember to keep some gaps in case the mods come out with new versions that have new and shinier toys that have ID Blocks. Also remember that changing ID blocks will permanently corrupt any current saves.
Congratulations, the last hurdle which stops 90% of the people interested in mods from using them has been covered! Have fun enjoying mods!
Thought I'd pop in here, as this thread shows up very high in a google search, and offer an easier alternative, although the points addressed above are still valid.
So rather than either hunting through the configs for the conflicting IDs, or going through and changing EVERY ID to ensure no conflicts, this tool will highlight the blocks that are conflicting, allowing a much easier process. All that the user has to do is determine a non-conflicting value (the program will recheck every time the ID is changed until it locates one that doesn't conflict).
Rollback Post to RevisionRollBack
Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.
A reference guide for the rest of us
Okay, one of the biggest problems left for the average user wanting to mod, now that Forge has taken care of most of the problems and MultiMC has solved the rest of them, has been IDBlock Resolution. So, in order to help new modders clear this final hurdle, I have written this tutorial.
This is a guide written specifically for those users who have ID Block Conflict errors, and want to know how to prevent them.
This guide assumes you know absolutely nothing about Java, Coding, or much of anything else.
This guide is designed to help a first time modder set things up.You *WILL* need to start over with a new world, because this WILL corrupt old save files. Then again, any sort of ID conflict resolution will, so you're hosed anyway.
This guide is primarily for SSP, since most servers will give you the config files with ID blocks already resolved, and matching the server's ID blocks.
--DO NOT modify the block ID's for any config files you have been given to use to play on a server. If you have ID block conflicts in config files given to you by a server admin, contact that server admin for tech support.--
This guide assumes that 1) you don't have more than thirty six different mods (addon mods don't count) that have id blocks, 2) each mod (and any addon mods to it, combined) does not have more than 100 ID blocks defined. If a mod has more than 100 ID blocks defined, assign it two numbers, and 3) That all the mods you want to install are compatible with Forge ModLoader.
-If you do not want to use Forge, then you may still continue reading, since the same basic concept applies to non-forge users. Simply replace 'forge' with 'ModLoader' and 'ModLoaderMP' *IN THAT ORDER*. You WILL need to also install the 4096 fix, which will need to go in the .jar along with and after ML and MLMP.-
This guide uses MultiMC, because it is the cleanest and most user friendly of adding mods and playing with different instances. You can use similar techniques without using MultiMC, it'll just be a bit more work-intensive.
Now then, one of the most commonly found problems in a new modder is they wanted to put together several mods they saw their friends use (for example: IC2, BC, Forestry, and Redpower2), then get an error that includes the line that says something like this:
[Mod] is trying to use ID block [number] but [Other Mod] is already using it
Here's what you can do about it:
* First off, download and install MultiMC
* Second off, download the recommended build of Forge.
* Run MultiMC. Make a new instance. Right click the instance icon, and select Edit Mods from the menu.
* Under the minecraft.jar tab, click 'add mod' and include the version of Forge you just downloaded.
-IMPORTANT: Forge comes with its own ForgeModLoader, therefore you do not need to install either ModLoader or ModLoaderMP. It also comes with the 4096 Fix, and AudioMod. It is NOT compatible with MCPatcher.-
* Click on Okay, and run the instance. Get to the Minecraft starting page, then quit. This step isn't exactly necessary anymore, but I still include it to make sure you got Forge working properly.
* Download all the zip and jar files for the various mods you want to play around with from their various creators. You may thank them for all of their hard work by using ad.fly links to give them a small monetary compensation with no expense on your part.
-IMPORTANT- You are wanting the 'Client' version of these mods. The 'server' version is for running a multiplayer server in the 'back end', and is not needed even when playing ON a server as a user.
* Right click the instance icon in MultiMC, select minecraft/mods tab, then use Add Mod to add all of the mods you want to use.
-NOTE: This assumes that all of the mods you want to use are ones that goes straight into the mods folder. Some mods, like Optifine, require being put into the .jar file. In this instance you add them like you did Forge, but you make SURE that they appear on the list BELOW Forge. Check mod documentation in the mod's thread for installation instructions. I would be careful about any mod which asks to be put in the .jar, particularly if it is from a source you don't necessarily trust.-
* Run the instance again. Yes, you're going to get the error message, but you need to do it in order to generate the config files you need to edit. Usually, MultiMC does this when installing the mods, but I like to make sure that everything is generated.
* Right click the instance icon in MultiMC, then View Folder. In your .minecraft folder is a folder called Config. There may be other mod-related folders as well that we will need to go into (for example, Redpower and Buildcraft have their own mod folders in the .minecraft folder that have config files).
Now then, here comes the part where we apply logic to the process. Forge comes with the 4096 fix as a part of its code. What this means to you is that we have thousands of ID blocks available to us. We're going to use this to our advantage.
Now then, Vanilla Minecraft uses ID blocks below 400. Since I would rather not bother you with skipping around, and ranges within this area, we're just going to skip it entirely. We will be working with ID blocks 400+.
Go through your list of mods, either on a sheet of paper or something like Notepad++. This isn't going to be used as code, these are just notes to keep everything straight. Assign them sequential numbers, starting with 4. This number you will be assigning them will be the hundreds digit of the ID blocks we will be using on the mod. Thus, if you pick Industrialcraft to be number 4, then the ID blocks you are reserving for Industrialcraft's exclusive use will be 400-499.
This may seem to be a bit inefficient, however it's not like we're going to run out of ID blocks any time soon, and this flat guarantees that your mod ID blocks won't conflict, since I am not aware of any mod which adds over 100 ID blocks. If you do encounter a mod with more than 100 ID blocks, you will need to assign that mod two numbers.
Not all mods have ID blocks. Particularly if you are working with addon mods (for example, Logistics Pipes for Buildcraft), you may end up having no ID blocks to add. In this case, reassign that number to someone else. I would also group addon mods together with the 'core' mod (for example, IC2 and Advanced Machines), and start assigning numbers to the addon mod ID blocks with the same hundreds digit as the core mod.
So how do I do that, exactly? Allow me to show you:
* In the /.minecraft/config folder, you'll find a bunch of files that end in .cfg. These are written in a form of code, and may be confusing for the first-time user, but what we have to do is very limited and easy to find.
-Also, a word of warning: In your config folder, there's going to be a bunch of files named 'mod_xxx.cfg'. Ignore these. They are needed, but they are not what you need. So you will want to edit, for example, IC2.cfg, but not mod_IC2.cfg. You should also leave alone anything ending in .cfg~ since they are also not what you want.-
* You'll need to look for the section where the mod author put his block ID's. Usually, this is very easy to find. If it isn't immediately visible, do a search for 'block {', and you'll find it.
* You'll then see a list of things that look like xxx = ### where xxx is the name of the blockID and ### is the ID Number.
* Start off with the very first one. Change the ### to x00 where x is the number you assigned them (for example, if the mod was assigned the number 4, you change it to 400. If you assigned it as 10, then it would be changed to 1000).
* All we are going to do is change these numbers within the block id category, going in numerical order (so 400, 401, 402...) until you have assigned all of the block ID's.
* Save it and exit.
* Rinse, wash, and repeat with your other mods.
-A word of warning about Redpower's .cfg. Some users may be a bit confused, because Elorram uses a bit more compact code which is a bit less clear about where the end of the block ID's are, simply using nested {} signs to indicate where it ends. It ends when you find a } which is right up on the left margin of the page, with no spaces. Usually, the only thing above it is a } which is indented to the right. Other mods may do something similar. But, by the restrictions of the code, it has to start with 'Block {' and has to end in a line that just has '}'.-
* Don't forget that Buildcraft puts its .cfg file in the Buildcraft folder in .minecraft and Redpower likewise puts the .cfg file in its own folder as well. Other mods may also do this, so if you see a folder in your .minecraft folder with a name of a mod, odds are you'll need to check it out.
Once you are sure that all of your .cfg files have been edited, and that there's no possible way that any ID blocks are on the same number... run your instance again. It should run just fine.
Once you feel comfortable editing ID block numbers, you may go back, if you wish, and 'compact' them a bit further. Just remember to keep some gaps in case the mods come out with new versions that have new and shinier toys that have ID Blocks. Also remember that changing ID blocks will permanently corrupt any current saves.
Congratulations, the last hurdle which stops 90% of the people interested in mods from using them has been covered! Have fun enjoying mods!
ID Conflict Resolver.
So rather than either hunting through the configs for the conflicting IDs, or going through and changing EVERY ID to ensure no conflicts, this tool will highlight the blocks that are conflicting, allowing a much easier process. All that the user has to do is determine a non-conflicting value (the program will recheck every time the ID is changed until it locates one that doesn't conflict).