Class UpgradeRegistry

java.lang.Object
dev.kitteh.factions.upgrade.UpgradeRegistry

@AvailableSince("4.0.0") @NullMarked public class UpgradeRegistry extends Object
Upgrade registry.
  • Constructor Details

    • UpgradeRegistry

      public UpgradeRegistry()
  • Method Details

    • getUpgrade

      public static @Nullable Upgrade getUpgrade(String name)
      Gets a registered upgrade.
      Parameters:
      name - upgrade name
      Returns:
      upgrade or null if none registered
    • getVariable

      public static @Nullable UpgradeVariable getVariable(String name)
      Gets a registered upgrade variable.
      Parameters:
      name - upgrade variable name
      Returns:
      upgrade variable or null if none registered
    • getUpgrades

      public static Collection<? extends Upgrade> getUpgrades()
      Gets all registered upgrades.
      Returns:
      collection of upgrades registered
    • registerUpgrade

      public static void registerUpgrade(Upgrade upgrade, UpgradeSettings settings, boolean defaultDisabled)
      Registers an upgrade.
      Parameters:
      upgrade - upgrade to register
      settings - upgrade settings
      defaultDisabled - if the upgrade should be disabled by default
      Throws:
      IllegalStateException - if called after load time
      IllegalArgumentException - if upgrade name is already registered
      IllegalArgumentException - if upgrade settings does not match upgrade
      IllegalArgumentException - if upgrade variables present are not registered
    • registerVariable

      public static void registerVariable(UpgradeVariable variable)
      Registers an upgrade variable.
      Parameters:
      variable - variable to register
      Throws:
      IllegalStateException - if called after load time
      IllegalArgumentException - if variable name already registered