Record Class MagicUtilsConsumerInfo

java.lang.Object
java.lang.Record
dev.ua.theroer.magicutils.platform.MagicUtilsConsumerInfo
Record Components:
pluginName - consumer display name
version - consumer version
mainClass - consumer main class / entrypoint
description - consumer description
website - consumer website / contact
authors - consumer authors
platformType - resolved MagicUtils platform adapter type (e.g. Bukkit, Fabric)
commandsEnabled - whether MagicUtils commands are enabled
permissionPrefix - command permission prefix when commands are enabled
rootCommandCount - number of registered root commands
diagnosticsEnabled - whether the diagnostics service is present
closed - whether the runtime is closed
typedComponentCount - typed component count
namedComponentCount - named component count
namedComponentNames - named component keys
connectedAt - timestamp of the last registration

public record MagicUtilsConsumerInfo(String pluginName, String version, String mainClass, @Nullable String description, @Nullable String website, List<String> authors, String platformType, boolean commandsEnabled, @Nullable String permissionPrefix, int rootCommandCount, boolean diagnosticsEnabled, boolean closed, int typedComponentCount, int namedComponentCount, List<String> namedComponentNames, Instant connectedAt) extends Record
Immutable, platform-independent snapshot of a plugin/mod that is using the shared MagicUtils runtime. Both the Bukkit and Fabric bundle registries build and expose these, so the record and the payload-decoding helpers live here in platform-api rather than being duplicated per platform.
  • Field Details

  • Constructor Details

    • MagicUtilsConsumerInfo

      public MagicUtilsConsumerInfo(String pluginName, String version, String mainClass, @Nullable @Nullable String description, @Nullable @Nullable String website, List<String> authors, String platformType, boolean commandsEnabled, @Nullable @Nullable String permissionPrefix, int rootCommandCount, boolean diagnosticsEnabled, boolean closed, int typedComponentCount, int namedComponentCount, List<String> namedComponentNames, Instant connectedAt)
      Creates an instance of a MagicUtilsConsumerInfo record class.
      Parameters:
      pluginName - the value for the pluginName record component
      version - the value for the version record component
      mainClass - the value for the mainClass record component
      description - the value for the description record component
      website - the value for the website record component
      authors - the value for the authors record component
      platformType - the value for the platformType record component
      commandsEnabled - the value for the commandsEnabled record component
      permissionPrefix - the value for the permissionPrefix record component
      rootCommandCount - the value for the rootCommandCount record component
      diagnosticsEnabled - the value for the diagnosticsEnabled record component
      closed - the value for the closed record component
      typedComponentCount - the value for the typedComponentCount record component
      namedComponentCount - the value for the namedComponentCount record component
      namedComponentNames - the value for the namedComponentNames record component
      connectedAt - the value for the connectedAt record component
  • Method Details

    • matchesPlugin

      public boolean matchesPlugin(@Nullable @Nullable String pluginName)
      Returns true when this consumer matches [pluginName] ignoring case.
    • capabilitiesSummary

      public String capabilitiesSummary()
      Compact capabilities string for list output.
    • fromStatic

      public static MagicUtilsConsumerInfo fromStatic(String pluginName, String version, String mainClass, @Nullable @Nullable String description, @Nullable @Nullable String website, List<String> authors, String platformType, boolean commandsEnabled, @Nullable @Nullable String permissionPrefix, Instant connectedAt, @Nullable @Nullable MagicUtilsConsumerRuntimeView view)
      Builds a point-in-time snapshot from static metadata plus a live view. The static fields never change after registration; the dynamic fields (command/component counts, diagnostics, closed) are read from the view at call time, so each snapshot reflects the consumer's current state. A null view yields a consumer with zeroed dynamic fields.
    • fromPayload

      public static MagicUtilsConsumerInfo fromPayload(Map<String,Object> payload, String fallbackName, String fallbackVersion, String fallbackMainClass, @Nullable @Nullable String fallbackDescription, @Nullable @Nullable String fallbackWebsite, List<String> fallbackAuthors)
      Rebuilds an immutable consumer snapshot from a bridge [payload]. The fallbacks apply when a key is absent or of the wrong type, so a partial payload still yields a usable record.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • pluginName

      public String pluginName()
      Returns the value of the pluginName record component.
      Returns:
      the value of the pluginName record component
    • version

      public String version()
      Returns the value of the version record component.
      Returns:
      the value of the version record component
    • mainClass

      public String mainClass()
      Returns the value of the mainClass record component.
      Returns:
      the value of the mainClass record component
    • description

      @Nullable public @Nullable String description()
      Returns the value of the description record component.
      Returns:
      the value of the description record component
    • website

      @Nullable public @Nullable String website()
      Returns the value of the website record component.
      Returns:
      the value of the website record component
    • authors

      public List<String> authors()
      Returns the value of the authors record component.
      Returns:
      the value of the authors record component
    • platformType

      public String platformType()
      Returns the value of the platformType record component.
      Returns:
      the value of the platformType record component
    • commandsEnabled

      public boolean commandsEnabled()
      Returns the value of the commandsEnabled record component.
      Returns:
      the value of the commandsEnabled record component
    • permissionPrefix

      @Nullable public @Nullable String permissionPrefix()
      Returns the value of the permissionPrefix record component.
      Returns:
      the value of the permissionPrefix record component
    • rootCommandCount

      public int rootCommandCount()
      Returns the value of the rootCommandCount record component.
      Returns:
      the value of the rootCommandCount record component
    • diagnosticsEnabled

      public boolean diagnosticsEnabled()
      Returns the value of the diagnosticsEnabled record component.
      Returns:
      the value of the diagnosticsEnabled record component
    • closed

      public boolean closed()
      Returns the value of the closed record component.
      Returns:
      the value of the closed record component
    • typedComponentCount

      public int typedComponentCount()
      Returns the value of the typedComponentCount record component.
      Returns:
      the value of the typedComponentCount record component
    • namedComponentCount

      public int namedComponentCount()
      Returns the value of the namedComponentCount record component.
      Returns:
      the value of the namedComponentCount record component
    • namedComponentNames

      public List<String> namedComponentNames()
      Returns the value of the namedComponentNames record component.
      Returns:
      the value of the namedComponentNames record component
    • connectedAt

      public Instant connectedAt()
      Returns the value of the connectedAt record component.
      Returns:
      the value of the connectedAt record component