Fixes to projectiles and the undead

* Fixed projectiles not registering block and entity hits properly
* Improved the undead AI in terms of navigating into sunlit areas
Just because it can be completely zero on your machine, doesn't mean its always completely zero on every machine. We have fast-math on linux which can cause minor rounding errors leading to problems here. C++ doesn't even guarantee IEEE 754 floats.