Package org.spongepowered.api.data.value
Interface ValueContainer
- 
- All Known Subinterfaces:
- Aerial,- Ageable,- Agent,- Ambient,- Animal,- Aquatic,- Archetype<S,E>,- AreaEffectCloud,- ArmorStand,- Arrow,- ArrowEntity,- Banner,- Barrel,- Bat,- Beacon,- Bed,- Bee,- Beehive,- Bell,- BlastFurnace,- Blaze,- BlockEntity,- BlockEntityArchetype,- BlockEntityInventory<T>,- BlockOccupiedMinecart,- BlockSnapshot,- BlockState,- BlockType,- Boat,- Boss,- BrewingStand,- Campfire,- CarriedInventory<C>,- CarrierBlockEntity,- CarrierMinecart<M>,- Cat,- CaveSpider,- Chest,- ChestMinecart,- Chicken,- ClientPlayer,- Cod,- CommandBlock,- CommandBlockMinecart,- Comparator,- ComplexLiving<T>,- ComplexLivingPart<P>,- Conduit,- Container,- CopyableDataHolder,- CopyableValueContainer,- Cow,- CraftingGridInventory,- CraftingInventory,- CraftingOutput,- Creature,- Creeper,- DamagingProjectile,- DataHolder,- DataHolder.Immutable<I>,- DataHolder.Mutable,- DataManipulator,- DataManipulator.Immutable,- DataManipulator.Mutable,- DaylightDetector,- DirectionRelativeDataHolder,- DirectionRelativeDataHolder.Immutable<I>,- DirectionRelativeDataHolder.Mutable,- Dispenser,- Dolphin,- Donkey,- DragonFireball,- Dropper,- Drowned,- Egg,- ElderGuardian,- EmptyInventory,- EnchantmentTable,- EndCrystal,- EnderChest,- EnderDragon,- EnderDragonPart,- Enderman,- Endermite,- EnderPearl,- EndGateway,- EndPortal,- Entity,- EntityArchetype,- EntitySnapshot,- EntityTargetingProjectile,- EquipmentInventory,- EquipmentSlot,- Evoker,- EvokerFangs,- ExperienceBottle,- ExperienceOrb,- Explosive,- ExplosiveFireball,- EyeOfEnder,- FallingBlock,- FilteringSlot,- FireballEntity,- FireworkRocket,- Fish,- FishingBobber,- FluidStack,- FluidStackSnapshot,- FluidState,- FluidType,- Fox,- FuelSlot,- Furnace,- FurnaceBlockEntity,- FurnaceMinecart,- FusedExplosive,- Ghast,- Giant,- Golem,- GridInventory,- Guardian,- Hanging,- Hoglin,- Hopper,- HopperMinecart,- Horse,- HorseLike,- Hostile,- Hotbar,- Human,- Humanoid,- Husk,- Illager,- Illusioner,- InputSlot,- Inventory,- Inventory2D,- InventoryColumn,- InventoryRow,- IronGolem,- Item,- ItemFrame,- ItemStack,- ItemStackSnapshot,- ItemType,- Jigsaw,- Jukebox,- LeashKnot,- Lectern,- LightningBolt,- Living,- Llama,- LlamaLike,- LlamaSpit,- LocalPlayer,- LocatableBlock,- LocatableSnapshot<T>,- MagmaCube,- MapInfo,- Merchant,- Minecart,- MinecartLike,- MobSpawner,- Monster,- Mooshroom,- Mule,- NameableBlockEntity,- NameableCarrierBlockEntity,- Ocelot,- OutputSlot,- PackHorse,- Painting,- Panda,- Parrot,- Patroller,- PersistentInventory,- Phantom,- Pig,- Piglin,- PiglinBrute,- PiglinLike,- Pillager,- Piston,- Player,- PlayerInventory,- PolarBear,- Potion,- PrimaryPlayerInventory,- PrimedTNT,- Projectile,- Pufferfish,- Rabbit,- Raider,- Ranger,- Ravager,- RemotePlayer,- Salmon,- SchoolingFish,- SerializableDataHolder,- SerializableDataHolder.Immutable<I>,- SerializableDataHolder.Mutable,- ServerLocation,- ServerPlayer,- Sheep,- Shulker,- ShulkerBox,- ShulkerBullet,- SidedSlot,- Sign,- Silverfish,- Sittable,- Skeleton,- SkeletonHorse,- SkeletonLike,- Skull,- Slime,- Slot,- SmallFireball,- Smoker,- Snowball,- SnowGolem,- Spawner,- SpawnerMinecart,- SpectralArrow,- Spellcaster,- Spider,- Squid,- State<S>,- Stray,- Strider,- StructureBlock,- TameableAnimal,- TameableHorse,- TNTMinecart,- Trader,- TraderLlama,- TrappedChest,- Trident,- TropicalFish,- Turtle,- User,- UserInventory,- Vehicle,- Vex,- ViewableInventory,- Villager,- Vindicator,- WanderingTrader,- WeatherEffect,- Witch,- Wither,- WitherSkeleton,- WitherSkull,- Wolf,- Zoglin,- Zombie,- ZombieHorse,- ZombieLike,- ZombieVillager,- ZombifiedPiglin
 
 public interface ValueContainerA value holder is a holder of a particular set ofValues. While there exists aDataHolderandDataManipulator, the emphasis ofValueContaineris that it only contains "data". It is not known whether aValueHolderis mutable or immutable.Being that a ValueHolderis literally a container ofValues, it itself does not contain the underlying values of data. AValueContainermay not always be parented by anotherValueContainer, such as the case forDataManipulators andDataHolder.Mutables, it is recommended to knowingly understand the fundamental differences between them.
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <E> Optional<E>get(Key<? extends Value<E>> key)default OptionalDoublegetDouble(Key<? extends Value<Double>> key)default OptionalIntgetInt(Key<? extends Value<Integer>> key)Set<Key<?>>getKeys()Gets all applicableKeys for thisValueContainer.default OptionalLonggetLong(Key<? extends Value<Long>> key)default <E> EgetOrElse(Key<? extends Value<E>> key, E defaultValue)Attempts to get the underlying value if available.default <E> @Nullable EgetOrNull(Key<? extends Value<E>> key)Attempts to get the underlying value if available and supported.<E,V extends Value<E>>
 Optional<V>getValue(Key<V> key)Set<Value.Immutable<?>>getValues()Gets all applicableValues associated with thisValueContainer.default <E> Erequire(Key<? extends Value<E>> key)default <E,V extends Value<E>>
 VrequireValue(Key<V> key)booleansupports(Key<?> key)Checks if the givenKeyis supported by thisValueContainer.default booleansupports(Value<?> value)Checks if the providedValueis supported.
 
