Package org.bukkit.permissions
Interface Permissible
-
- All Superinterfaces:
ServerOperator
- All Known Subinterfaces:
AbstractArrow,AbstractHorse,AbstractVillager,Ageable,Ambient,Animals,AreaEffectCloud,ArmorStand,Arrow,Bat,Bee,Blaze,BlockCommandSender,Boat,Boss,Cat,CaveSpider,ChestedHorse,Chicken,Cod,CommandMinecart,CommandSender,ComplexEntityPart,ComplexLivingEntity,ConsoleCommandSender,Cow,Creature,Creeper,Damageable,Dolphin,Donkey,DragonFireball,Drowned,Egg,ElderGuardian,EnderCrystal,EnderDragon,EnderDragonPart,Enderman,Endermite,EnderPearl,EnderSignal,Entity,Evoker,EvokerFangs,ExperienceOrb,Explosive,ExplosiveMinecart,FallingBlock,Fireball,Firework,Fish,FishHook,Flying,Fox,Ghast,Giant,Golem,Guardian,Hanging,HopperMinecart,Horse,HumanEntity,Husk,Illager,Illusioner,IronGolem,Item,ItemFrame,LargeFireball,LeashHitch,LightningStrike,LingeringPotion,LivingEntity,Llama,LlamaSpit,MagmaCube,Minecart,Mob,Monster,Mule,MushroomCow,NPC,Ocelot,Painting,Panda,Parrot,Phantom,Pig,PigZombie,Pillager,Player,PolarBear,PoweredMinecart,Projectile,ProxiedCommandSender,PufferFish,Rabbit,Raider,Ravager,RemoteConsoleCommandSender,RideableMinecart,Salmon,Sheep,Shulker,ShulkerBullet,Silverfish,SizedFireball,Skeleton,SkeletonHorse,Slime,SmallFireball,Snowball,Snowman,SpawnerMinecart,SpectralArrow,Spellcaster,Spider,SplashPotion,Squid,StorageMinecart,Stray,Tameable,ThrowableProjectile,ThrownExpBottle,ThrownPotion,TippedArrow,TNTPrimed,TraderLlama,Trident,TropicalFish,Turtle,Vehicle,Vex,Villager,Vindicator,WanderingTrader,WaterMob,Witch,Wither,WitherSkeleton,WitherSkull,Wolf,Zombie,ZombieHorse,ZombieVillager
- All Known Implementing Classes:
PermissibleBase
public interface Permissible extends ServerOperator
Represents an object that may be assigned permissions
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull PermissionAttachmentaddAttachment(@NotNull Plugin plugin)Adds a new emptyPermissionAttachmentto this object@Nullable PermissionAttachmentaddAttachment(@NotNull Plugin plugin, int ticks)Temporarily adds a new emptyPermissionAttachmentto this object@NotNull PermissionAttachmentaddAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)Adds a newPermissionAttachmentwith a single permission by name and value@Nullable PermissionAttachmentaddAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)Temporarily adds a newPermissionAttachmentwith a single permission by name and value@NotNull Set<PermissionAttachmentInfo>getEffectivePermissions()Gets a set containing all of the permissions currently in effect by this objectbooleanhasPermission(@NotNull String name)Gets the value of the specified permission, if set.booleanhasPermission(@NotNull Permission perm)Gets the value of the specified permission, if set.booleanisPermissionSet(@NotNull String name)Checks if this object contains an override for the specified permission, by fully qualified namebooleanisPermissionSet(@NotNull Permission perm)Checks if this object contains an override for the specifiedPermissionvoidrecalculatePermissions()Recalculates the permissions for this object, if the attachments have changed values.voidremoveAttachment(@NotNull PermissionAttachment attachment)Removes the givenPermissionAttachmentfrom this object-
Methods inherited from interface org.bukkit.permissions.ServerOperator
isOp, setOp
-
-
-
-
Method Detail
-
isPermissionSet
boolean isPermissionSet(@NotNull @NotNull 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(@NotNull @NotNull Permission perm)Checks if this object contains an override for the specifiedPermission- Parameters:
perm- Permission to check- Returns:
- true if the permission is set, otherwise false
-
hasPermission
boolean hasPermission(@NotNull @NotNull 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(@NotNull @NotNull 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
@NotNull @NotNull PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String name, boolean value)
Adds a newPermissionAttachmentwith a single permission by name and value- Parameters:
plugin- Plugin responsible for this attachment, may not be null or disabledname- Name of the permission to attachvalue- Value of the permission- Returns:
- The PermissionAttachment that was just created
-
addAttachment
@NotNull @NotNull PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin)
Adds a new emptyPermissionAttachmentto this object- Parameters:
plugin- Plugin responsible for this attachment, may not be null or disabled- Returns:
- The PermissionAttachment that was just created
-
addAttachment
@Nullable @Nullable PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String name, boolean value, int ticks)
Temporarily adds a newPermissionAttachmentwith a single permission by name and value- Parameters:
plugin- Plugin responsible for this attachment, may not be null or disabledname- Name of the permission to attachvalue- Value of the permissionticks- Amount of ticks to automatically remove this attachment after- Returns:
- The PermissionAttachment that was just created
-
addAttachment
@Nullable @Nullable PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin, int ticks)
Temporarily adds a new emptyPermissionAttachmentto this object- Parameters:
plugin- Plugin responsible for this attachment, may not be null or disabledticks- Amount of ticks to automatically remove this attachment after- Returns:
- The PermissionAttachment that was just created
-
removeAttachment
void removeAttachment(@NotNull @NotNull PermissionAttachment attachment)Removes the givenPermissionAttachmentfrom this object- Parameters:
attachment- Attachment to remove- Throws:
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
@NotNull @NotNull Set<PermissionAttachmentInfo> getEffectivePermissions()
Gets a set containing all of the permissions currently in effect by this object- Returns:
- Set of currently effective permissions
-
-