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

@@ -34,6 +34,7 @@ use pocketmine\command\ConsoleCommandSender;
use pocketmine\command\PluginIdentifiableCommand;
use pocketmine\command\SimpleCommandMap;
use pocketmine\entity\Entity;
use pocketmine\entity\EntityFactory;
use pocketmine\entity\Skin;
use pocketmine\event\HandlerList;
use pocketmine\event\level\LevelInitEvent;
@@ -1695,7 +1696,7 @@ class Server{
$this->commandMap = new SimpleCommandMap($this);
Entity::init();
EntityFactory::init();
Tile::init();
BlockFactory::init();
BlockFactory::registerStaticRuntimeIdMappings();