package net.glowstone.dispenser;
import org.bukkit.Material;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class DispenseBehaviorRegistry {
private final Map<Material, DispenseBehavior> dispenseBehaviorMap = new ConcurrentHashMap<>();
public void putBehavior(Material material, DispenseBehavior behavior) {
dispenseBehaviorMap.put(material, behavior);
}
public void resetBehavior(Material material) {
dispenseBehaviorMap.remove(material);
}
public DispenseBehavior getBehavior(Material material) {
if (material == null) {
return new DefaultDispenseBehavior();
}
DispenseBehavior behavior = dispenseBehaviorMap.get(material);
if (behavior == null) {
return new DefaultDispenseBehavior();
}
return behavior;
}
}