Class MaterialVariant

java.lang.Object
net.joseplay.allianceutils.api.materialVariants.MaterialVariant

public final class MaterialVariant extends Object
Static registry that groups Material into logical variants.

A variant represents a set of related materials, such as different forms of the same resource (e.g., ore, deepslate ore, raw block).

Example usage:
 Variant variant = MaterialVariant.getVariant(Material.IRON_ORE);
 // returns "IRON"
 
Limitations:
  • Lookup is O(n) (linear search)
  • No reverse lookup cache (Material → Variant)
  • Returns null if no variant is found
  • Field Details

    • VARIANTS

      public static final List<MaterialVariant.Variant> VARIANTS
      Immutable list of all registered variants. Important:
      • Search order matters (first match wins)
      • Materials should not be duplicated across variants
  • Method Details

    • getVariant

      public static MaterialVariant.Variant getVariant(org.bukkit.Material material)
      Returns the variant associated with the given material. Behavior:
      • Returns the first matching variant
      • Returns null if no match is found
      Complexity: O(n)
      Parameters:
      material - target material
      Returns:
      matching variant or null