Class EntityEssenceEffectRegistry

java.lang.Object
wtf.choco.alchema.essence.EntityEssenceEffectRegistry

public final class EntityEssenceEffectRegistry
extends java.lang.Object
Represents a registry by which EntityTypes may be mapped to their EntityEssenceData counterparts.
Author:
Parker Hawke - Choco
  • Constructor Details

    • EntityEssenceEffectRegistry

      public EntityEssenceEffectRegistry()
  • Method Details

    • registerEntityEssenceData

      public boolean registerEntityEssenceData​(@NotNull @NotNull EntityEssenceData essenceData, boolean override)
      Register an EntityEssenceData for the given EntityType.
      Parameters:
      essenceData - the essence data to register
      override - whether or not to override an existing entry (if one exists)
      Returns:
      true if registered successfully. false if override is false and an entry already exists for the given EntityType
    • registerEntityEssenceData

      public boolean registerEntityEssenceData​(@NotNull @NotNull EntityEssenceData essenceData)
      Register an EntityEssenceData for the given EntityType. If essence data has already been registered for the given EntityType, this method will not attempt to override, fail silently and return false.
      Parameters:
      essenceData - the essence data to register
      Returns:
      true if registered successfully. false if an entry already exists for the given EntityType
    • getEntityEssenceData

      @Nullable public @Nullable EntityEssenceData getEntityEssenceData​(@NotNull @NotNull org.bukkit.entity.EntityType entityType)
      Get the EntityEssenceData registered to the given EntityType.
      Parameters:
      entityType - the entity type whose essence data to get
      Returns:
      the entity essence data. null if none registered
    • hasEntityEssenceData

      public boolean hasEntityEssenceData​(@NotNull @NotNull org.bukkit.entity.EntityType entityType)
      Check whether or not the given EntityType has EntityEssenceData registered.
      Parameters:
      entityType - the entity type to check
      Returns:
      true if registered, false otherwise
    • getRegisteredEntityEssenceTypes

      @NotNull public @NotNull java.util.Set<@NotNull org.bukkit.entity.EntityType> getRegisteredEntityEssenceTypes()
      Get an unmodifiable Set of EntityTypes for which essence data has been registered in this registry.
      Returns:
      the registered entity types
    • clearEntityEssenceData

      public void clearEntityEssenceData()
      Clear all registered entity essence data in this registry.
    • registerDefaultAlchemaEssences

      public static void registerDefaultAlchemaEssences​(@NotNull @NotNull EntityEssenceEffectRegistry registry)
      Register all default EntityEssenceData for every EntityType supported by Alchema on initial install. This method will override any existing registrations in the provided registry.
      Parameters:
      registry - the registry to which the essence data should be registered.