◆ __construct()
HandlerList constructor.
75 $this->handlerSlots = [
83 self::$allLists[] = $this;
◆ bake()
139 if($this->handlers !== null){
143 foreach($this->handlerSlots as $list){
144 foreach($list as $hash => $listener){
145 $entries[$hash] = $listener;
148 $this->handlers = $entries;
◆ bakeAll()
45 foreach(self::$allLists as $h){
◆ getHandlerLists()
static getHandlerLists |
( |
| ) |
|
|
static |
◆ getRegisteredListeners()
getRegisteredListeners |
( |
|
$plugin = null | ) |
|
- Parameters
-
- Returns
- RegisteredListener[]
157 if($plugin !== null){
160 if($listener->getPlugin() === $plugin){
161 $listeners[$hash] = $plugin;
167 while(($handlers = $this->handlers) === null){
◆ register()
- Parameters
-
RegisteredListener | $listener | |
- Exceptions
-
95 if(isset($this->handlerSlots[$listener->getPriority()][spl_object_hash($listener)])){
96 throw new \InvalidStateException(
"This listener is already registered to priority " . $listener->getPriority());
98 $this->handlers = null;
99 $this->handlerSlots[$listener->getPriority()][spl_object_hash($listener)] = $listener;
◆ registerAll()
registerAll |
( |
array |
$listeners | ) |
|
- Parameters
-
RegisteredListener[] | $listeners |
106 foreach($listeners as $listener){
107 $this->
register($listener);
◆ unregister()
- Parameters
-
RegisteredListener | Listener | Plugin | $object | |
115 if($object instanceof Plugin or $object instanceof Listener){
117 foreach($this->handlerSlots as $priority => $list){
118 foreach($list as $hash => $listener){
119 if(($object instanceof Plugin and $listener->getPlugin() === $object)
120 or ($object instanceof Listener and $listener->getListener() === $object)
122 unset($this->handlerSlots[$priority][$hash]);
127 if($changed ===
true){
128 $this->handlers = null;
130 }elseif($object instanceof RegisteredListener){
131 if(isset($this->handlerSlots[$object->getPriority()][spl_object_hash($object)])){
132 unset($this->handlerSlots[$object->getPriority()][spl_object_hash($object)]);
133 $this->handlers = null;
◆ unregisterAll()
static unregisterAll |
( |
|
$object = null | ) |
|
|
static |
Unregisters all the listeners If a Plugin or Listener is passed, all the listeners with that object will be removed
- Parameters
-
57 if($object instanceof Listener or $object instanceof Plugin){
58 foreach(self::$allLists as $h){
59 $h->unregister($object);
62 foreach(self::$allLists as $h){
63 foreach($h->handlerSlots as $key => $list){
64 $h->handlerSlots[$key] = [];
The documentation for this class was generated from the following file:
- src/pocketmine/event/HandlerList.php