I am currently working on my first major java project (game), and I already have a problem with organizing with only a few (~ 40) classes.
I organize my game like this:

This seems pretty organized to me, as every smaller class is classified in a larger class. Obviously, classes such as ObjectHandler or Model would contain more classes, otherwise they would be useless.
Now my problem is: when I try to access the current PlayerSettings from DynamicObjects in the GUI (for example, when I try to get the playerโs position to draw it on the canvas), I would have to create a long path like this:
int x = gui.engine.model.objHandler.player.playerSettings.getX();
(For this purpose, I set most of the public parameters. I could also make them available using get() methods, but to me it seems even more disorganized)
My question is: does this look normal or are there any ways to solve this problem?
source share