Package org.bukkit.metadata
Interface Metadatable
-
- All Known Subinterfaces:
AbstractArrow
,AbstractHorse
,AbstractVillager
,Ageable
,Ambient
,Animals
,AreaEffectCloud
,ArmorStand
,Arrow
,Banner
,Barrel
,Bat
,Beacon
,Bed
,Bell
,BlastFurnace
,Blaze
,Block
,BlockState
,Boat
,Boss
,BrewingStand
,Campfire
,Cat
,CaveSpider
,Chest
,ChestedHorse
,Chicken
,Cod
,CommandBlock
,CommandMinecart
,Comparator
,ComplexEntityPart
,ComplexLivingEntity
,Conduit
,Container
,Cow
,Creature
,CreatureSpawner
,Creeper
,Damageable
,DaylightDetector
,Dispenser
,Dolphin
,Donkey
,DragonFireball
,Dropper
,Drowned
,Egg
,ElderGuardian
,EnchantingTable
,EnderChest
,EnderCrystal
,EnderDragon
,EnderDragonPart
,Enderman
,Endermite
,EnderPearl
,EnderSignal
,EndGateway
,Entity
,Evoker
,EvokerFangs
,ExperienceOrb
,Explosive
,ExplosiveMinecart
,FallingBlock
,Fireball
,Firework
,Fish
,FishHook
,FlowerPot
,Flying
,Fox
,Furnace
,Ghast
,Giant
,Golem
,Guardian
,Hanging
,Hopper
,HopperMinecart
,Horse
,HumanEntity
,Husk
,Illager
,Illusioner
,IronGolem
,Item
,ItemFrame
,Jigsaw
,Jukebox
,LargeFireball
,LeashHitch
,Lectern
,LightningStrike
,LingeringPotion
,LivingEntity
,Llama
,LlamaSpit
,MagmaCube
,Minecart
,Mob
,Monster
,Mule
,MushroomCow
,NoteBlock
,NPC
,Ocelot
,Painting
,Panda
,Parrot
,Phantom
,Pig
,PigZombie
,Pillager
,Player
,PolarBear
,PoweredMinecart
,Projectile
,PufferFish
,Rabbit
,Raider
,Ravager
,RideableMinecart
,Salmon
,Sheep
,Shulker
,ShulkerBox
,ShulkerBullet
,Sign
,Silverfish
,Skeleton
,SkeletonHorse
,Skull
,Slime
,SmallFireball
,Smoker
,Snowball
,Snowman
,SpawnerMinecart
,SpectralArrow
,Spellcaster
,Spider
,SplashPotion
,Squid
,StorageMinecart
,Stray
,Structure
,Tameable
,ThrownExpBottle
,ThrownPotion
,TileState
,TippedArrow
,TNTPrimed
,TraderLlama
,Trident
,TropicalFish
,Turtle
,Vehicle
,Vex
,Villager
,Vindicator
,WanderingTrader
,WaterMob
,Witch
,Wither
,WitherSkeleton
,WitherSkull
,Wolf
,World
,Zombie
,ZombieHorse
,ZombieVillager
public interface Metadatable
This interface is implemented by all objects that can provide metadata about themselves.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<MetadataValue>
getMetadata(String metadataKey)
Returns a list of previously set metadata values from the implementing object's metadata store.boolean
hasMetadata(String metadataKey)
Tests to see whether the implementing object contains the given metadata value in its metadata store.void
removeMetadata(String metadataKey, Plugin owningPlugin)
Removes the given metadata value from the implementing object's metadata store.void
setMetadata(String metadataKey, MetadataValue newMetadataValue)
Sets a metadata value in the implementing object's metadata store.
-
-
-
Method Detail
-
setMetadata
void setMetadata(@NotNull String metadataKey, @NotNull MetadataValue newMetadataValue)
Sets a metadata value in the implementing object's metadata store.- Parameters:
metadataKey
- A unique key to identify this metadata.newMetadataValue
- The metadata value to apply.- Throws:
IllegalArgumentException
- If value is null, or the owning plugin is null
-
getMetadata
@NotNull List<MetadataValue> getMetadata(@NotNull String metadataKey)
Returns a list of previously set metadata values from the implementing object's metadata store.- Parameters:
metadataKey
- the unique metadata key being sought.- Returns:
- A list of values, one for each plugin that has set the requested value.
-
hasMetadata
boolean hasMetadata(@NotNull String metadataKey)
Tests to see whether the implementing object contains the given metadata value in its metadata store.- Parameters:
metadataKey
- the unique metadata key being queried.- Returns:
- the existence of the metadataKey within subject.
-
removeMetadata
void removeMetadata(@NotNull String metadataKey, @NotNull Plugin owningPlugin)
Removes the given metadata value from the implementing object's metadata store.- Parameters:
metadataKey
- the unique metadata key identifying the metadata to remove.owningPlugin
- This plugin's metadata value will be removed. All other values will be left untouched.- Throws:
IllegalArgumentException
- If plugin is null
-
-