mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-14 21:22:09 +00:00
Implement correct hashCode() and equals() in EnchantmentLevel
This commit is contained in:
parent
9c56b147ee
commit
b8f9a4b96f
1 changed files with 28 additions and 5 deletions
|
@ -7,9 +7,9 @@ import org.bukkit.enchantments.Enchantment;
|
||||||
public class EnchantmentLevel implements Entry<Enchantment, Integer>
|
public class EnchantmentLevel implements Entry<Enchantment, Integer>
|
||||||
{
|
{
|
||||||
private Enchantment enchantment;
|
private Enchantment enchantment;
|
||||||
private int level;
|
private int level;
|
||||||
|
|
||||||
public EnchantmentLevel(Enchantment enchantment, int level)
|
public EnchantmentLevel(final Enchantment enchantment, final int level)
|
||||||
{
|
{
|
||||||
this.enchantment = enchantment;
|
this.enchantment = enchantment;
|
||||||
this.level = level;
|
this.level = level;
|
||||||
|
@ -20,7 +20,7 @@ public class EnchantmentLevel implements Entry<Enchantment, Integer>
|
||||||
return enchantment;
|
return enchantment;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEnchantment(Enchantment enchantment)
|
public void setEnchantment(final Enchantment enchantment)
|
||||||
{
|
{
|
||||||
this.enchantment = enchantment;
|
this.enchantment = enchantment;
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ public class EnchantmentLevel implements Entry<Enchantment, Integer>
|
||||||
return level;
|
return level;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLevel(int level)
|
public void setLevel(final int level)
|
||||||
{
|
{
|
||||||
this.level = level;
|
this.level = level;
|
||||||
}
|
}
|
||||||
|
@ -48,10 +48,33 @@ public class EnchantmentLevel implements Entry<Enchantment, Integer>
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer setValue(Integer v)
|
public Integer setValue(final Integer v)
|
||||||
{
|
{
|
||||||
int t = level;
|
int t = level;
|
||||||
level = v;
|
level = v;
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode()
|
||||||
|
{
|
||||||
|
return enchantment.hashCode() ^ level;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(final Object obj)
|
||||||
|
{
|
||||||
|
if (obj instanceof Entry)
|
||||||
|
{
|
||||||
|
final Entry entry = (Entry)obj;
|
||||||
|
if (entry.getKey() instanceof Enchantment
|
||||||
|
&& entry.getValue() instanceof Integer)
|
||||||
|
{
|
||||||
|
final Enchantment enchantment = (Enchantment)entry.getKey();
|
||||||
|
final Integer level = (Integer)entry.getValue();
|
||||||
|
return this.enchantment.equals(enchantment) && this.level == level.intValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue