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
,Breedable
,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
,Hoglin
,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
,Piglin
,PiglinAbstract
,PiglinBrute
,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
,Steerable
,StorageMinecart
,Stray
,Strider
,Tameable
,ThrowableProjectile
,ThrownExpBottle
,ThrownPotion
,TippedArrow
,TNTPrimed
,TraderLlama
,Trident
,TropicalFish
,Turtle
,Vehicle
,Vex
,Villager
,Vindicator
,WanderingTrader
,WaterMob
,Witch
,Wither
,WitherSkeleton
,WitherSkull
,Wolf
,Zoglin
,Zombie
,ZombieHorse
,ZombieVillager
- All Known Implementing Classes:
PermissibleBase
public interface Permissible extends ServerOperator
Represents an object that may be assigned permissions
-
Method Summary
Modifier and Type Method Description PermissionAttachment
addAttachment(Plugin plugin)
Adds a new emptyPermissionAttachment
to this objectPermissionAttachment
addAttachment(Plugin plugin, int ticks)
Temporarily adds a new emptyPermissionAttachment
to this objectPermissionAttachment
addAttachment(Plugin plugin, String name, boolean value)
Adds a newPermissionAttachment
with a single permission by name and valuePermissionAttachment
addAttachment(Plugin plugin, String name, boolean value, int ticks)
Temporarily adds a newPermissionAttachment
with a single permission by name and valueSet<PermissionAttachmentInfo>
getEffectivePermissions()
Gets a set containing all of the permissions currently in effect by this objectboolean
hasPermission(String name)
Gets the value of the specified permission, if set.boolean
hasPermission(Permission perm)
Gets the value of the specified permission, if set.boolean
isPermissionSet(String name)
Checks if this object contains an override for the specified permission, by fully qualified nameboolean
isPermissionSet(Permission perm)
Checks if this object contains an override for the specifiedPermission
void
recalculatePermissions()
Recalculates the permissions for this object, if the attachments have changed values.void
removeAttachment(PermissionAttachment attachment)
Removes the givenPermissionAttachment
from this object
-
Method Details
-
isPermissionSet
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
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
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
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 PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)Adds a newPermissionAttachment
with 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
Adds a new emptyPermissionAttachment
to this object- Parameters:
plugin
- Plugin responsible for this attachment, may not be null or disabled- Returns:
- The PermissionAttachment that was just created
-
addAttachment
@Nullable PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)Temporarily adds a newPermissionAttachment
with 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
Temporarily adds a new emptyPermissionAttachment
to 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
Removes the givenPermissionAttachment
from 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
Gets a set containing all of the permissions currently in effect by this object- Returns:
- Set of currently effective permissions
-