package net.scapeemulator.game.model.player.skills.firemaking; import net.scapeemulator.game.model.player.requirement.Requirements; import net.scapeemulator.game.model.player.requirement.SkillRequirement; import net.scapeemulator.game.model.player.skills.Skill; /** * @author David Insley */ public enum Log { NORMAL(1511, 1, 40, 2732), ACHEY(2862, 1, 40, 2732), OAK(1521, 15, 60, 2732), WILLOW(1519, 30, 90, 2732), TEAK(6333, 35, 105, 2732), MAPLE(1517, 45, 135, 2732), MAHOGANY(6332, 50, 157.5, 2732), ARCTIC_PINE(10810, 54, 175, 2732), EUCALYPTUS(12581, 58, 193.5, 2732), YEW(1515, 60, 202.5, 2732), MAGIC(1513, 75, 303.8, 2732); /** * Item id of the log */ private final int itemId; /** * Level requirement to burn the log, used to calculate how long it takes to light */ private final int level; /** * Requirements for the player to light the log (level, quest, etc) */ private final Requirements requirements; /** * Amount of experience awarded when the log is successfully lit */ private final double xp; /** * Object id of the lit fire; * TODO find out if needed */ private final int fireId; private Log(int itemId, int level, double xp, int fireId) { this.itemId = itemId; this.level = level; requirements = new Requirements(); requirements.addRequirement(new SkillRequirement(Skill.FIREMAKING, level, true, "burn those logs")); this.xp = xp; this.fireId = fireId; } /** * Searches for a Firemaking log that matches the given item * * @param itemId item id to search for * @return the Log with the given item id, or null if none found */ public static Log forId(int itemId) { for (Log log : values()) { if (log.itemId == itemId) { return log; } } return null; } public int getItemId() { return itemId; } public int getLevel() { return level; } public Requirements getRequirements() { return requirements; } public double getXp() { return xp; } public int getFireId() { return fireId; } }