Jump to content

[Beta] Python script to fix block-id collisions


Recommended Posts

What is it?

This is a python script that looks at all the files in your tekkit config directory and find and resolved block-id issues. It does this by finding lines that start with a "I:" or "B:" that have numbers between 159 and 4096. It makes a note of collisions and you can set it to auto-resolve them but it might get it wrong.

It worked for me... but it set some of my dimensional door values too high and I had to manually change them. Still... it saved me a lot of time, and might be useful to someone who knows python or deals with block-id collisions lots.

How to use?

0. Download the file from the pastebin link http://pastebin.com/Z8at076h

1 Make sure python is installed (with numpy).

2 Make a backup of your config file.

3 Put the file in your .mincraft or .techniclauncher\tekkit directory (1 above the config directory)

4 run it

5 It will ask you to confirm each fix by typing y and enter

6 Try running tekkit and fix any more problems.



Example Output:

python id_help.py "I:\media4\minecraft\may2013_wasteland\tekkitmain\config" -f -v

Found these keys: 200-203, 207, 700-703, 899, 911-921, 930, 1095-1100, 1102-1104, 1522-1523, 1528-1539, 1541-1548, 1550-1552, 4071, 4100-4101, 4256-4258,

4361-4362, 5000, 5203, 6001-6006, 6008-6016, 6018-6026, 6028-6036, 6038-6046, 6048-6049, 6053-6056, 6058-6066, 6068-6069,...

Free keys are: 159-199, 204-206, 208-699, 704-898, 900-910, 922-929, 931-1094, 1101, 1105-1521, 1524-1527, 1540, 1549, 1553-4070, 4072-4099, 4102-4255, 4259-4360, 4363-4999, 5001-5202, 5204-6000, 6007, 6017, 6027, 6037, 6047, 6050-6052, 6057, 6067, 6070-6079, 6087, 6097, 6106-6107, 6117, 6127-6128, 6137,...

Please wait a moment...

Output writen as csv's to .\id_help_py_report.csv

Found 1 conflicts, interactively fixing now:

Fix (y,n,r(Reroll))?

9239->9240 in file config\SimplyHorses.cfg for line:


All collisions:

file:config\BladeCraft_Mod.cfg,line:I:"Diamond PinkBlazeSword"=9239




fixed collision (9239->9240) at config\SimplyHorses.cfg line 19

Link to comment
Share on other sites

  • 4 weeks later...

Python 3.3 seems to have modified the syntax some. Print calls now need to be encapsulated in (parentheses), and there's something funky with what you're asking the lambda function in the definition "ranges(i)" as it doesn't know what y is.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...