Interface LoadRequirement

All Known Implementing Classes:
LoadRequirement.AnyOfRequirement, LoadRequirement.AvailableComplementRequirement, LoadRequirement.ClassRequirement, LoadRequirement.MultiLoadRequirement, LoadRequirement.NoneLoadRequirement, LoadRequirement.PlatformRequirement

  • Method Details

    • none

      static LoadRequirement none()
      It means that there is no requirement to load an expansion.
      Returns:
      a LoadRequirement that does not perform any validation
      Since:
      3.0.0
    • requiredComplement

      static LoadRequirement requiredComplement(String name, String... aliases)
      Requirement for a complement, whether a plugin or mod, to be present in order for an expansion to be loaded.
      The ability to provide multiple strings is provided because names may vary on some platforms. For example, Velocity requires plugin IDs to be lowercase, such as miniplaceholders, while Paper can contain uppercase letters, such as MiniPlaceholders.
      Parameters:
      name - the principal name of this complement
      aliases - the platform aliases of a complement
      Returns:
      a load requirement that checks for an available complement
      Since:
      3.0.0
    • allOf

      static LoadRequirement allOf(LoadRequirement... requirements)
      Multiple requirement, in case an expansion needs to depend on a platform as well as one or more add-ons that are installed.
      Parameters:
      requirements - the load requirements
      Returns:
      a load requirement of many load requirements
      Since:
      3.0.0
    • platform

      static LoadRequirement platform(Platform... platforms)
      Requirement that the current execution be on a specific platform.
      Parameters:
      platforms - the supported platforms
      Returns:
      a load requirement that checks for a supported platform
      Since:
      3.0.0
    • requiredClass

      static LoadRequirement requiredClass(@Pattern("^([a-z_][a-z0-9_]*)(\\.[a-z_][a-z0-9_]*)*(\\.[A-Z][A-Za-z0-9_]*)$") String clazz)
      Requirement that a specific class be present.
      Parameters:
      clazz - the specified class.
      Returns:
      a load requirement that checks for a present class
      Since:
      3.1.0
    • anyOf

      static LoadRequirement anyOf(LoadRequirement... requirements)
      This requirement checks whether any of the conditions presented are satisfied.
      Parameters:
      requirements - the requerimients
      Returns:
      a requirement that checks whether a condition is valid
      Since:
      3.1.0