- 
- 
- 
Method Detail- 
get<E> Optional<E> get(Key<? extends Value<E>> key) Attempts to get the underlying value backed by aValuelinked to the providedKey. If theKeyis not supported,Optional.empty()is returned. It is important to check for support of aKeyby either callingsupports(Value)orsupports(Key).- Type Parameters:
- E- The type of value
- Parameters:
- key- The key to retrieve the value for
- Returns:
- The value, if available
 
 - 
getIntdefault OptionalInt getInt(Key<? extends Value<Integer>> key) Attempts to get the underlying int value backed by aValuelinked to the providedKey. If theKeyis not supported,Optional.empty()is returned. It is important to check for support of aKeyby either callingsupports(Value)orsupports(Key).- Parameters:
- key- The key to retrieve the value for
- Returns:
- The value, if available
 
 - 
getDoubledefault OptionalDouble getDouble(Key<? extends Value<Double>> key) Attempts to get the underlying double value backed by aValuelinked to the providedKey. If theKeyis not supported,Optional.empty()is returned. It is important to check for support of aKeyby either callingsupports(Value)orsupports(Key).- Parameters:
- key- The key to retrieve the value for
- Returns:
- The value, if available
 
 - 
getLongdefault OptionalLong getLong(Key<? extends Value<Long>> key) Attempts to get the underlying long value backed by aValuelinked to the providedKey. If theKeyis not supported,Optional.empty()is returned. It is important to check for support of aKeyby either callingsupports(Value)orsupports(Key).- Parameters:
- key- The key to retrieve the value for
- Returns:
- The value, if available
 
 - 
requiredefault <E> E require(Key<? extends Value<E>> key) Attempts to get the underlying value backed by aValuelinked to the providedKey.If the Keyis not supported or available,NoSuchElementExceptionwill be thrown.- Type Parameters:
- E- The type of value
- Parameters:
- key- The key
- Returns:
- The value
- Throws:
- NoSuchElementException- If the value is not supported or present
 
 - 
getOrNulldefault <E> @Nullable E getOrNull(Key<? extends Value<E>> key) Attempts to get the underlying value if available and supported. If theValueis not supported whatsoever by thisValueContainer, an exception is thrown.
 - 
getOrElsedefault <E> E getOrElse(Key<? extends Value<E>> key, E defaultValue) Attempts to get the underlying value if available. If the value is not set, the givendefaultValueis returned, if theValueis even supported.- Type Parameters:
- E- The type of value
- Parameters:
- key- The key backing the- Value
- defaultValue- The value to default to if not set
- Returns:
- The value, or default if not set
 
 - 
getValue<E,V extends Value<E>> Optional<V> getValue(Key<V> key) - Type Parameters:
- E- The type of the return type
- V- The type of value
- Parameters:
- key- The key linked to the- Value
- Returns:
- The value, if available
 
 - 
requireValuedefault <E,V extends Value<E>> V requireValue(Key<V> key) Attempts to get the underlying value backed by aValuelinked to the providedKey.If the Keyis not supported or available,NoSuchElementExceptionwill be thrown.- Type Parameters:
- E- The type of element wrapped by the value
- V- The type of value
- Parameters:
- key- The key
- Returns:
- The value
- Throws:
- NoSuchElementException- If the value is not supported or present
 
 - 
supportsboolean supports(Key<?> key) Checks if the givenKeyis supported by thisValueContainer.- Parameters:
- key- The key to check
- Returns:
- True if the key and value backed by the key is supported
 
 - 
supportsdefault boolean supports(Value<?> value) Checks if the providedValueis supported.- Parameters:
- value- The base value to check
- Returns:
- True if the base value is supported
 
 - 
getKeysSet<Key<?>> getKeys() Gets all applicableKeys for thisValueContainer. Changes can not be made to the set to alter theValueContainer, nor can theValues be changed with the providedImmutableSet.- Returns:
- An immutable set of known Keys
 
 - 
getValuesSet<Value.Immutable<?>> getValues() Gets all applicableValues associated with thisValueContainer. As the data backed by the values are copied, any modifications to theValues will not be reflected onto thisValueContainer.- Returns:
- An immutable set of copied values
 
 
- 
 
-