Page 1 of 2
1
2
LastLast
  1. #1

    Minecraft Item Id Reporter Program

    The duplicate block and item ids are a real pain, so I wrote this Perl script to generate a report on them.
    It says how many it found for each config file and if any are duplicates and then prints a report of all ids found.

    You have to run it from your %APPDATA% folder or change the $startDir variable.
    Perl is a scripting language. You will need to install Perl for it to work. Just search for Active Perl download.
    Just copy the source program code into WordPad and save it as minecraft_find_ids.pl

    PasteBin Minecraft Item Id Reporter
    http://pastebin.com/1nEr2HZ6

    EDIT: uploaded version 7
    now finds biomes-o-plenty ids again
    separates biomes
    Last edited by OldFarmerJoe; 2013-10-31 at 06:53 AM. Reason: version 4

  2. #2
    LOAD"*",8,1 Fuzzzie's Avatar
    15+ Year Old Account
    Join Date
    Nov 2008
    Location
    Legion of Doom Headquarters
    Posts
    20,245
    This worked flawlessly. Thank you for your effort.

  3. #3
    This is just what I needed.. except I don't really understand how to run this. If either of you could be a bit more laymen for us "not-so-tech-savvy" peeps that would rock!


    EDIT: I use MultiMC to launch Minecraft. C:\MultiMC4\instances\FTB 1.4.6
    Last edited by Gecko333; 2012-12-29 at 11:55 PM.

  4. #4
    Thanks Fuzzzie. Glad you like it. I tried to private message you, but the site won't let me since I am a new user. Your mod post thread has been really helpful. If it misses any IDs, I would be happy to enhance it.
    Last edited by OldFarmerJoe; 2012-12-30 at 12:26 AM.

  5. #5
    LOAD"*",8,1 Fuzzzie's Avatar
    15+ Year Old Account
    Join Date
    Nov 2008
    Location
    Legion of Doom Headquarters
    Posts
    20,245
    Quote Originally Posted by OldFarmerJoe View Post
    Thanks Fuzzzie. Glad you like it. I tried to private message you, but the site won't let me since I am a new user. Your mod post thread has been really helpful. If it messes any IDs, I would be happy to enhance it.
    I actually used it to solve all the ID conflicts with all those mods. It found a few that i would have never even noticed. Great work!!

    Yeah, you'll need 10 posts to send me a PM

    @Gecko333 Did you install Active Pearl? It's just a double-click if you have it installed.

  6. #6
    Not yet.. just walked in the door from a very long day of work, and I'm already on my 3rd beer. And need to get out the door with the quickness to meet family that's in from outta town for dinner..

    Umm.. Double click the saved wordpad file minecraft_find_ids.pl? I can handle that.. Im guessing i need to change the path to my minecraft instance though. Okay, I'll see what I can hammer out once I get back... thanks!


    EDIT: p.s. I finally got around to checking out one of your lets-play vids.. good stuff! Looking forward to checking them out more.
    Last edited by Gecko333; 2012-12-30 at 12:02 AM.

  7. #7
    Gecko333, here is more of an explanation. Sorry, you did ask for it.

    The paste bin line is a URL. As a new user, I can't post links. Just copy it into your browser's URL line and hit return. Once you get to paste bin, copy my entire post into Wordpad. Don't use Notepad, it's messes with what is typed and will mess up the program source code. In Wordpad save the new file as minecraft_find_ids.pl. ".pl" is the extension for the Perl computer language. Don't save it with the ".txt" extension.

    But you can't run my program or script without installing PERL. But you can download it for free. Just search for "ActivePerl Download". The first one that comes in Bing will do. For Windows you want the Windows Installer (Msi). Strawberry Perl is another Perl for Windows. A Linux Perl would be ok too.

    If you install Perl in the default place, your path to the Perl executable should be
    C:Perl\bin\perl.exe
    which you will notice is the first line of my Perl script that you saved in Wordpad.
    That first line is how a Perl script knows where to find the Perl executable.
    If you change the Perl location, you have to edit that line.
    Don't forget to keep the #! before the path.

    Since the minecraft_find_ids.pl was saved with the ".pl" extension, its Icon should now be funny line with four stars around it.

    Now put minecraft_find_ids.pl in you %APPDATA% folder and double click on its icon to run it. It just needs to be in the same folder as your .minecraft folder.

    It will search your entire .minecraft folder for config files. It will find any types that I know about. So I might need to add more file types. It reports how many IDs it found per file. So if you think a config file has some IDs and the program didn't find them, then I need to enhance the program. It stores all the IDs and will report any duplicates as an error. So you will need to edit the config file by hand and fix the error. The program doesn't edit the files for you. After it scans all the files it generates a table showing all the IDs it found and which file they where found in. It creates the report file "minecraft_id.rpt".

    The mods create the config files so you need to try and run Minecraft, even if it crashes. Hopefully the config file is created before the crash. You can also run the mod as the only mod in your mod folder just to get it to run. Which will create the config file.

    I noticed that some mods didn't work when I changed their IDs. I just changed that other config file that conflicted.

    ---------- Post added 2012-12-29 at 04:23 PM ----------

    Oh, it dosn't matter how you run Minecraft. All ways seem to generate a .minecraft folder in the %APPDATA% folder that are all structured the same.
    This program runs outside Minecraft and just looks at the config files that mods creates.

  8. #8

  9. #9
    Quote Originally Posted by OldFarmerJoe View Post
    Gecko333, here is more of an explanation. Sorry, you did ask for it.

    The paste bin line is a URL. As a new user, I can't post links. Just copy it into your browser's URL line and hit return. Once you get to paste bin, copy my entire post into Wordpad. Don't use Notepad, it's messes with what is typed and will mess up the program source code. In Wordpad save the new file as minecraft_find_ids.pl. ".pl" is the extension for the Perl computer language. Don't save it with the ".txt" extension.

    But you can't run my program or script without installing PERL. But you can download it for free. Just search for "ActivePerl Download". The first one that comes in Bing will do. For Windows you want the Windows Installer (Msi). Strawberry Perl is another Perl for Windows. A Linux Perl would be ok too.

    If you install Perl in the default place, your path to the Perl executable should be
    C:Perl\bin\perl.exe
    which you will notice is the first line of my Perl script that you saved in Wordpad.
    That first line is how a Perl script knows where to find the Perl executable.
    If you change the Perl location, you have to edit that line.
    Don't forget to keep the #! before the path.

    Since the minecraft_find_ids.pl was saved with the ".pl" extension, its Icon should now be funny line with four stars around it.

    Now put minecraft_find_ids.pl in you %APPDATA% folder and double click on its icon to run it. It just needs to be in the same folder as your .minecraft folder.

    It will search your entire .minecraft folder for config files. It will find any types that I know about. So I might need to add more file types. It reports how many IDs it found per file. So if you think a config file has some IDs and the program didn't find them, then I need to enhance the program. It stores all the IDs and will report any duplicates as an error. So you will need to edit the config file by hand and fix the error. The program doesn't edit the files for you. After it scans all the files it generates a table showing all the IDs it found and which file they where found in. It creates the report file "minecraft_id.rpt".

    The mods create the config files so you need to try and run Minecraft, even if it crashes. Hopefully the config file is created before the crash. You can also run the mod as the only mod in your mod folder just to get it to run. Which will create the config file.

    I noticed that some mods didn't work when I changed their IDs. I just changed that other config file that conflicted.

    ---------- Post added 2012-12-29 at 04:23 PM ----------

    Oh, it dosn't matter how you run Minecraft. All ways seem to generate a .minecraft folder in the %APPDATA% folder that are all structured the same.
    This program runs outside Minecraft and just looks at the config files that mods creates.
    I can't thank you enough... really helps make my life a lot easier setting up my server. I'm kind of surprised something like this isn't more mainstream considering how widely used mods are. Anyway, thanks again and hope you have a great new years. Cheers!

  10. #10
    Holy smokes that was easy to use! I ended up with 11 conflicts most of which were Cameracraft... not bad for 73 mods installed. Thank you again for this! I have a feeling this thread is about to become majorly popular in a hurry...

  11. #11
    Deleted
    had to remove the "." from the directory name as i use multimc but works nice and i found 4 errors but thats due to new forresty and extra bees orks

  12. #12
    I uploaded a new version. It finds more IDs now.

  13. #13
    LOAD"*",8,1 Fuzzzie's Avatar
    15+ Year Old Account
    Join Date
    Nov 2008
    Location
    Legion of Doom Headquarters
    Posts
    20,245
    Looks good. I think the script is mistaking some of the extrabees configs though. From what I'm looking at the configs are correct, but its coming up as errors. Not a big deal.

  14. #14
    What are the rules for block and item IDs?
    It seems some mods treat them like two separate lists, while others overlap them.
    ExtraBees overlaps them.

    block {
    I:advGeneticMachine=4005
    I:apiaristMachine=4003
    I:geneticMachine=4004
    }

    item {
    I:advGeneticMachine=4004
    I:apiaristMachine=4002
    I:electronic=8580
    I:electronicID=8580
    I:geneticMachine=4003
    }

    Reading .minecraft/config/forestry/extrabees/machines.conf
    ERROR: id 4004 is already used for .minecraft/config/forestry/extrabees/machines.conf block.geneticMachine, change item.advGeneticMachine
    ERROR: id 8580 is already used for .minecraft/config/forestry/extrabees/machines.conf item.electronic, change item.electronic
    ERROR: id 4003 is already used for .minecraft/config/forestry/extrabees/machines.conf block.apiaristMachine, change item.geneticMachine
    count = 5
    errors = 3

    Reading .minecraft/config/forestry/extrabees/main.conf
    ERROR: id 8500 is already used for .minecraft/config/forestry/extrabees/main.conf block.liqu, change item.liqu
    ERROR: id 8510 is already used for .minecraft/config/forestry/extrabees/main.conf block.liquidContainer, change item.liquidContainer
    count = 24
    errors = 2

    I get one other error that bogus too.
    Is EE3.item.miniumStone an item or just a config setting?

    Reading .minecraft/config/buildcraft/main.conf
    ERROR: id 1521 is already used for .minecraft/config/EE3.cfg item.miniumStone, change block.oilStill
    count = 60
    errors = 1
    Last edited by OldFarmerJoe; 2013-01-04 at 02:17 AM.

  15. #15
    LOAD"*",8,1 Fuzzzie's Avatar
    15+ Year Old Account
    Join Date
    Nov 2008
    Location
    Legion of Doom Headquarters
    Posts
    20,245
    Quote Originally Posted by OldFarmerJoe View Post
    I get one other error that bogus too.
    Is EE3.item.miniumStone an item or just a config setting?
    Minium Stone is an item, yes.

  16. #16
    Added parsing for biomes-o-plenty ids, which have quotes.
    Uploaded version 5.

  17. #17
    Just wanted to throw a "Thank You" your way, OldFarmerJoe! This little script has become an invaluable tool in my arsenal.

  18. #18
    Deleted
    Thank you from me aswell, Joe!

  19. #19
    Glad people are finding it useful.
    If anyone points out a config it can't read I will be glad to update it again.

  20. #20
    I was wondering if this script could be edited to separate the count of block ID's vs item ID's. For example it checks the config file and returns "count = #". I was hoping it would return something along the lines of "count = 9; block = 3; item = 6"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •