Ejemplo n.º 1
0
        public PermissionAttachmentInfo(IPermissible permissible, string permission, PermissionAttachment attachment, bool value)
        {
            if (permissible == null)
            {
                throw new ArgumentException("Permissible may not be null");
            }
            else if (permission == null)
            {
                throw new ArgumentException("Permissions may not be null");
            }

            this.permissible = permissible;
            this.permission  = permission;
            this.attachment  = attachment;
            this.value       = value;
        }
Ejemplo n.º 2
0
        public PermissionAttachment AddAttachment(IPlugin plugin)
        {
            if (plugin == null)
            {
                throw new ArgumentException("Plugin cannot be null");
            }
            else if (!plugin.isEnabled())
            {
                throw new ArgumentException("Plugin " + plugin.PluginDescription.FullName + " is disabled");
            }

            PermissionAttachment result = new PermissionAttachment(plugin, parent);

            attachments.Add(result);
            RecalculatePermissions();

            return(result);
        }
Ejemplo n.º 3
0
        public PermissionAttachment AddAttachment(IPlugin plugin, string name, bool value)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Permission name cannot be null");
            }
            else if (plugin == null)
            {
                throw new ArgumentException("Plugin cannot be null");
            }
            else if (!plugin.Enabled)
            {
                throw new ArgumentException("Plugin " + plugin.PluginDescription.FullName + " is disabled");
            }

            PermissionAttachment result = AddAttachment(plugin);

            result.SetPermission(name, value);

            RecalculatePermissions();

            return(result);
        }
Ejemplo n.º 4
0
        public PermissionAttachment AddAttachment(IPlugin plugin, int ticks)
        {
            if (plugin == null)
            {
                throw new ArgumentException("Plugin cannot be null");
            }
            else if (!plugin.Enabled)
            {
                throw new ArgumentException("Plugin " + plugin.PluginDescription.FullName + " is disabled");
            }

            PermissionAttachment result = AddAttachment(plugin);

            if (Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new RemoveAttachmentRunnable(result), ticks) == -1)
            {
                Bukkit.getServer().getLogger().log(Level.WARNING, "Could not add PermissionAttachment to " + parent + " for plugin " + plugin.PluginDescription.FullName + ": Scheduler returned -1");
                result.Remove();
                return(null);
            }
            else
            {
                return(result);
            }
        }
Ejemplo n.º 5
0
 public RemoveAttachmentRunnable(PermissionAttachment attachment)
 {
     this.attachment = attachment;
 }
Ejemplo n.º 6
0
 public void RemoveAttachment(PermissionAttachment attachment)
 {
     return(new HashSet <PermissionAttachmentInfo>(permissions.Values));
 }