TreeDefinition(TreeBranchDefinition branch, String speciesName, String binomial, boolean dominant, EnumLeafType leafType, Color primary, Color secondary, IWoodType woodType) {
String uid = Constants.MOD_ID + ".tree" + this;
String unlocalizedDescription = "for.description.tree" + this;
String unlocalizedName = "for.trees.species." + speciesName;
this.branch = branch;
ILeafSpriteProvider leafIconProvider = TreeManager.treeFactory.getLeafIconProvider(leafType, primary, secondary);
IGermlingModelProvider germlingIconProvider = ModelProviderFactory.create(woodType, uid, leafIconProvider);
IWoodProvider woodProvider = WoodProviderFactory.create(woodType);
ILeafProvider leafProvider = new LeafProvider();
IAlleleTreeSpeciesBuilder speciesBuilder = TreeManager.treeFactory.createSpecies(uid, unlocalizedName, "Sengir", unlocalizedDescription, dominant, branch.getBranch(), binomial, Constants.MOD_ID, leafIconProvider, germlingIconProvider, woodProvider, this, leafProvider);
setSpeciesProperties(speciesBuilder);
this.species = speciesBuilder.build();
this.woodType = woodType;
}