I have been working on a parent class that will handle every interactive item that will be generated on the map, however I think I may be "over thinking" this a bit too much - or maybe I am not abstracting it enough.
This class will handle trees, rocks, plants, and mining nodes - what do you think ?
public abstract class InteractiveObject {
static String defaul1 = "Error";
static String defaul2 = "E";
static int defaul3 = -1;
String name;
String type;
String inspect;
String skill;
String tool_required;
int tool_quality;
int tool_damage;
int skill_level;
int health;
int regen;
int experance;
int rarity; // Chance to spawn on map ( x in 10000 )
String[] state = new String[2];
//LootNode loot;
public InteractiveObject(){
name = defaul1;
type = defaul1;
inspect = defaul1;
skill = defaul1;
tool_required = defaul1;
tool_quality = defaul3;
tool_damage = defaul3;
skill_level = defaul3;
health = defaul3;
regen = defaul3;
experance = defaul3;
rarity = defaul3;
state[0] = defaul2;
state[1] = defaul2;
//loot = new LootNode(defaul1);
}
public String getName(){return name;}
public String getType(){return type;}
public String getInspect(){return inspect;}
public String getSkill(){return skill;}
public String getToolRequired(){return tool_required;}
public int getToolQuality(){return tool_quality;}
public int getToolDamage(){return tool_damage;}
public int getSkillLevel(){return skill_level;}
public int getHealth(){return health;}
public int getRegenerationRate(){return regen;}
public int getExperance(){return experance;}
public int getRarity(){return rarity;}
public String[] getStates(){return state;}
}