Class ItemTextProviderPre_1_17

java.lang.Object
com.kamikazejam.kamicommon.nms.provider.Provider<AbstractItemTextPre_1_17>
com.kamikazejam.kamicommon.nms.provider.ItemTextProviderPre_1_17

public class ItemTextProviderPre_1_17 extends Provider<AbstractItemTextPre_1_17>
Provider for version-specific item text implementations (Pre-1.17 only).

This provider selects the appropriate AbstractItemTextPre_1_17 implementation for Minecraft versions before 1.17, handling the evolution of item tooltip and text component systems. The provider is specifically designed for pre-1.17 versions that used different text component architectures.

The provider covers the pre-1.17 text component evolution:

  • 1.8-1.12: Legacy text components with basic hover support
  • 1.13-1.16: Enhanced text components with improved tooltip systems
  • 1.17+: Major text system overhaul (handled by separate providers)

This provider is used in conjunction with newer text providers to ensure comprehensive coverage of item text functionality across all Minecraft versions, with 1.17+ using entirely different text component systems.

See Also:
  • Constructor Details

    • ItemTextProviderPre_1_17

      public ItemTextProviderPre_1_17()
  • Method Details

    • provide

      @NotNull protected @NotNull AbstractItemTextPre_1_17 provide(int ver)
      Creates the appropriate implementation for the specified NMS version.

      This method must be implemented by subclasses to provide version-specific logic for creating the appropriate implementation. The method receives a formatted NMS integer that can be compared against known version thresholds to determine which implementation to create.

      Use the Provider.f(String) helper method to convert Minecraft version strings to formatted integers for comparison.

      Selects the appropriate item text implementation for pre-1.17 versions only. This provider explicitly does not support 1.17+ versions, as those use fundamentally different text component systems that require separate providers.

      Specified by:
      provide in class Provider<AbstractItemTextPre_1_17>
      Parameters:
      ver - the formatted NMS version integer
      Returns:
      the version-appropriate AbstractItemTextPre_1_17 implementation
      Throws:
      IllegalArgumentException - if the version is below 1.8 or 1.17+ (unsupported)