So I have a few classes like
This is a classic violation of the Law of Demeter, sometimes expressed as "ask, don't look." The class calling these getters has too much knowledge of the overall structure of the program, which makes it brittle. If the relationship between any of these classes changes, all the code that relies on these chained getters will break.
The idea behind "ask, don't look" is that the class calling these getters to get the player name should instead require the player name as a constructor parameter. If that leads to a constructor with a huge number of parameters, the class is probably violating the Single Responsibility Principle.