mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 21:26:46 +01:00
Properly calculate potionstage
This commit is contained in:
parent
001b11efc6
commit
11a744a772
@ -2,7 +2,9 @@ package com.gmail.nossr50.datatypes.skills.alchemy;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.potion.Potion;
|
import org.bukkit.potion.Potion;
|
||||||
|
import org.bukkit.potion.PotionData;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionType;
|
import org.bukkit.potion.PotionType;
|
||||||
|
|
||||||
@ -47,22 +49,22 @@ public enum PotionStage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static PotionStage getPotionStage(AlchemyPotion alchemyPotion) {
|
public static PotionStage getPotionStage(AlchemyPotion alchemyPotion) {
|
||||||
Potion potion = alchemyPotion.toPotion(1);
|
PotionData data = alchemyPotion.getData();
|
||||||
List<PotionEffect> effects = alchemyPotion.getEffects();
|
List<PotionEffect> effects = alchemyPotion.getEffects();
|
||||||
|
|
||||||
int stage = 1;
|
int stage = 1;
|
||||||
|
|
||||||
// Check if potion isn't awkward or mundane
|
// Check if potion has base effect
|
||||||
// Check for custom effects added by mcMMO
|
if (data.getType().getEffectType() != null) {
|
||||||
if (potion.getType() != null || !effects.isEmpty()) {
|
|
||||||
stage++;
|
stage++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if potion has a glowstone dust amplifier
|
// Check if potion has a glowstone dust amplifier
|
||||||
// Else check if the potion has a custom effect with an amplifier added by mcMMO
|
// Else check if the potion has a custom effect with an amplifier added by mcMMO
|
||||||
if (potion.getLevel() > 1) {
|
if (data.isUpgraded()) {
|
||||||
stage++;
|
stage++;
|
||||||
}else if(!effects.isEmpty()){
|
}
|
||||||
|
if(!effects.isEmpty()){
|
||||||
for (PotionEffect effect : effects){
|
for (PotionEffect effect : effects){
|
||||||
if(effect.getAmplifier() > 0){
|
if(effect.getAmplifier() > 0){
|
||||||
stage++;
|
stage++;
|
||||||
@ -72,12 +74,12 @@ public enum PotionStage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check if potion has a redstone dust amplifier
|
// Check if potion has a redstone dust amplifier
|
||||||
if (potion.hasExtendedDuration()) {
|
if (data.isExtended()) {
|
||||||
stage++;
|
stage++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if potion has a gunpowder amplifier
|
// Check if potion has a gunpowder amplifier
|
||||||
if (potion.isSplash()) {
|
if (alchemyPotion.getMaterial() == Material.SPLASH_POTION || alchemyPotion.getMaterial() == Material.LINGERING_POTION) {
|
||||||
stage++;
|
stage++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user