diff --git a/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/ExilePearlApi.java b/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/ExilePearlApi.java index f9249e169c..b9b6eeaf8d 100644 --- a/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/ExilePearlApi.java +++ b/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/ExilePearlApi.java @@ -25,6 +25,18 @@ public interface ExilePearlApi extends Plugin, PearlAccess, PearlLogger, PlayerP */ PearlConfig getPearlConfig(); + /** + * Gets the effective per-tick decay amount for a pearl, accounting for external modifiers + * (e.g. vote-streak multipliers from other plugins) applied via {@link com.devotedmc.ExilePearl.event.PearlDecayEvent}. + *
+ * This fires a preview decay event and reads back the resulting amount, so lore and the real
+ * decay loop agree on how fast a pearl actually decays.
+ *
+ * @param pearl The pearl to evaluate
+ * @return The decay amount that would be applied per decay tick, or 0 if decay is cancelled
+ */
+ int getEffectivePearlDecayAmount(ExilePearl pearl);
+
/**
* Gets the pearl lore provider
*
diff --git a/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/core/CoreLoreGenerator.java b/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/core/CoreLoreGenerator.java
index ab9b2e4c99..a1b39a817c 100644
--- a/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/core/CoreLoreGenerator.java
+++ b/plugins/exilepearl-paper/src/main/java/com/devotedmc/ExilePearl/core/CoreLoreGenerator.java
@@ -85,10 +85,11 @@ private List