content: package pers.neige.neigeitems.ref.core.component;
  
  import org.inksnow.ankhinvoke.comments.HandleBy;
  import org.jetbrains.annotations.Nullable;
  
  @HandleBy(reference = "net/minecraft/core/component/DataComponentMap", isInterface = true, predicates = "craftbukkit_version:[v1_20_R4,)")
  public interface RefDataComponentMap {
      @HandleBy(reference = "Lnet/minecraft/core/component/DataComponentMap;get(Lnet/minecraft/core/component/DataComponentType;)Ljava/lang/Object;", isInterface = true, predicates = "craftbukkit_version:[v1_20_R4,)")
      <T> @Nullable T get(RefDataComponentType<? extends T> type);
  
      @HandleBy(reference = "Lnet/minecraft/core/component/DataComponentMap;has(Lnet/minecraft/core/component/DataComponentType;)Z", isInterface = true, predicates = "craftbukkit_version:[v1_20_R4,)")
      default boolean has(RefDataComponentType<?> type) {
          return false;
      }
  
      @HandleBy(reference = "Lnet/minecraft/core/component/DataComponentMap;getOrDefault(Lnet/minecraft/core/component/DataComponentType;Ljava/lang/Object;)Ljava/lang/Object;", isInterface = true, predicates = "craftbukkit_version:[v1_20_R4,)")
      default <T> T getOrDefault(RefDataComponentType<? extends T> type, T fallback) {
          return null;
      }
  
  }
  