/******************************************************************************
 * Copyright (c) 2014, Richard Harrah                                         *
 *                                                                            *
 * Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
 *                                                                            *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 ******************************************************************************/

package info.faceland.beast;

import net.objecthunter.exp4j.Expression;
import org.bukkit.entity.EntityType;
import org.bukkit.potion.PotionEffect;

import java.util.Map;

public final class BeastData {

    private final EntityType type;
    private String nameFormat;
    private Expression healthExpression;
    private Expression experienceExpression;
    private Expression damageExpression;
    private Map<Integer, PotionEffect> potionEffectMap;

    public BeastData(EntityType type) {
        this.type = type;
    }

    public EntityType getType() {
        return type;
    }

    public String getNameFormat() {
        return nameFormat;
    }

    public void setNameFormat(String nameFormat) {
        this.nameFormat = nameFormat;
    }

    public Expression getHealthExpression() {
        return healthExpression;
    }

    public void setHealthExpression(Expression healthExpression) {
        this.healthExpression = healthExpression;
    }

    public Expression getExperienceExpression() {
        return experienceExpression;
    }

    public void setExperienceExpression(Expression experienceExpression) {
        this.experienceExpression = experienceExpression;
    }

    public Expression getDamageExpression() {
        return damageExpression;
    }

    public void setDamageExpression(Expression damageExpression) {
        this.damageExpression = damageExpression;
    }

    public Map<Integer, PotionEffect> getPotionEffectMap() {
        return potionEffectMap;
    }

    public void setPotionEffectMap(Map<Integer, PotionEffect> potionEffectMap) {
        this.potionEffectMap = potionEffectMap;
    }

    @Override
    public int hashCode() {
        return type != null ? type.hashCode() : 0;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        BeastData beastData = (BeastData) o;

        return type == beastData.type;
    }

}

@@ -1242,24 +1242,47 @@
 ionEffect;%0A%0A
+import java.util.List;%0A
 import java.
@@ -1534,32 +1534,37 @@
 te Map%3CInteger, 
+List%3C
 PotionEffect%3E po
@@ -1552,32 +1552,33 @@
 st%3CPotionEffect%3E
+%3E
  potionEffectMap
@@ -2551,32 +2551,37 @@
 ic Map%3CInteger, 
+List%3C
 PotionEffect%3E ge
@@ -2577,16 +2577,17 @@
 nEffect%3E
+%3E
  getPoti
@@ -2689,16 +2689,21 @@
 nteger, 
+List%3C
 PotionEf
@@ -2707,16 +2707,17 @@
 nEffect%3E
+%3E
  potionE

fix beastdata