Introduce EntityFactory

This contains all of the static stuff that was previously embedded in the Entity static root. This solves a bunch of problems like circular dependencies between parent and child classes, encapsulating logic and reducing the size of the enormous Entity.php.
This commit is contained in:
Dylan K. Taylor
2019-01-06 23:54:29 +00:00
parent b1cef8509a
commit 7d827a1c65
13 changed files with 298 additions and 247 deletions

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\level\particle;
use pocketmine\entity\Entity;
use pocketmine\entity\EntityFactory;
use pocketmine\entity\Skin;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
@ -80,7 +81,7 @@ class FloatingTextParticle extends Particle{
$p = [];
if($this->entityId === null){
$this->entityId = Entity::$entityCount++;
$this->entityId = EntityFactory::nextRuntimeId();
}else{
$pk0 = new RemoveEntityPacket();
$pk0->entityUniqueId = $this->entityId;