Nzkiwi Posted January 5, 2014 Posted January 5, 2014 Hello, In this post I'd like to start an unofficial [de]obfuscated names list, because many people can't find for example material names and Block class methods. I hope this isssue will disappear fastly, because it's a huge problem. So here it goes, what i have guessed after analysis of basic Minecraft source: I hope this helps, I'll be adding more deobfuscated names. Thank you for all the names! Now we can start easy modding! The list: Creative tabs Nice, this one isn't obfuscated. Material Found by WorldsEnder field_151579_a : MaterialAir field_151579_b : MaterialGrass field_151578_c : MaterialDirt field_151575_d : MaterialWood (like bookshelf, etc.) field_151576_e : MaterialStone field_151576_e : MaterialMachine (hopper, cauldron and brewingStand) field_151574_g : MaterialAnvil field_151586_h : MaterialWater field_151587_i : MaterialLava field_151584_j : MaterialLeaves field_151585_k : MaterialPlant (+cocaoBeans) (can not be replaced and doesn't burn) field_151582_l : MaterialGrass (can be replaced and burns) field_151583_m : MaterialSponge field_151580_n : MaterialBed field_151581_o : MaterialFire field_151595_p : MaterialSoulSand field_151594_q : MaterialLogic (redstone, rails and flowerpots, lever, torches and tripwire) field_151593_r : MaterialCarpet field_151592_s : MaterialBeacon (+stainedGlass) field_151591_t : MaterialRedstoneLight field_151590_u : MaterialTNT field_151589_v : MaterialCoral //Yes, the old coral [Thanks to clashthegame for making a research ] field_151588_w : MaterialIce field_151598_x : MaterialPackedIce field_151597_y : MaterialSnow field_151596_z : MaterialSnowBlock field_151570_A : MaterialCactus field_151571_B : MaterialClay (+silverfish) field_151572_C : MaterialMelon field_151566_D : MaterialDragonEgg field_151567_E : MaterialPortal field_151568_F : MaterialCake field_151569_G : MaterialWeb func_151565_r(): returns the color on the map World Found by PlatonCraft func_147437_c(int, int, int) : isAirBlock(posX, posY, posZ) //Checks whether block on coords is air or not func_147439_a(int, int, int) : getBlock(posX, posY, posZ) //What block is on coords func_147449_b(int, int, int, Block) : setBlock(posX, posY, posZ, Blocks.block) //Spawns block block to coords func_149664_b(WorldClient, int, int, int, int): onBlockDestroyed(worldClient, posX, posY, posZ, metadata) Block Found by PlatonCraft and Me func_149647_a(CreativeTabs) - sets the creative tab field_149770_b - returns the name of the block (eg. "diamond_ore") field_149788_p = Block.SoundType("anvil", 0.3F, 1.0F) func_149671_p() - it seems this is an init() method of block namespaces func_149672_a() - gets the sound type func_149682_b(Block) - returns the ID of Block func_149688_o() - returns the block's material func_149688_o() : getBlockMaterial() //gets block material func_149730_j() - if true, the block can't be replaced by leaves func_149732_F() : getLocalizedName() //gets localized name of block func_149733_h() - returns block's IIcon func_149739_a() : getUnlocalizedName() //gets tile.unlocalizedname func_150495_a() - return stone dig sound id ("dig.stone") func_150496_b() - returns anvil land sound id ("random.anvil_land") KeyBidings Found by WorldEnder field_151471_f: Category field_151472_e: keyCode2 ?duplicate? this one is never changed func_151462_b(int p_151462_1_): setKeyCode(int newCode) func_151464_g(): description func_151466_e(): category func_151469_h(): keyCode2, never changed func_151470_d(): return isPressed KeyBinding(String p_i45001_1_, int p_i45001_2_, String p_i45001_3_): KeyBinding(description, keyCode, category) ChatStye found by mercrutio ChatStyle.func_150227_a(boolean) : setIsBold(boolean) ChatStyle.func_150217_b(boolean) : setIsItalic(boolean) ChatStyle.func_150225_c(boolean) : setIsStruckout(boolean) ChatStyle.func_150228_d(boolean) : setIsUnderlined(boolean) Quote Help us make the unofficial [de]obfuscated function names in 1.7.2! http://www.minecraftforge.net/forum/index.php/topic,15275.msg77472.html
WorldsEnder Posted January 5, 2014 Posted January 5, 2014 Block: func_149664_b(WorldClient, int, int, int, int): onBlockDestroyed(worldClient, posX, posY, posZ, metadata) Material: field_151579_a : MaterialAir field_151579_a : MaterialGrass field_151578_c : MaterialDirt field_151575_d : MaterialWood (like bookshelf, etc.) field_151576_e : MaterialStone field_151576_e : MaterialMachine (hopper, cauldron and brewingStand) field_151574_g : MaterialAnvil field_151586_h : MaterialWater field_151587_i : MaterialLava field_151584_j : MaterialLeaves field_151585_k : MaterialPlant (+cocaoBeans) (can not be replaced and doesn't burn) field_151582_l : MaterialGrass (can be replaced and burns) field_151583_m : MaterialSponge field_151580_n : MaterialBed field_151581_o : MaterialFire field_151595_p : MaterialSoulSand field_151594_q : MaterialLogic (redstone, rails and flowerpots, lever, torches and tripwire) field_151593_r : MaterialCarpet field_151592_s : MaterialBeacon (+stainedGlass) field_151591_t : MaterialRedstoneLight field_151590_u : MaterialTNT field_151589_v : Material? //NOTE: I can't figure it out... please reply or something if you know field_151588_w : MaterialIce field_151598_x : MaterialPackedIce field_151597_y : MaterialSnow field_151596_z : MaterialSnowBlock field_151570_A : MaterialCactus field_151571_B : MaterialClay (+silverfish) field_151572_C : MaterialMelon field_151566_D : MaterialDragonEgg field_151567_E : MaterialPortal field_151568_F : MaterialCake field_151569_G : MaterialWeb func_151565_r(): returns the color on the map KeyBinding: KeyBinding(String p_i45001_1_, int p_i45001_2_, String p_i45001_3_): KeyBinding(description, keyCode, category) field_151472_e: keyCode2 ?duplicate? this one is never changed field_151471_f: Category func_151470_d(): return isPressed func_151466_e(): category func_151464_g(): description func_151469_h(): keyCode2, never changed func_151462_b(int p_151462_1_): setKeyCode(int newCode) GuiContainer: field_146999_f: ySize field_147000_g: xSize etc... more will come when I have time and feel tempted to do so Quote
PlatonCraft Posted January 5, 2014 Posted January 5, 2014 World func_147449_b(int, int, int, Block) : setBlock(posX, posY, posZ, Blocks.block) //Spawns block block to coords func_147437_c(int, int, int) : isAirBlock(posX, posY, posZ) //Checks whether block on coords is air or not func_147439_a(int, int, int) : getBlock(posX, posY, posZ) //What block is on coords Block func_149732_F() : getLocalizedName() //gets localized name of block func_149688_o() : getBlockMaterial() //gets block material func_149739_a() : getUnlocalizedName() //gets tile.unlocalizedname Quote [spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler]LOL,Its nothing interesting here [spoiler=Spoiler]And here too [spoiler=Spoiler]But that image is pretty good
Nzkiwi Posted January 5, 2014 Author Posted January 5, 2014 Material field_151589_v... what can it be? public static final Material field_151589_v = (new Material(MapColor.field_151669_i)).setNoPushMobility(); It seems it's something unpushable, Maybe Bedrock? Or furnance. Quote Help us make the unofficial [de]obfuscated function names in 1.7.2! http://www.minecraftforge.net/forum/index.php/topic,15275.msg77472.html
GotoLink Posted January 5, 2014 Posted January 5, 2014 Submit those to the MCP bot on irc, that would help a lot more people. Quote
luisc99 Posted January 5, 2014 Posted January 5, 2014 Maybe a wiki page would be good for this, if managed properly. Then it's a free-to-edit thing Quote
Nzkiwi Posted January 5, 2014 Author Posted January 5, 2014 Maybe a wiki page would be good for this, if managed properly. Then it's a free-to-edit thing Okay, good idea, i wanted to post it here first so many people can see and help me deobfuscate this stuff. Creating a wiki page. EDIT: Just came out, i don't know how to and where create a wiki page Quote Help us make the unofficial [de]obfuscated function names in 1.7.2! http://www.minecraftforge.net/forum/index.php/topic,15275.msg77472.html
EdgarAllen Posted January 5, 2014 Posted January 5, 2014 a csv file on github would work as well. Quote
LexManos Posted January 5, 2014 Posted January 5, 2014 http://mcpold.ocean-labs.de/index.php/MCPBot Quote I do Forge for free, however the servers to run it arn't free, so anything is appreciated. Consider supporting the team on Patreon
mercrutio Posted January 9, 2014 Posted January 9, 2014 Hey, I tried to put these up for MCPBot, but I was having a heck of a time with IRC. I'm going to keep trying for my own sake, but I thought you guys might want these. If someone gets a chance, feel free to feet them to MCPBot. (in reference to net.minecraft.util.ChatStyle) ChatStyle.func_150227_a(boolean) : setIsBold(boolean) ChatStyle.func_150217_b(boolean) : setIsItalic(boolean) ChatStyle.func_150225_c(boolean) : setIsStruckout(boolean) ChatStyle.func_150228_d(boolean) : setIsUnderlined(boolean) Quote
clashthegame Posted January 12, 2014 Posted January 12, 2014 Material.field_151589_v was Material.coral in 1.6.4. I did a reference search, but the only result was ItemSword.java. I looked in the 1.6.4 ItemSword.java and at the exact same position I found Material.coral. Quote
PlatonCraft Posted January 20, 2014 Posted January 20, 2014 Didn't you notice that you have double-time described methods. Fix it. I have not many methonds, and list already has some. Block func_149658_d("modid:BlockBlock"); //sets texture location. this is for "assets.modid.textures.items.BlockBlock.png" this.func_149647_a(CreativeTabs.tabBlock); //Sets CreativeTab this.func_149663_c("blockunlocname"); //Sets unlocalized name this.func_149711_c(15F); //sets hardness this.func_149752_b(10F); //sets resistance this.func_149715_a(100F); //sets light value (15F is not max anymore) Quote [spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler][spoiler=Spoiler]LOL,Its nothing interesting here [spoiler=Spoiler]And here too [spoiler=Spoiler]But that image is pretty good
TheGreyGhost Posted January 21, 2014 Posted January 21, 2014 Hi all Is there anyone on this forum who's got a bit of skill at creating a database with a decent web interface? the MCP chatbot is ok at a pinch but it's pretty clunky and probably its most serious shortcoming is that once someone has submitted a name, it can't be changed again. even it's wrong or contains spelling mistakes or the comment is rubbish. It's also a one-name-at-a-time thing and you can forget pattern matching. Unfortunately I know absolutely nothing about how to create something better, but surely one of you has the power? :-) I also wonder if we could collectively persuade Mojang to just release their source directly with the comments stripped and the variable names remapped to something meaningless (like they are now). The end result would be the same but would save a huge amount of effort and time delay at each release. Perhaps a kickstarter for funding, I have seen other studios say (eg) "Fund us $1m and we'll release the source code". Just dreaming aloud... -TGG Quote
TheGreyGhost Posted January 21, 2014 Posted January 21, 2014 I might get around to doing that tgg. keen :-) I'd sure use it plenty. Quote
sequituri Posted February 5, 2014 Posted February 5, 2014 Hi all, I'm new here. Never modded before, but I have used java for many, many years. So, It reads like a storybook to me. Has anyone taken on the task of creating a deobfuscation database yet. I just do not believe mcpbot can even handle javadoc comments or argument name deobfuscation. I would sure love to contribute to it, as I have already gone through 2 net.minecraft.* sources and refactored local versions that I personally deobed. However, I can not do this in eclipse as the sources seem to be locked. I am considering creating an excel table for my own use, but I'd rather not if there is another alternative. A web database is a start. Then having a way of turning that into an automated tool to use in eclipse would be nice too. ~S~ Quote -S- (if I helped, please click Thank and applaud) http://6upnqa.dm2301.livefilestore.com/y2mtf-vG7Tqq1TiiVpIm53KWj7294NDPoHfSHHb4PzZiMAUfRCfK0UY0MwOu7Q3zTBNVTKqWjr2-xgBfFRpQT5p-QivtvknPpoABMNUw9br9WuZcBFkjePhnAbW500gVm-P/sequiturian.png[/img]
TheGreyGhost Posted February 5, 2014 Posted February 5, 2014 Hi This message (and subsequent messages) might interest you http://www.minecraftforge.net/forum/index.php/topic,13353.msg81663.html#msg81663 I think there are plenty of folks interested but most of us (me included) lack the skills at the moment. This project from Abrar looks like it will be a valuable part of the puzzle https://github.com/MinecraftForge/Srg2Source If you've got the skills and motivation for this I'm keen to support you how I can. -TGG Quote
heaton84 Posted March 1, 2014 Posted March 1, 2014 Sorry, I don't do IRC... would be great if we had an online database to work with. Here's my finding with BlockStairs: func_150147_e - Sets the bounds of the block for rendering. Defines bottom "slab" of stairs. func_150145_f - Sets the bounds of the back stair for rendering. Quote
Elix_x Posted July 10, 2014 Posted July 10, 2014 Guys i found list of all obfuscated names here : https://github.com/MinecraftForge/FML/blob/master/conf/methods.csv Quote Check out my mods: BTAM Armor sets Avoid Exploding Creepers Tools compressor Anti Id Conflict Key bindings overhaul Colourfull blocks Invisi Zones
Elyon Posted July 10, 2014 Posted July 10, 2014 Welcome to the forums Forge already uses that exact file, though. See the repository name? Quote
Zer0HD2 Posted July 10, 2014 Posted July 10, 2014 I might get around to doing that tgg. Give me a shout if you need a hand with that, I've created similar systems in the past (former web dev). Could make a system where a user searches for a field or function, and if it exists, it'll display all the information stored about that function. Possibly with a user system so certain people can add/edit entries in the database Quote
Zer0HD2 Posted July 10, 2014 Posted July 10, 2014 Give me a shout if you need a hand with that, I've created similar systems in the past (former web dev). Could make a system where a user searches for a field or function, and if it exists, it'll display all the information stored about that function. Possibly with a user system so certain people can add/edit entries in the database Heh, I am the same, that's why I said I might do it. But I am not sure if it's not already being worked on, plus I don't want to start yet another project But if you want I can work on it with you, I might do the hosting as well. Contact me via PM if you want. Will do - already started thinking about how to do this and drafting it on my web server I'll PM you about it once I've sorted a couple of things out. Quote
Elyon Posted July 10, 2014 Posted July 10, 2014 I am often digging through some rarely-used code, at least judging by the amount of obfuscation. Is there any way I could be helpful in the process? I myself have thought about writing proper API documentation for fields and functions that I feel could benefit from it (which, frankly, is most of them) - but as you so rightly put, there is no sense in doubling or even tripling efforts if a bit of cooperation is possible Not to mention 1.8 is "right around the corner", relatively speaking. Quote
Zer0HD2 Posted July 10, 2014 Posted July 10, 2014 would be great if we had an online database to work with. *cough* already working on that. Quote
Zer0HD2 Posted July 12, 2014 Posted July 12, 2014 Basic first version is done. After registering an account you can add new fields and functions to your heart's content. Working on edit/delete functionality now. http://mcforge-reference.com/ Quote
Elyon Posted July 12, 2014 Posted July 12, 2014 Splendid work! However, I registered, but "something went wrong", and I never received my activation email. Is there any chance you could manually activate my account, or resend the activation email, or delete my user and resolve the issue I may have had? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.