Encapsulate more of build and entity creation logic in LibEntity
Rename LibEntity to LibMachineBuild, since it handles machine entity creation, not abstract entity stuff
Add player entity methods to LibPlayer, particularly getSpawnedPlayerEntity, which can be used in all systems to get the player entity and ensure it's spawned without many lines of overhead
Use LibMachineBuild.create within LibPlayer.spawn to create machine-like aspects of player
Change LibUtils.addressToEntityKey(_msgSender()); to LibPlayer.getSpawnedPlayerEntity();, which makes addressToEntityKey mostly obsolete, as it's only used in LibPlayer now
This PR was more of an accidental distraction, hopefully it's still useful
LibEntity
LibEntity
toLibMachineBuild
, since it handles machine entity creation, not abstract entity stuffLibPlayer
, particularlygetSpawnedPlayerEntity
, which can be used in all systems to get the player entity and ensure it's spawned without many lines of overheadLibMachineBuild.create
withinLibPlayer.spawn
to create machine-like aspects of playerLibUtils.addressToEntityKey(_msgSender());
toLibPlayer.getSpawnedPlayerEntity();
, which makesaddressToEntityKey
mostly obsolete, as it's only used inLibPlayer
nowThis PR was more of an accidental distraction, hopefully it's still useful