-

Discussion in 'Resources' started by Deleted user, Jul 3, 2014.

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

    Deleted user

    -
     
    Last edited by a moderator: Jan 20, 2015
  2. Offline

    IDragonfire

  3. Offline

    Deleted user

    -
     
    Last edited by a moderator: Jan 20, 2015
  4. Offline

    IDragonfire

    Did you know what happen to the remapping Repo, 1.7 is missing.
     
  5. Offline

    Deleted user

    -

    zombiekiller753
    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.

    RawCode

    zombiekiller753
    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

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Feb 9, 2022
  6. Offline

    ZeusAllMighty11

    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.
     
  7. Offline

    RawCode

    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.
     
    xTrollxDudex and xTigerRebornx like this.
  8. Offline

    IDragonfire

    Add a
    Good idea, or a own repo, like:
    https://github.com/agaricusb/MinecraftRemapping
    And anybody can push a class :D

    @nms-off-top-discussion:
    Maybe rename the thread to [Expert][NMS] ....
     
    ZeusAllMighty11 likes this.
  9. Offline

    Deleted user

    -
     
    Last edited by a moderator: Jan 20, 2015
  10. Offline

    IDragonfire

    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 ;)
     
  11. Offline

    Deleted user

    -
     
    Last edited by a moderator: Jan 20, 2015
  12. Offline

    RawCode

    Goblom
    read post number 5 of this thread please.
    reply without reading thread always looks like stupid.

    zombiekiller753
    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.
     
    xTigerRebornx likes this.
  13. Offline

    Goblom


    Well, i am stupid.... So, i don't really care about your opinion.
     
    sgtcaze likes this.
  14. Offline

    bob7

    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...
     
  15. Offline

    xTrollxDudex

    bob7
    It's fine if you don't want to do anything yourself, but this discussion is over. Talk to RawCode instead of me.

    -

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Feb 9, 2022
  16. Offline

    RawCode

    sarcasm?

    bob7
    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.
    2) ???
    3) PROFIT

    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.
     
  17. Offline

    AoH_Ruthless

    zombiekiller753
    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.
     
  18. Offline

    BungeeTheCookie

    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.
     
    TheBigSuperCraft likes this.
  19. Offline

    IDragonfire

    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...
     
  20. Offline

    RawCode

    IDragonfire
    Reflection based mapping is costly and inefficient, it wont fly especially in forTick or forFrame cases.

    Compilation of bytecode for arbitrary methods\fields ignoring JRE rules and checks (yes yes special case "i want compile class with errors") is beyond skill of anyone here.
    bukkit team uses such "feature" to keep legacy methods and compile classes ignoring ambiguous rule.
     
  21. Offline

    IDragonfire

    I wish my english skills are better xD I though for something like preCompilng ... Or you call it pre convert with a srg or table in the background, like forge ... not runtime bytecode manipulation ...(reflection is not enough, if i rember correctly they use asm or javassit to modify method calls on the fly) atm i have a little script that replace the packet name (a simple replaceall xd) https://github.com/IDragonfire/DragonBukkitPluginUpdater ...
     
  22. Offline

    Europia79


    I'm a noob developer and I found it extremely easy to update NMS code. ...I was about to say that I had no problems whatsoever... but I did remember this weird problem https://forums.bukkit.org/threads/c...mediately-after-spawning.153216/#post-2520787

    Sweet. I still play warcraft3.


    I was actually going to suggest/ask zombiekiller753 to explain some of the methodologies he uses to figure out what the fields mean. He seems pretty articulate and a good writer. I think he could do a good job (assuming he has the time to invest).

    I still remember what my college English profession said in 2001: When you're writing, you want to to consider two things: your purpose and your target audience.

    As such, when we consider the purpose of this thread: I think the tag should be [Reference] instead of [Expert]

    zombiekiller753 hopefully, you don't take offense to my suggestion: I'm just throwing ideas out there for you. But it's your thread. Thanks for the info btw! Keep up the good work!
     
  23. Offline

    Deleted user

    -
     
    Last edited by a moderator: Jan 20, 2015
  24. Offline

    Deleted user

    -
     
    Last edited by a moderator: Jan 20, 2015
  25. Offline

    IDragonfire

  26. Offline

    Deleted user

    -
     
    Last edited by a moderator: Jan 20, 2015
  27. Offline

    IDragonfire

    And then you copy bad code and make the same mistake twice or more ...
    Most web apps are terrible, but there are working ...
    My english is bad, but I can communicate ...
    Publicate the code helps to improve yourself!
     
Thread Status:
Not open for further replies.

Share This Page