Villager Professions not Correctly Labeled
Teduce opened this issue ยท 6 comments
I have a villager breeder and i've noticed with villagers with the same skin (farmer/fletcher/sheepherder, or armorer/toolsmith/weaponsmith they are not always displaying the correct profession of that villager. It appears to be random which one gets displayed. So you might have a toolsmith but it displays weaponsmith as the type.
see below the GUI for NEAT shows Leatherworker but the UI for the villager displays Butcher and it is in fact a Butcher villager
appears to be related to this commit 7567998 If i go back to the previous version of NEAT the properly show up again.
So I traced around in the code a bit and it looks like the issue is caused because the client doesn't have the proper villager career ID. The server sends a packet to tell the client to open the GUI and provides the client with the correct villager name at that time.
My understanding is that entities use the DataManager to sync data with the client. The villager profession is contained in the DataManager and therefore gets synced, however, since the villager career ID is not contained in the DataManager, it doesn't get synced with the client.
This could very well be a vanilla or Forge issue.
Vanilla bug (or, rather, vanilla non-bug that becomes a bug when paired with mods).
Workaround available in latest Charset 0.5.0 builds.
Actually, better way to fix it - run getDisplayName() on the server as Mojang intended to on entities and sync the result for each entity.