Package org.bukkit.metadata
Interface Metadatable
- All Known Subinterfaces:
AbstractArrow
,AbstractHorse
,AbstractVillager
,Ageable
,Ambient
,Animals
,AreaEffectCloud
,ArmorStand
,Arrow
,Banner
,Barrel
,Bat
,Beacon
,Bed
,Bee
,Beehive
,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
,EntityBlockStorage<T>
,Evoker
,EvokerFangs
,ExperienceOrb
,Explosive
,ExplosiveMinecart
,FallingBlock
,Fireball
,Firework
,Fish
,FishHook
,Flying
,Fox
,Furnace
,Ghast
,Giant
,Golem
,Guardian
,Hanging
,Hoglin
,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
,NPC
,Ocelot
,Painting
,Panda
,Parrot
,Phantom
,Pig
,Piglin
,PigZombie
,Pillager
,Player
,PolarBear
,PoweredMinecart
,Projectile
,PufferFish
,Rabbit
,Raider
,Ravager
,RideableMinecart
,Salmon
,Sheep
,Shulker
,ShulkerBox
,ShulkerBullet
,Sign
,Silverfish
,SizedFireball
,Skeleton
,SkeletonHorse
,Skull
,Slime
,SmallFireball
,Smoker
,Snowball
,Snowman
,SpawnerMinecart
,SpectralArrow
,Spellcaster
,Spider
,SplashPotion
,Squid
,Steerable
,StorageMinecart
,Stray
,Strider
,Structure
,Tameable
,ThrowableProjectile
,ThrownExpBottle
,ThrownPotion
,TileState
,TippedArrow
,TNTPrimed
,TraderLlama
,Trident
,TropicalFish
,Turtle
,Vehicle
,Vex
,Villager
,Vindicator
,WanderingTrader
,WaterMob
,Witch
,Wither
,WitherSkeleton
,WitherSkull
,Wolf
,World
,Zoglin
,Zombie
,ZombieHorse
,ZombieVillager
public interface Metadatable
This interface is implemented by all objects that can provide metadata
about themselves.
-
Method Summary
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 Details
-
setMetadata
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
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
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
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
-