Interface ComponentHolder

All Superinterfaces:
ComponentsAccess
All Known Implementing Classes:
ItemStack

public interface ComponentHolder extends ComponentsAccess
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
named net/minecraft/component/ComponentHolder
intermediary net/minecraft/class_9322
official kh
  • Method Details Link icon

    • getComponents Link icon

      ComponentMap getComponents()
      Mappings:
      Namespace Name Mixin selector
      named getComponents Lnet/minecraft/component/ComponentHolder;getComponents()Lnet/minecraft/component/ComponentMap;
      intermediary method_57353 Lnet/minecraft/class_9322;method_57353()Lnet/minecraft/class_9323;
      official a Lkh;a()Lki;
    • get Link icon

      @Nullable default <T> T get(ComponentType<? extends T> type)
      Specified by:
      get in interface ComponentsAccess
      Mappings:
      Namespace Name Mixin selector
      named get Lnet/minecraft/component/ComponentsAccess;get(Lnet/minecraft/component/ComponentType;)Ljava/lang/Object;
      intermediary method_58694 Lnet/minecraft/class_9473;method_58694(Lnet/minecraft/class_9331;)Ljava/lang/Object;
      official a Lkg;a(Lkk;)Ljava/lang/Object;
    • streamAll Link icon

      default <T> Stream<T> streamAll(Class<? extends T> valueClass)
      Mappings:
      Namespace Name Mixin selector
      named streamAll Lnet/minecraft/component/ComponentHolder;streamAll(Ljava/lang/Class;)Ljava/util/stream/Stream;
      intermediary method_62984 Lnet/minecraft/class_9322;method_62984(Ljava/lang/Class;)Ljava/util/stream/Stream;
      official a Lkh;a(Ljava/lang/Class;)Ljava/util/stream/Stream;
    • getOrDefault Link icon

      default <T> T getOrDefault(ComponentType<? extends T> type, T fallback)
      Specified by:
      getOrDefault in interface ComponentsAccess
      Mappings:
      Namespace Name Mixin selector
      named getOrDefault Lnet/minecraft/component/ComponentsAccess;getOrDefault(Lnet/minecraft/component/ComponentType;Ljava/lang/Object;)Ljava/lang/Object;
      intermediary method_58695 Lnet/minecraft/class_9473;method_58695(Lnet/minecraft/class_9331;Ljava/lang/Object;)Ljava/lang/Object;
      official a Lkg;a(Lkk;Ljava/lang/Object;)Ljava/lang/Object;
    • contains Link icon

      default boolean contains(ComponentType<?> type)
      Returns whether the held components include type.
      Returns:
      whether the held components include type
      Implementation Note:
      This is implemented as get(type) != null.
      Mappings:
      Namespace Name Mixin selector
      named contains Lnet/minecraft/component/ComponentHolder;contains(Lnet/minecraft/component/ComponentType;)Z
      intermediary method_57826 Lnet/minecraft/class_9322;method_57826(Lnet/minecraft/class_9331;)Z
      official c Lkh;c(Lkk;)Z