Interface LoadRequirement

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

This class specifies the conditions that must be met in order to load an Expansion from an ExpansionProvider.
  • 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
    • 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
    • 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
    • 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