Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.7.2] Unofficial [De]Obfuscated Name List


Nzkiwi
 Share

Recommended Posts

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)

 

Help us make the unofficial [de]obfuscated function names in 1.7.2!

http://www.minecraftforge.net/forum/index.php/topic,15275.msg77472.html

Link to comment
Share on other sites

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 :)

 

Link to comment
Share on other sites

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

[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

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

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.

 

Help us make the unofficial [de]obfuscated function names in 1.7.2!

http://www.minecraftforge.net/forum/index.php/topic,15275.msg77472.html

Link to comment
Share on other sites

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 :P

Help us make the unofficial [de]obfuscated function names in 1.7.2!

http://www.minecraftforge.net/forum/index.php/topic,15275.msg77472.html

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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)

[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

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

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

 

 

 

Link to comment
Share on other sites

  • 2 weeks later...

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~

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

  • 4 weeks later...

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.

 

Link to comment
Share on other sites

  • 4 months later...

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 :P

Link to comment
Share on other sites

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 :P

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 :D

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.

Link to comment
Share on other sites

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 :P

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 :D

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 :P

 

I'll PM you about it once I've sorted a couple of things out.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • You have invtweaks which is a mod for minecraft 1.16 and you have the version of jade for minecraft 1.18. Neither of these mods will work with minecraft 1.19   The 1.19 version of jade can be found here: https://www.curseforge.com/minecraft/mc-mods/jade/files/all?filter-game-version=1738749986%3a73407  
    • my ForgeSlider can't drag , it can only be click ,I'm not sure if I'm doing something wrong this is my Screen code public class MannequinScreen extends AbstractContainerScreen<MannequinMenu> { private EditBox NameBox; private final MannequinEntity mannequin; public final MannequinMenu menu; private ForgeSlider xRotationSlider; private ForgeSlider yRotationSlider; private ForgeSlider zRotationSlider; private ForgeSlider scaleSlider; private CycleButton<Part> partButton; private Part nowPart; private Rotations rotations; private float xMouse; private float yMouse; private static final ResourceLocation TEXTURE = new ResourceLocation(KpRandomThing.MODID, "textures/gui/mannequin.png"); public MannequinScreen(MannequinMenu container, Inventory inventory, Component text) { super(container, inventory, text); this.imageWidth = 176; this.imageHeight = 210; this.mannequin = container.mannequin; this.menu = container; } @Override public void render(PoseStack matrixStack, int mouseX, int mouseY, float partialTicks) { this.renderBackground(matrixStack); super.render(matrixStack, mouseX, mouseY, partialTicks); this.renderTooltip(matrixStack, mouseX, mouseY); this.xMouse = mouseX; this.yMouse = mouseY; } @Override protected void renderBg(PoseStack matrixStack, float partialTicks, int gx, int gy) { RenderSystem.setShaderColor(1, 1, 1, 1); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); RenderSystem.setShaderTexture(0, TEXTURE); GuiComponent.blit(matrixStack, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight); RenderSystem.disableBlend(); int width = (this.width - this.imageWidth) / 2; int height = (this.height - this.imageHeight) / 2; InventoryScreen.renderEntityInInventory(width + 46, height + 106, 30, (float) (width + 51) - this.xMouse, (float) (height + 75 - 50) - this.yMouse, this.mannequin); } @Override public void init() { super.init(); this.minecraft.keyboardHandler.setSendRepeatsToGui(true); NameBox = new EditBox(this.font, this.leftPos + 6, this.topPos + 4, 99, 20, new TextComponent("name")); NameBox.setMaxLength(60); this.addRenderableWidget(NameBox); Button rename = new Button(this.leftPos + 114, this.topPos + 4, 54, 20, new TextComponent("Rename"), onPress -> { if (!NameBox.getValue().isEmpty()) { KpRandomThing.INSTANCE.sendToServer( new MessagePacket(1, new TextComponent(NameBox.getValue()))); } }); this.addRenderableWidget(rename); int sliderX = this.leftPos + 92; int sliderY = this.topPos + 5; this.partButton = createPartButton(sliderX, sliderY + 80); this.addRenderableWidget(partButton); rotations = this.partButton.getValue().getPose(mannequin); this.xRotationSlider = createAngleSlider(sliderX, sliderY + 20, 74, 20, "X:", rotations.getX()); this.yRotationSlider = createAngleSlider(sliderX, sliderY + 40, 74, 20, "Y:", rotations.getY()); this.zRotationSlider = createAngleSlider(sliderX, sliderY + 60, 74, 20, "Z:", rotations.getZ()); this.scaleSlider = new ForgeSlider(sliderX, sliderY + 100, 74, 20, new TranslatableComponent("button.kp_random_thing.scale"), TextComponent.EMPTY, 0.1, 2, mannequin.getScale(), 0, 2, true); this.addRenderableWidget(xRotationSlider); this.addRenderableWidget(yRotationSlider); this.addRenderableWidget(zRotationSlider); this.addRenderableWidget(scaleSlider); } @Override protected void renderLabels(PoseStack poseStack, int mouseX, int mouseY) { } @Override public boolean mouseReleased(double xMouse, double yMouse, int id) { updata(); return super.mouseReleased(xMouse, yMouse, id); } @Override public boolean keyPressed(int key, int b, int c) { if (key == 256) { this.minecraft.player.closeContainer(); return true; } return super.keyPressed(key, b, c); } private void updata() { if (nowPart != partButton.getValue()) switchPart(); String name = partButton.getValue().name; double x = xRotationSlider.getValue(); double y = yRotationSlider.getValue(); double z = zRotationSlider.getValue(); double scale = scaleSlider.getValue(); KpRandomThing.INSTANCE.sendToServer(new MessagePacket(0, x, y, z, scale, new TextComponent(name))); } private void switchPart() { Rotations rotations = partButton.getValue().getPose(mannequin); this.xRotationSlider.setValue(rotations.getX()); this.yRotationSlider.setValue(rotations.getY()); this.zRotationSlider.setValue(rotations.getZ()); this.nowPart = partButton.getValue(); } private CycleButton<Part> createPartButton(int width, int height) { CycleButton<Part> button = CycleButton.builder(Part::getName).withValues(Part.values()).create(width, height, 80, 20, new TranslatableComponent("button.kp_random_thing.part")); return button; } private ForgeSlider createAngleSlider(int x, int y, int width, int height, String prefix, double currentValue) { return new ForgeSlider(x, y, width, height, new TextComponent(prefix), TextComponent.EMPTY, -180D, 180D, currentValue, 0, 2, true); } public enum Part { HEAD(MannequinEntity.DATA_HEAD_POSE, MannequinEntity.HEAD), BODY(MannequinEntity.DATA_BODY_POSE, MannequinEntity.BODY), LEFT_ARM(MannequinEntity.DATA_LEFT_ARM_POSE, MannequinEntity.LEFT_ARM), RIGHT_ARM(MannequinEntity.DATA_RIGHT_ARM_POSE, MannequinEntity.RIGHT_ARM), LEFT_LEG(MannequinEntity.DATA_LEFT_LEG_POSE, MannequinEntity.LEFT_LEG), RIGHT_LEG(MannequinEntity.DATA_RIGHT_LEG_POSE, MannequinEntity.RIGHT_LEG); final EntityDataAccessor<Rotations> dataPose; final String name; Part(EntityDataAccessor<Rotations> dataPose, String name) { this.dataPose = dataPose; this.name = name; } public Rotations getPose(ArmorStand entity) { if (entity == null) { return new Rotations(0, 0, 0); } return entity.getEntityData().get(dataPose); } public Component getName() { return new TranslatableComponent("button.kp_random_thing.part." + name); } } }  
    • Hello, I am trying to install client-side mods, to better my minecraft experience on servers, but I run into a few issues with some dependencies missing, so I would like if someone would be able to help me.  Here are the following errors: Error loading mods 3 errors have occurred during loading --------------------------------------- InventoryTweaksRenewed(invtweaks) has failed to load correctly java.lang.NoClassDefFoundError:net/minecraft/client/gui/widget/Widget Jade(jade) has failed to load correctly java.lang.NoClassDefFoundError:net/minecraftforge/event/entity/EntityJoinWorldEvent Waila(Jade)(waila)has failed to load correctly java.lang.NoClassDefFoundError:net/minecraftforge/client/event/ClientPlayerNetworkEvent$LoggedOutEvent Here is a pastebin of the crash report: https://pastebin.com/uMxfcUP3
    • You don't show the error, or minecraft version or any other useful information. "It keeps on crashing and I can't get it to load" is useless.   The github project you posted is incomplete. It has no build.gradle, etc. so we can't build it ourselves to find out the problem you have.   GUESSING: I can see a number of obvious problems with your code:   1) https://github.com/Tucky143/Buzz/blob/a03ffc801f439a095e9c272dff6510970543f0e2/src/main/java/com/example/examplemod/villager/ModVillagers.java#L29 Here you are doing instance equality tests for a Holder<PoiType> with a PoiType. This will never be true.   2) https://github.com/Tucky143/Buzz/blob/a03ffc801f439a095e9c272dff6510970543f0e2/src/main/java/com/example/examplemod/villager/ModVillagers.java#L36 That reflection code does nothing. Look at the method you are calling. Although I suspect you can't find it. The signature of the method you are using is for 1.18.x while the above methods you are using in (1) above are the signatures of methods in 1.19.x    
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.