From d3d7c254f4c4343c0c4efadd42e65a9de734121f Mon Sep 17 00:00:00 2001 From: Stephen Jenkins Date: Fri, 10 Jul 2015 18:04:53 -0400 Subject: [PATCH] Fix for custom potions being missed in potion stage calculation. #2386 --- .../datatypes/skills/alchemy/PotionStage.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/alchemy/PotionStage.java b/src/main/java/com/gmail/nossr50/datatypes/skills/alchemy/PotionStage.java index a0d0fa4bb..7ceb2c04a 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/alchemy/PotionStage.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/alchemy/PotionStage.java @@ -1,6 +1,9 @@ package com.gmail.nossr50.datatypes.skills.alchemy; +import java.util.List; + import org.bukkit.potion.Potion; +import org.bukkit.potion.PotionEffect; public enum PotionStage { FIVE(5), @@ -44,17 +47,27 @@ public enum PotionStage { public static PotionStage getPotionStage(AlchemyPotion alchemyPotion) { Potion potion = alchemyPotion.toPotion(1); + List effects = alchemyPotion.getEffects(); int stage = 1; // Check if potion isn't awkward or mundane - if (potion.getType() != null) { + // Check for custom effects added by mcMMO + if (potion.getType() != null || !effects.isEmpty()) { stage++; } // Check if potion has a glowstone dust amplifier + // Else check if the potion has a custom effect with an amplifier added by mcMMO if (potion.getLevel() > 1) { stage++; + }else if(!effects.isEmpty()){ + for (PotionEffect effect : effects){ + if(effect.getAmplifier() > 0){ + stage++; + break; + } + } } // Check if potion has a redstone dust amplifier