Deciphering NMS

Discussion in 'Plugin Development' started by BungeeTheCookie, Jun 6, 2014.

Thread Status:
Not open for further replies.
  1. Offline


    Alright, so I am new to NMS (actually doing it - not using it's libraries) and I was looking through the CraftBukkit NMS source code for EntityChicken (I am trying to create a custom entity that takes no damage, does not move no matter what (even if it gets hit) and displays a hologram over it's head.) And the listeners are just not trying to accomplish what I want. So, what do all of the aT() and bC() methods inside all of the entity classes mean, and where can you learn what they all mean from? And please try not to give me the answer, "test it out yourself" if you know where you learned it from. I know what a little means, its just I want to be an NMS master like those other Bukkit giants :D
  2. Offline


    Sorry, but this is the answer. Simple as that. Read it and/or mess with it, that's how you figure out how it works.
    glen3b likes this.
  3. Offline


    The actual NMS code can (possibly) be decrypted with MCP
  4. Offline


    zombiekiller753 has a point, there are patchsets that do the deobfuscation for you. Your best bet is probably downloading the CB/mc-dev source code into Eclipse and finding where those methods are referenced (which is especially useful if its referenced by unobfuscated CB code). If you can find what calls them, you can find what they do. You also might want to check out the superclass implementations, which may be more obvious.
  5. Offline


    To echo glen3b's sentiment, a good IDE (IntelliJ, Eclipse, etc) will help a LOT. Get familiar with the code exploration features- then just start right-clicking around ("Show Usages", "Go to Declaration", etc) to figure out how things are interrelated.

    Hopefully from that you can glean something about what the methods do.

    Otherwise, I don't think there's any sort of "reference manual" out there, other than the patch sets and deobfuscation tools that have already been mentioned.
  6. Offline


    NathanWolf glen3b zombiekiller753
    Well, there is this resource that tells you how to deobsfucate CraftBukkit using MCP, but it is for 1.4.7. Ill try using those IDE tips. Thanks for your help!
  7. Offline


    I'll be a bit more clear, because I posted my previous post on my phone.

    MCP come with an excel file which it bases it's deobfuscation off of. If you wanted to, you can either deobfuscate the latest minecraft_server.jar, or match the method name with the excel document. It should work.
  8. Offline


    Why doesn't Bukkit just write some documentation??? Thanks!!!
  9. BungeeTheCookie Because Bukkit doesn't support nms, their time is better spent doing something other than creating & maintaining documentation.
  10. Offline


    MCP came with 3 excel files but it just shows a million fields of p_133454343r54 for parameters and f_2987 for fields, and I cannot find whatt the obsfucation classes mean

    It should. Im going to have to have a long talk with Notch and Bill Gates about this. >:)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jun 30, 2016
  11. BungeeTheCookie That seems like the perfect idea with no chance of failure. ^^
Thread Status:
Not open for further replies.

Share This Page