Class PotionEffectModifier
java.lang.Object
io.github.projectunified.craftitem.spigot.modifier.PotionEffectModifier
- All Implemented Interfaces:
ItemModifier,SpigotItemModifier
Spigot modifier that adds potion effects to potions and compatible items.
Supports multiple input formats:
- Direct PotionEffect object
- String format: "EFFECT_NAME duration amplifier" or "EFFECT_NAME,duration,amplifier"
- Collection of PotionEffect objects
- List of effect strings
Example Usage:
// Direct PotionEffect
ItemModifier mod1 = new PotionEffectModifier(
new PotionEffect(PotionEffectType.SPEED, 2400, 2)
);
// String list format (duration in seconds)
ItemModifier mod2 = new PotionEffectModifier(List.of(
"Speed 120 2",
"Strength, 60, 1"
));
// Direct collection
ItemModifier mod3 = new PotionEffectModifier(List.of(
new PotionEffect(PotionEffectType.SPEED, 2400, 2)
));
-
Constructor Summary
ConstructorsConstructorDescriptionPotionEffectModifier(String potionEffect) Creates a PotionEffectModifier with a potion effect string.PotionEffectModifier(Collection<org.bukkit.potion.PotionEffect> potionEffects) Creates a PotionEffectModifier with a collection of PotionEffect objects.PotionEffectModifier(List<String> potionEffects) Creates a PotionEffectModifier with a list of potion effect strings.PotionEffectModifier(org.bukkit.potion.PotionEffect potionEffect) Creates a PotionEffectModifier with a single PotionEffect. -
Method Summary
Modifier and TypeMethodDescriptionvoidmodify(SpigotItem item, UnaryOperator<String> translator) Applies the potion effects to the item.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
-
PotionEffectModifier
public PotionEffectModifier(org.bukkit.potion.PotionEffect potionEffect) Creates a PotionEffectModifier with a single PotionEffect.- Parameters:
potionEffect- the potion effect to apply
-
PotionEffectModifier
Creates a PotionEffectModifier with a potion effect string. Format: "EFFECT_NAME duration amplifier" or "EFFECT_NAME,duration,amplifier" Duration is in seconds.- Parameters:
potionEffect- the potion effect string
-
PotionEffectModifier
Creates a PotionEffectModifier with a collection of PotionEffect objects.- Parameters:
potionEffects- the collection of potion effects
-
PotionEffectModifier
Creates a PotionEffectModifier with a list of potion effect strings. Format: "EFFECT_NAME duration amplifier" or "EFFECT_NAME,duration,amplifier" Duration is in seconds.- Parameters:
potionEffects- the list of potion effect strings
-
-
Method Details
-
modify
Applies the potion effects to the item. Only works on items with PotionMeta (potions, splash potions, lingering potions, etc.).- Specified by:
modifyin interfaceSpigotItemModifier- Parameters:
item- the SpigotItem to modifytranslator- the string translator for variable substitution
-