Discussion in 'Resources' started by zombiekiller753, Jul 3, 2014.
zombiekiller753 Nice work this will be great
zombiekiller753 this could be a thread where someone can ask for a specific class and people here can post it
Interesting is the source of you knowledge ...
Experience? Or another source like:
Did you know what happen to the remapping Repo, 1.7 is missing.
Those fields were left obfuscated for a reason - the Bukkit team can easily de obfuscate and put on mc-dev, but they didn't. Version barrier and obfuscation were implemented to discourage developers from using NMS in the first place. This will also destroy anyone's ability to code dig, and essential part of developing.
If you can't figure somethin outg, then you don't look at the answers. You keep trying to find it. It's like a math textbook.
My thread teaches by example, you just give answers.
EffectLib does an action, not give you everything. I can offer a full explanation em, short on time
This is an awesome idea IMO, mapping out each thing for developers to use.. Would be better if you created gists for each CB version (when they change) and then have a page dedicated to the versions and subversions with these.
anything related to breaching version barrier or API encapsulation is bad practice.
fields left "obfuscated" for simple reason - cbukkit injections alter only code related to injection.
altering random fields\method is useless and risky work.
IMHO - this thread will lead noob developers to hopeless situation in case of update - due to lack of skill they will have hurge issues updating version.
Good idea, or a own repo, like:
And anybody can push a class
Maybe rename the thread to [Expert][NMS] ....
zombiekiller753 This does not apply to EntityEnderDragon.java movement though.
I like the idea of a github repo and a backend database, like mysql.
If you have a good format, a script can fetch over the repo and update the db
zombiekiller753 Or you could decompile the minecraft_server.jar with MCP and compare then get the obfusticated values when comparing
read post number 5 of this thread please.
reply without reading thread always looks like stupid.
Long long time ago i decompiled and deobfuscated warcraft3 version of dota.
It took ~6 hours to restore names of every method and all global fields.
anything with atleast basic skills can do it in reasonable amount of time without MCP or any threads.
users who unable to read source will seek threads like this and later will get trouble.
Well, i am stupid.... So, i don't really care about your opinion.
Why do you even bother complaining about this topic. All he's doing is providing a simple table to help developers translate fields/methods so they don't have to decompile minecraft_server every time they want to find something. NMS should be avoided... But sometimes packets, and bukkit are simply not enough to comply to your needs.
I'd much rather have an actual RESOURCE here, rather then all those code handouts lol...
It's fine if you don't want to do anything yourself, but this discussion is over. Talk to RawCode instead of me.
you also shoud read post #5 before hitting reply button.
I will explain how this thread works:
1) TS "spoonfeeding" field definition from MCP\Forge without telling source of mapping and how this mapping is created.
Resources should teach something usefull, not just giving final result.
This resource may be usefull if no mapping provided but explained method of getting mappings from MCP or by debugging.
Actually, remembering when I was a beginner with the Bukkit API, I would read [expert], [hard], [intermediate] (etc..) just because I wanted to know if I knew what the tutorial covered, could understand it, etc.. People will disregard the expert prefix and read your thread anyways .. it's not really an excuse.
Warning people that this is dangerous is sort of redundant. People should already know that NMS isn't easy and is not endorsed by Bukkit; you technically shouldn't be using it. As RawCode mentioned, the Bukkit team could have deobfuscated everything but chose not to (wise choice imo). NMS breaks every update, and people who just follow this resource will be lost when their code inevitably breaks.
People who can figure this out for themselves are the ones that should be using NMS, if anyone. There's a lack of information regarding this subject because it is difficult, and it is difficult for a reason.
Again this is just my opinion. If people actually find this helpful in the long run, good for them and good on you. But I know it wouldn't help me when all of this breaks.
Alright guys, enough with the arguing about the "expert tags" and why people shouldn't use NMS and that sort of crap.
No one cares if you are a beginner at Bukkit, it is your own fault if you want to use NMS as a beginner even though you have no idea what you are doing and want to spend hours trying to fix a bug that is really obvious to fix but since you don't know Java you have no clue how to. I find this as an excellent resource, and do not consider it in any way as a 'code-distributor.' I don't understand how anyone could even discourage the author, he is just making it easier for people to learn all the methods in LivingEntity instead of wasting hours trying to figure it out yourself. It is good to learn how to figure out things yourself, but if you have trouble figuring something out, there is nothing wrong with reference. This is not at all spoon-feeding, and I think people who just out-right say "Oh stop giving them code, you are spoon feeding" are ridiculous. Now, if someone says they want to know where to make an arena class and you give them 700 lines of code of an Arena object with no explanation, that is different.
Spoonfeeding (verb) usage. Bukkit - When one continuously gives another Bukkit code without any explanation. If one understands how to do it if they look at the code [like me in some cases] this is not a form of spoonfeeding. If you do not learn from a class, you are spoonfeeding by giving someone the code for them to use even though they have no idea what their specific function is.
There should be no arguments in this thread.
That brings me to a cool ideas ...
A similar website like pastebin, but that can translate nms calls from different versions ...
Next step ... Auto convert whole plugins ... (Same like forge) ...
I think authors with a huge amount of nms calls, like Citiziens, RemoteEntities can pre convert or validate their plugins ...
or a secret bukkitwrapper api (not for all, only experts), maintainces by big plugin authors...
Separate names with a comma.