Willing to resolve any NMS class field's 'real' names for now.

Discussion in 'Spigot Plugin Development' started by jetp250, Apr 23, 2017.

  1. First off. If this is either the wrong place to post this, OR this for whatever reason is not allowed; feel free to remove / report this, or at least tell me :)

    Yeah, okay, so what do I mean by this?
    Let's take the following snippet of field names from, uh, EntityZombie.class:

    Code (Java):
    protected static final IAttribute a;
    private static final UUID b;
    private final AttributeModifier c;
    private final PathfinderGoalBreakDoor bz;
    private boolean bA;
    private float bB;
    private float bC;
    You see, not the most user-readable things you could think of. Some of them are easier to resolve; some are harder, and if you happen to stumble across one of those you can't figure out, I'll gladly try help you with that!

    Here's the field names I came up with.
    Code (Java):
    protected static final IAttribute spawnReinforcements;
    private static final UUID uid;
    private final AttributeModifier babySpeedBoost;
    private final PathfinderGoalBreakDoor pathfinderGoalBreakDoors;
    private boolean canBreakDoors;
    private float hitboxSizeHorizontal;
    private float hitboxHeight; // hitboxSizeVertical
    ^ call setSize() instead for the hitbox, though.

    However, this excludes DataWatchers. I myself am not exactly sure how they are used; other than it contains important data included in packets, such as if a zombie is baby (EntityZombie bw field) and other stuff like that. If I knew where the packets are sent; it'd be easy to figure out what each field does, but for now, I can't.

    So, if you'd like me to help, reply with the classname and the problematic line of the Field. Or, field name too, you want. After that, I, of course, need the jar version, as the field names keep changing.

    Been using a lot of NMS myself, so it was kind-of essential to find out what each field does. I think it's a fun puzzle, too. Doing this only for now though; not sure how long I'll be bored for. Although, I most likely will keep checking the thread every now and then, and if there is anything new, I might look at it.

    Also, if I happen to make up an incorrect name for a field, please correct me!

    EDIT: I can't proofread, forgot to mention, parameter names are fine as well!
     
  2. To be completely honest, I'd just go for MCP names.
    This would be kind of a "universal dictionary" for all NMS names and they won't change through versions as MCP keeps the names the same, as long as the field doesn't change.
     
  3. Wait, MCP has the exact same NMS sourcecode for servers?
    Never thought of that.

    Time well spent..
     
  4. It doesn't have Spigot and Bukkit changes, of course, but else it's all there.
     
  5. Well true, but I doubt there are too many problems with those when it comes to field names.