* Replace DoWithNearestPlayer with bounding box search (avoid iterating through all players in world).
* Do line-of-sight checks from eye-to-eye.
+ Added LOS and LOS lost timer to target lost checks, in addition to distance.
* added wolf breading
* mpoved breeding to monster
* checkstyle
* fixed my IDE "helping"
* removed magic number
and fixed faster aging
* added flooring to age manipulation
* fixed copiler error
* fixed typo
* moved tps to Defines.h
* removed the TPS constant from the lua API exposure
* added inline constexpr
added explanation
* fixed broken build
* "fixed" build
Co-authored-by: 12xx12 <12xx12100@gmail.com>
* Stabilise MoveToWorld
* Fix comments and deprecate ScheduleMoveToWorld
* Enhanced thread safety for m_WorldChangeInfo
* Return unique_ptr from cAtomicUniquePtr::exchange
* cWorld now calls entity cEntity::OnAddToWorld and cEntity::OnRemoveFromWorld.
Allows broadcasting entities added to the world from the world's tick thread.
This also factors out some common code from cEntity::DoMoveToWorld and cEntity::Initialize.
As a consequence, cEntity::Destroy(false) (i.e. Destroying the entity without broadcasting) is impossible.
This isn't used anywhere in Cuberite so it's now deprecated.
* Update entity position after removing it from the world.
Fixes broadcasts being sent to the wrong chunk.
* Fix style
* cEntity: Update LastSentPosition when sending spawn packet
* Add Wno-deprecated-declarations to the lua bindings
* Kill uses of ScheduleMoveToWorld
* New movement system for leashed entities
Entities are accelerated towards the leashed to entity as if by a spring.
* Mobs now pathfind close to but not directly to the leashing entity.
* Also minor comment changes
In current Cuberite version if you are pursued by monsters you just have to disconnect and connect again to get rid of them. If no other player is in your chunk monsters will get destroyed.