package de.jaschastarke.minecraft.limitedcreative.limits; import java.util.Map; import java.util.WeakHashMap; import org.bukkit.entity.Entity; public class EntityNoDrop { private Map<Entity, Prevent> nodrop = new WeakHashMap<Entity, Prevent>(); private Prevent get(Entity entity) { if (!nodrop.containsKey(entity)) nodrop.put(entity, new Prevent()); return nodrop.get(entity); } public void preventXP(Entity entity) { get(entity).xp = true; } public void preventDrop(Entity entity) { get(entity).drops = true; } public boolean isXPPrevented(Entity entity) { return nodrop.containsKey(entity) && nodrop.get(entity).xp; } public boolean isDropPrevented(Entity entity) { return nodrop.containsKey(entity) && nodrop.get(entity).drops; } public void remove(Entity entity) { nodrop.remove(entity); } private class Prevent { boolean xp = false; boolean drops = false; } }