GenisysPro  for Minecraft PE/Windows 10 v1.1.x
Feature-rich server software for Minecraft PE and Windows 10 Edition
PermissionAttachment Class Reference

Public Member Functions

 __construct (Plugin $plugin, Permissible $permissible)
 
 getPlugin ()
 
 setRemovalCallback (PermissionRemovedExecutor $ex)
 
 getRemovalCallback ()
 
 getPermissible ()
 
 getPermissions ()
 
 clearPermissions ()
 
 setPermissions (array $permissions)
 
 unsetPermissions (array $permissions)
 
 setPermission ($name, $value)
 
 unsetPermission ($name)
 
 remove ()
 

Constructor & Destructor Documentation

◆ __construct()

__construct ( Plugin  $plugin,
Permissible  $permissible 
)
Parameters
Plugin$plugin
Permissible$permissible
Exceptions
PluginException
48  {
49  if(!$plugin->isEnabled()){
50  throw new PluginException("Plugin " . $plugin->getDescription()->getName() . " is disabled");
51  }
52 
53  $this->permissible = $permissible;
54  $this->plugin = $plugin;
55  }

Member Function Documentation

◆ clearPermissions()

clearPermissions ( )
92  {
93  $this->permissions = [];
94  $this->permissible->recalculatePermissions();
95  }

◆ getPermissible()

getPermissible ( )
Returns
Permissible
81  {
82  return $this->permissible;
83  }

◆ getPermissions()

getPermissions ( )
Returns
bool[]
88  {
89  return $this->permissions;
90  }

◆ getPlugin()

getPlugin ( )
Returns
Plugin
60  {
61  return $this->plugin;
62  }

◆ getRemovalCallback()

getRemovalCallback ( )
Returns
PermissionRemovedExecutor
74  {
75  return $this->removed;
76  }

◆ remove()

remove ( )
Returns
void
147  {
148  $this->permissible->removeAttachment($this);
149  }

◆ setPermission()

setPermission (   $name,
  $value 
)
Parameters
string | Permission$name
bool$value
121  {
122  $name = $name instanceof Permission ? $name->getName() : $name;
123  if(isset($this->permissions[$name])){
124  if($this->permissions[$name] === $value){
125  return;
126  }
127  unset($this->permissions[$name]); //Fixes children getting overwritten
128  }
129  $this->permissions[$name] = $value;
130  $this->permissible->recalculatePermissions();
131  }

◆ setPermissions()

setPermissions ( array  $permissions)
Parameters
bool[]$permissions
100  {
101  foreach($permissions as $key => $value){
102  $this->permissions[$key] = (bool) $value;
103  }
104  $this->permissible->recalculatePermissions();
105  }

◆ setRemovalCallback()

setRemovalCallback ( PermissionRemovedExecutor  $ex)
Parameters
PermissionRemovedExecutor$ex
67  {
68  $this->removed = $ex;
69  }

◆ unsetPermission()

unsetPermission (   $name)
Parameters
string | Permission$name
136  {
137  $name = $name instanceof Permission ? $name->getName() : $name;
138  if(isset($this->permissions[$name])){
139  unset($this->permissions[$name]);
140  $this->permissible->recalculatePermissions();
141  }
142  }

◆ unsetPermissions()

unsetPermissions ( array  $permissions)
Parameters
string[]$permissions
110  {
111  foreach($permissions as $node){
112  unset($this->permissions[$node]);
113  }
114  $this->permissible->recalculatePermissions();
115  }

The documentation for this class was generated from the following file: