package com.nisovin.magicspells.util;
import java.util.HashMap;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
import com.nisovin.magicspells.MagicSpells;
public class ExperienceBarManager {
private HashMap<Player, Object> locks = new HashMap<Player, Object>();
public void update(Player player, int level, float percent) {
update(player, level, percent, null);
}
public void update(Player player, int level, float percent, Object object) {
Object lock = locks.get(player);
if (lock == null || (object != null && object.equals(lock))) {
if (player.getOpenInventory().getType() != InventoryType.ENCHANTING) {
MagicSpells.getVolatileCodeHandler().setExperienceBar(player, level, percent);
}
}
}
public void lock(Player player, Object object) {
Object lock = locks.get(player);
if (lock == null || lock.equals(object)) {
locks.put(player, object);
}
}
public void unlock(Player player, Object object) {
Object lock = locks.get(player);
if (lock != null && lock.equals(object)) {
locks.remove(player);
}
}
}