package net.scapeemulator.game.model.player.skills.woodcutting;
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 TreeType {
NORMAL(1, 25, 1511, 1, 5, 1342, Woodcutting.NORMAL_TREES),
ACHEY(1, 25, 2862, 1, 10, 3371, 2023),
OAK(15, 37.5, 1521, 6, 10, 1342, 1281, 3037),
WILLOW(30, 67.5, 1519, 6, 20, 1342, 5551, 5552, 5553),
TEAK(35, 85, 6333, 6, 30, 1342, 9036),
MAPLE(45, 100, 1517, 6, 35, 1343, 1307, 4674),
MAHOGANY(50, 125, 6332, 7, 45, 1342, 9034),
ARCTIC_PINE(54, 140, 10810, 7, 45, 1342),
EUCALYPTUS(58, 165, 12581, 7, 45, 1342),
YEW(60, 175, 1515, 8, 60, 1342, 1309),
MAGIC(75, 250, 1513, 10, 120, 1342, 1292, 1306);
private final int level;
private final double xp;
private final int logId;
private final int averageLogs;
private final int respawnTicks;
private final int stumpId;
private final Requirements requirements;
private final int[] objectIds;
private TreeType(int level, double xp, int logId, int averageLogs, int respawnTime, int stumpId, int... objectIds) {
this.level = level;
this.xp = xp;
this.logId = logId;
this.averageLogs = averageLogs;
respawnTicks = (int) (respawnTime * (5.0 / 3.0));
this.stumpId = stumpId;
requirements = new Requirements();
requirements.addRequirement(new SkillRequirement(Skill.WOODCUTTING, level, true, "cut that tree"));
this.objectIds = objectIds;
}
public static TreeType forId(int objectId) {
for (TreeType type : values()) {
for (int typeId : type.objectIds) {
if (typeId == objectId) {
return type;
}
}
}
return null;
}
public int getLevel() {
return level;
}
public double getXp() {
return xp;
}
public int getLogId() {
return logId;
}
public int getAverageLogs() {
return averageLogs;
}
public int getRespawnTicks() {
return respawnTicks;
}
public int getStumpId() {
return stumpId;
}
public Requirements getRequirements() {
return requirements;
}
}