Class MaterialModifier
java.lang.Object
io.github.projectunified.craftitem.spigot.modifier.MaterialModifier
- All Implemented Interfaces:
ItemModifier,SpigotItemModifier
Spigot modifier for changing item material type.
Supports multiple input formats:
- Direct Material enum
- Material name (String) with optional data value: "DIAMOND_SWORD:0"
- Material ID number
- List of materials (tries each until valid)
Example Usage:
// Direct material
ItemModifier mod1 = new MaterialModifier(Material.DIAMOND_SWORD);
// String with data
ItemModifier mod2 = new MaterialModifier("DIAMOND_SWORD:0");
// Fallback list
ItemModifier mod3 = new MaterialModifier(List.of("DIAMOND_SWORD", "IRON_SWORD"));
-
Constructor Summary
ConstructorsConstructorDescriptionMaterialModifier(String material) Creates a MaterialModifier with a material name that may contain variables.MaterialModifier(List<String> materials) Creates a MaterialModifier that tries materials in order until one is valid.MaterialModifier(org.bukkit.Material material) Creates a MaterialModifier with the specified Material enum.MaterialModifier(org.bukkit.Material material, short data) Creates a MaterialModifier with the specified Material and data value. -
Method Summary
Modifier and TypeMethodDescriptionvoidmodify(SpigotItem item, UnaryOperator<String> translator) Applies the material change to the SpigotItem.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.github.projectunified.craftitem.spigot.core.SpigotItemModifier
modify
-
Constructor Details
-
MaterialModifier
public MaterialModifier(org.bukkit.Material material) Creates a MaterialModifier with the specified Material enum.- Parameters:
material- the Material to apply
-
MaterialModifier
public MaterialModifier(org.bukkit.Material material, short data) Creates a MaterialModifier with the specified Material and data value.- Parameters:
material- the Material to applydata- the data value (durability)
-
MaterialModifier
Creates a MaterialModifier with a material name that may contain variables. Format: "MATERIAL_NAME" or "MATERIAL_NAME:data_value"- Parameters:
material- the material name (can be translated)
-
MaterialModifier
Creates a MaterialModifier that tries materials in order until one is valid. Useful as a fallback mechanism.- Parameters:
materials- list of material names to try in order
-
-
Method Details
-
modify
Applies the material change to the SpigotItem.- Specified by:
modifyin interfaceSpigotItemModifier- Parameters:
item- the SpigotItem to modifytranslator- the string translator for variable substitution
-