package net.scapeemulator.game.model.player.skills.construction.furniture;
import net.scapeemulator.game.model.definition.ItemDefinitions;
import net.scapeemulator.game.model.player.Item;
import net.scapeemulator.game.model.player.Player;
import net.scapeemulator.game.model.player.requirement.Requirement;
/**
* @author David Insley
*/
public class MaterialRequirement extends Requirement {
private final Material material;
private final int amount;
public MaterialRequirement(Material material) {
this(material, 1);
}
public MaterialRequirement(Material material, int amount) {
this.material = material;
this.amount = amount;
}
public double getXp() {
return material.getXp() * amount;
}
@Override
public boolean hasRequirement(Player player) {
return player.getInventory().getAmount(material.getItemId()) >= amount;
}
@Override
public void displayErrorMessage(Player player) {
player.sendMessage("You do not have the materials to make that.");
}
@Override
public void fulfill(Player player) {
player.getInventory().remove(new Item(material.getItemId(), amount));
}
@Override
public String toString() {
return ItemDefinitions.name(material.getItemId()) + ": " + amount;
}
}