Various Issues with Hot Reloading Gamemode, Need GamemodeLoaded Hook
Due to the fact that many parts of the gamemode hook into InitPostEntity, there are quite a few issues that arise when making live changes to files within the gamemode. Notably, Resource Pumps, Water Pumps, and the like fail to spawn as their tool data goes invalid, and is never reloaded because InitPostEntity is not called again.
The solution to this would be to use hook.Call("GamemodeLoaded") and change all the InitPostEntity registration hooks to that instead. This would allow for more flexibility in hot-reloading.