Package net.minecraft.component
Interface ComponentHolder
- All Known Implementing Classes:
ItemStack
public interface ComponentHolder
An object that holds components. Note that this interface does not expose
methods to modify the held components.
Component holders usually have "base" components and the overrides to the base (usually referred to as "changes"). The overrides may set additional components, modify the values from the base-provided default, or "unset"/remove base values. Methods in this interface expose the final value, after applying the changes.
- See Also:
- Mappings:
Namespace Name official jv
intermediary net/minecraft/class_9322
named net/minecraft/component/ComponentHolder
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
contains
(DataComponentType<?> type) Returns whether the held components includetype
.default <T> T
get
(DataComponentType<? extends T> type) Returns the value for the componenttype
, ornull
if the component is missing.default <T> T
getOrDefault
(DataComponentType<? extends T> type, T fallback) Returns the value for the componenttype
, orfallback
if the component is missing.
-
Method Details
-
getComponents
ComponentMap getComponents()- Mappings:
Namespace Name Mixin selector official a
Ljv;a()Ljw;
intermediary method_57353
Lnet/minecraft/class_9322;method_57353()Lnet/minecraft/class_9323;
named getComponents
Lnet/minecraft/component/ComponentHolder;getComponents()Lnet/minecraft/component/ComponentMap;
-
get
Returns the value for the componenttype
, ornull
if the component is missing.The returned value should never be mutated.
- Returns:
- the value for the component
type
, ornull
if the component is missing - Mappings:
Namespace Name Mixin selector official a
Ljv;a(Ljz;)Ljava/lang/Object;
intermediary method_57824
Lnet/minecraft/class_9322;method_57824(Lnet/minecraft/class_9331;)Ljava/lang/Object;
named get
Lnet/minecraft/component/ComponentHolder;get(Lnet/minecraft/component/DataComponentType;)Ljava/lang/Object;
-
getOrDefault
Returns the value for the componenttype
, orfallback
if the component is missing.This method does not initialize the components with
fallback
. The returned value should never be mutated.- Returns:
- the value for the component
type
, orfallback
if the component is missing - Mappings:
Namespace Name Mixin selector official a
Ljv;a(Ljz;Ljava/lang/Object;)Ljava/lang/Object;
intermediary method_57825
Lnet/minecraft/class_9322;method_57825(Lnet/minecraft/class_9331;Ljava/lang/Object;)Ljava/lang/Object;
named getOrDefault
Lnet/minecraft/component/ComponentHolder;getOrDefault(Lnet/minecraft/component/DataComponentType;Ljava/lang/Object;)Ljava/lang/Object;
-
contains
Returns whether the held components includetype
.- Returns:
- whether the held components include
type
- Implementation Note:
- This is implemented as
get(type) != null
. - Mappings:
Namespace Name Mixin selector official b
Ljv;b(Ljz;)Z
intermediary method_57826
Lnet/minecraft/class_9322;method_57826(Lnet/minecraft/class_9331;)Z
named contains
Lnet/minecraft/component/ComponentHolder;contains(Lnet/minecraft/component/DataComponentType;)Z
-