Interface Permissible

All Superinterfaces:
ServerOperator
All Known Subinterfaces:
Ageable, Ambient, Animals, ArmorStand, Arrow, Bat, Blaze, BlockCommandSender, Boat, CaveSpider, Chicken, CommandMinecart, CommandSender, ComplexEntityPart, ComplexLivingEntity, ConsoleCommandSender, Cow, Creature, Creeper, Damageable, Egg, EnderCrystal, EnderDragon, EnderDragonPart, Enderman, Endermite, EnderPearl, EnderSignal, Entity, ExperienceOrb, Explosive, ExplosiveMinecart, FallingBlock, FallingSand, Fireball, Firework, Fish, FishHook, Flying, Ghast, Giant, Golem, Guardian, Hanging, HopperMinecart, Horse, HumanEntity, IronGolem, Item, ItemFrame, LargeFireball, LeashHitch, LightningStrike, LivingEntity, MagmaCube, Minecart, Monster, MushroomCow, NPC, Ocelot, Painting, Pig, PigZombie, Player, PoweredMinecart, PoweredMinecart, Projectile, ProxiedCommandSender, Rabbit, RemoteConsoleCommandSender, RideableMinecart, Sheep, Silverfish, Skeleton, Slime, SmallFireball, Snowball, Snowman, SpawnerMinecart, Spider, Squid, StorageMinecart, StorageMinecart, ThrownExpBottle, ThrownPotion, TNTPrimed, Vehicle, Villager, WaterMob, Weather, Witch, Wither, WitherSkull, Wolf, Zombie
All Known Implementing Classes:
PermissibleBase

public interface Permissible
extends ServerOperator
Represents an object that may be assigned permissions
  • Method Details

    • isPermissionSet

      boolean isPermissionSet​(java.lang.String name)
      Checks if this object contains an override for the specified permission, by fully qualified name
      Parameters:
      name - Name of the permission
      Returns:
      true if the permission is set, otherwise false
    • isPermissionSet

      boolean isPermissionSet​(Permission perm)
      Checks if this object contains an override for the specified Permission
      Parameters:
      perm - Permission to check
      Returns:
      true if the permission is set, otherwise false
    • hasPermission

      boolean hasPermission​(java.lang.String name)
      Gets the value of the specified permission, if set.

      If a permission override is not set on this object, the default value of the permission will be returned.

      Parameters:
      name - Name of the permission
      Returns:
      Value of the permission
    • hasPermission

      boolean hasPermission​(Permission perm)
      Gets the value of the specified permission, if set.

      If a permission override is not set on this object, the default value of the permission will be returned

      Parameters:
      perm - Permission to get
      Returns:
      Value of the permission
    • addAttachment

      PermissionAttachment addAttachment​(Plugin plugin, java.lang.String name, boolean value)
      Adds a new PermissionAttachment with a single permission by name and value
      Parameters:
      plugin - Plugin responsible for this attachment, may not be null or disabled
      name - Name of the permission to attach
      value - Value of the permission
      Returns:
      The PermissionAttachment that was just created
    • addAttachment

      PermissionAttachment addAttachment​(Plugin plugin)
      Adds a new empty PermissionAttachment to this object
      Parameters:
      plugin - Plugin responsible for this attachment, may not be null or disabled
      Returns:
      The PermissionAttachment that was just created
    • addAttachment

      PermissionAttachment addAttachment​(Plugin plugin, java.lang.String name, boolean value, int ticks)
      Temporarily adds a new PermissionAttachment with a single permission by name and value
      Parameters:
      plugin - Plugin responsible for this attachment, may not be null or disabled
      name - Name of the permission to attach
      value - Value of the permission
      ticks - Amount of ticks to automatically remove this attachment after
      Returns:
      The PermissionAttachment that was just created
    • addAttachment

      PermissionAttachment addAttachment​(Plugin plugin, int ticks)
      Temporarily adds a new empty PermissionAttachment to this object
      Parameters:
      plugin - Plugin responsible for this attachment, may not be null or disabled
      ticks - Amount of ticks to automatically remove this attachment after
      Returns:
      The PermissionAttachment that was just created
    • removeAttachment

      void removeAttachment​(PermissionAttachment attachment)
      Removes the given PermissionAttachment from this object
      Parameters:
      attachment - Attachment to remove
      Throws:
      java.lang.IllegalArgumentException - Thrown when the specified attachment isn't part of this object
    • recalculatePermissions

      void recalculatePermissions()
      Recalculates the permissions for this object, if the attachments have changed values.

      This should very rarely need to be called from a plugin.

    • getEffectivePermissions

      java.util.Set<PermissionAttachmentInfo> getEffectivePermissions()
      Gets a set containing all of the permissions currently in effect by this object
      Returns:
      Set of currently effective permissions