diff options
| author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2022-01-23 14:59:04 +0000 |
|---|---|---|
| committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2022-01-23 15:00:44 +0000 |
| commit | 0af6401544c94989f3913c9ea6638a304f7596ef (patch) | |
| tree | c216b5f8413e8f0e05eb825c75fe2b89bd880650 /src/main/java/gtPlusPlus/xmod/forestry/bees/registry | |
| parent | 888f07c5796b860bb7e0fbb507a5728950e941fd (diff) | |
| download | GT5-Unofficial-0af6401544c94989f3913c9ea6638a304f7596ef.tar.gz GT5-Unofficial-0af6401544c94989f3913c9ea6638a304f7596ef.tar.bz2 GT5-Unofficial-0af6401544c94989f3913c9ea6638a304f7596ef.zip | |
Bee basework.
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/forestry/bees/registry')
3 files changed, 512 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java new file mode 100644 index 0000000000..ca11b00cff --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java @@ -0,0 +1,392 @@ +package gtPlusPlus.xmod.forestry.bees.registry; + +import static forestry.api.apiculture.EnumBeeChromosome.*; +import static forestry.api.core.EnumHumidity.ARID; +import static forestry.api.core.EnumHumidity.DAMP; +import static forestry.api.core.EnumTemperature.*; + +import java.awt.Color; +import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.Locale; +import java.util.function.Consumer; + +import org.apache.commons.lang3.reflect.FieldUtils; +import org.apache.commons.lang3.text.WordUtils; + +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.GameRegistry; +import forestry.api.apiculture.*; +import forestry.api.core.EnumHumidity; +import forestry.api.core.EnumTemperature; +import forestry.api.genetics.*; +import forestry.apiculture.genetics.*; +import forestry.apiculture.genetics.alleles.AlleleEffect; +import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.EnumAllele.*; +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_ModHandler; +import gregtech.common.bees.GT_AlleleBeeSpecies; +import gregtech.common.bees.GT_Bee_Mutation; +import gregtech.common.items.CombType; +import gregtech.loaders.misc.GT_BeeDefinition; +import gregtech.loaders.misc.GT_BranchDefinition; +import gtPlusPlus.core.util.reflect.ReflectionUtils; +import net.minecraft.item.ItemStack; + + + +public enum GTPP_BeeDefinition implements IBeeDefinition { + + DIVIDED(GT_BranchDefinition.THAUMIC, "Unstable", true, new Color(0xF0F0F0), new Color(0xDCDCDC), + beeSpecies -> { + beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 61), 0.20f); + beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(CombType.DIVIDED), 0.125f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + }, + template -> { + AlleleHelper.instance.set(template, SPEED, Speed.SLOWER); + AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORT); + AlleleHelper.instance.set(template, FLOWERING, Flowering.SLOW); + AlleleHelper.instance.set(template, NOCTURNAL, true); + }, + dis -> { + IBeeMutationCustom tMutation = dis.registerMutation(DIAMOND, IRON, 3); + if (Loader.isModLoaded("ExtraUtilities")) + tMutation.requireResource(GameRegistry.findBlock("ExtraUtilities", "decorativeBlock1"), 5); + } + ), + NEUTRONIUM(GT_BranchDefinition.RADIOACTIVE, "Neutronium", false, new Color(0xFFF0F0), new Color(0xFAFAFA), + beeSpecies -> { + beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.NEUTRONIUM), 0.0001f); + beeSpecies.setHumidity(DAMP); + beeSpecies.setTemperature(HELLISH); + beeSpecies.setHasEffect(); + }, + template -> { + AlleleHelper.instance.set(template, SPEED, Speed.SLOWEST); + AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGEST); + AlleleHelper.instance.set(template, NOCTURNAL, true); + }, + dis -> { + IMutationCustom tMutation = dis.registerMutation(NAQUADRIA, AMERICIUM, 1, 2).setIsSecret(); + tMutation.requireResource(GregTech_API.sBlockMetal5, 2); + } + ), + DRAGONESSENCE(GT_BranchDefinition.HEE, "Dragonessence", true, new Color(0xFFA12B), new Color(0x911ECE), + beeSpecies -> { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 8), 0.30f); + beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(CombType.DRAGONESSENCE), 0.10f); + beeSpecies.setHumidity(ARID); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + }, + template -> { + AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGER); + AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectBeatific); + AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.BOTH_3); + AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.BOTH_3); + }, + dis -> { + IBeeMutationCustom tMutation = dis.registerMutation(GT_BeeDefinition.ECTOPLASMA, GT_BeeDefinition.ARCANESHARDS, 4); + tMutation.restrictHumidity(ARID); + if (Loader.isModLoaded("HardcoreEnderExpansion")) + tMutation.requireResource(GameRegistry.findBlock("HardcoreEnderExpansion", "essence_altar"), 1); + tMutation.addMutationCondition(new GTPP_Bees.DimensionMutationCondition(1, "End"));//End Dim + } + ), + TRINIUM(GT_BranchDefinition.SPACE, "Trinium", false, new Color(0xB0E0E6), new Color(0xC8C8D2), + beeSpecies -> { + beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.TRINIUM), 0.75f); + beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(CombType.QUANTIUM), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(COLD); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + }, + template -> AlleleHelper.instance.set(template, SPEED, GTPP_Bees.speedBlinding), + new Consumer<GTPP_BeeDefinition>() { + @Override + public void accept(GTPP_BeeDefinition dis) { + IBeeMutationCustom tMutation = dis.registerMutation(ENCELADUS, IRIDIUM, 4); + tMutation.requireResource(GregTech_API.sBlockMetal4, 9); + tMutation.addMutationCondition(new GTPP_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim + } + } + ), + + //Infinity Line + COSMICNEUTRONIUM(GT_BranchDefinition.PLANET, "CosmicNeutronium", false, new Color(0x484848), new Color(0x323232), + beeSpecies -> { + beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.COSMICNEUTRONIUM), 0.25f); + beeSpecies.setHumidity(DAMP); + beeSpecies.setTemperature(ICY); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + }, + template -> AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST), + dis -> { + IBeeMutationCustom tMutation = dis.registerMutation(NEUTRONIUM, BARNARDAF, 7, 10); + if (Loader.isModLoaded("Avaritia")) + tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 0); + } + ), + INFINITYCATALYST(GT_BranchDefinition.PLANET, "InfinityCatalyst", false, new Color(0xFFFFFF), new Color(0xFFFFFF), + beeSpecies -> { + beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.INFINITYCATALYST), 0.0000005f); + beeSpecies.setHumidity(DAMP); + beeSpecies.setTemperature(HELLISH); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + }, + template -> { + AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST); + AlleleHelper.instance.set(template, EFFECT, getEffect(EXTRABEES, "blindness")); + }, + dis -> { + IMutationCustom tMutation = dis.registerMutation(DOB, COSMICNEUTRONIUM, 3, 10).setIsSecret(); + if (Loader.isModLoaded("Avaritia")) + tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 1); + } + ), + INFINITY(GT_BranchDefinition.PLANET, "Infinity", false, new Color(0xFFFFFF), new Color(0xFFFFFF), + beeSpecies -> { + beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.INFINITY), 0.00000005f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(ICY); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + }, + template -> AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST), + dis -> { + IBeeMutationCustom tMutation = dis.registerMutation(INFINITYCATALYST, COSMICNEUTRONIUM, 1, 100); + if (Loader.isModLoaded("avaritiaddons")) + tMutation.requireResource(GameRegistry.findBlock("avaritiaddons", "InfinityChest"), 0); + } + ), + ; + private final GT_BranchDefinition branch; + private final GT_AlleleBeeSpecies species; + private final Consumer<GT_AlleleBeeSpecies> mSpeciesProperties; + private final Consumer<IAllele[]> mAlleles; + private final Consumer<GTPP_BeeDefinition> mMutations; + private IAllele[] template; + private IBeeGenome genome; + + GTPP_BeeDefinition(GT_BranchDefinition branch, + String binomial, + boolean dominant, + Color primary, + Color secondary, + Consumer<GT_AlleleBeeSpecies> aSpeciesProperties, + Consumer<IAllele[]> aAlleles, + Consumer<GTPP_BeeDefinition> aMutations + ) { + this.mAlleles = aAlleles; + this.mMutations = aMutations; + this.mSpeciesProperties = aSpeciesProperties; + String lowercaseName = this.toString().toLowerCase(Locale.ENGLISH); + String species = WordUtils.capitalize(lowercaseName); + + String uid = "gtpp.bee.species" + species; + String description = "for.description." + species; + String name = "for.bees.species." + lowercaseName; + GT_LanguageManager.addStringLocalization("for.bees.species." + lowercaseName, species, true); + + this.branch = branch; + this.species = new GT_AlleleBeeSpecies(uid, dominant, name, "GT++", description, branch.getBranch(), binomial, primary, secondary); + } + + public static void initBees() { + for (GTPP_BeeDefinition bee : values()) { + bee.init(); + } + for (GTPP_BeeDefinition bee : values()) { + bee.registerMutations(); + } + } + + protected static IAlleleBeeEffect getEffect(byte modid, String name) { + String s; + switch (modid) { + case GTPP_Bees.EXTRABEES: + s = "extrabees.effect." + name; + break; + case GTPP_Bees.GENDUSTRY: + s = "gendustry.effect." + name; + break; + case GTPP_Bees.MAGICBEES: + s = "magicbees.effect" + name; + break; + case GTPP_Bees.GREGTECH: + s = "gregtech.effect" + name; + break; + default: + s = "forestry.effect" + name; + break; + + } + return (IAlleleBeeEffect) AlleleManager.alleleRegistry.getAllele(s); + } + + protected static IAlleleFlowers getFlowers(byte modid, String name) { + String s; + switch (modid) { + case GTPP_Bees.EXTRABEES: + s = "extrabees.flower." + name; + break; + case GTPP_Bees.GENDUSTRY: + s = "gendustry.flower." + name; + break; + case GTPP_Bees.MAGICBEES: + s = "magicbees.flower" + name; + break; + case GTPP_Bees.GREGTECH: + s = "gregtech.flower" + name; + break; + default: + s = "forestry.flowers" + name; + break; + + } + return (IAlleleFlowers) AlleleManager.alleleRegistry.getAllele(s); + } + + protected static IAlleleBeeSpecies getSpecies(byte modid, String name) { + String s; + switch (modid) { + case GTPP_Bees.EXTRABEES: + s = "extrabees.species." + name; + break; + case GTPP_Bees.GENDUSTRY: + s = "gendustry.bee." + name; + break; + case GTPP_Bees.MAGICBEES: + s = "magicbees.species" + name; + break; + case GTPP_Bees.GREGTECH: + s = "gregtech.species" + name; + break; + default: + s = "forestry.species" + name; + break; + + } + IAlleleBeeSpecies ret = (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele(s); + return ret; + } + + + protected final void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + this.mSpeciesProperties.accept(beeSpecies); + } + + protected final void setAlleles(IAllele[] template) { + this.mAlleles.accept(template); + } + + protected final void registerMutations() { + this.mMutations.accept(this); + } + + private void init() { + setSpeciesProperties(species); + + template = branch.getTemplate(); + AlleleHelper.instance.set(template, SPECIES, species); + setAlleles(template); + + genome = BeeManager.beeRoot.templateAsGenome(template); + + BeeManager.beeRoot.registerTemplate(template); + } + + protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance) { + return registerMutation(parent1, parent2, chance, 1f); + } + + protected final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, IAlleleBeeSpecies parent2, int chance) { + return registerMutation(parent1, parent2, chance, 1f); + } + + protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, GTPP_BeeDefinition parent2, int chance) { + return registerMutation(parent1, parent2, chance, 1f); + } + + protected final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, GTPP_BeeDefinition parent2, int chance) { + return registerMutation(parent1, parent2, chance, 1f); + } + + protected final IBeeMutationCustom registerMutation(String parent1, String parent2, int chance) { + return registerMutation(getGregtechBeeType(parent1), getGregtechBeeType(parent2), chance, 1f); + } + + /** + * Diese neue Funtion erlaubt Mutationsraten unter 1%. Setze dazu die Mutationsrate als Bruch mit chance / chancedivider + * This new function allows Mutation percentages under 1%. Set them as a fraction with chance / chancedivider + */ + protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance, float chancedivider) { + return new GT_Bee_Mutation(parent1, parent2, this.getTemplate(), chance, chancedivider); + } + + protected final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, IAlleleBeeSpecies parent2, int chance, float chancedivider) { + return registerMutation(parent1.species, parent2, chance, chancedivider); + } + + protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, GTPP_BeeDefinition parent2, int chance, float chancedivider) { + return registerMutation(parent1, parent2.species, chance, chancedivider); + } + + protected final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, GTPP_BeeDefinition parent2, int chance, float chancedivider) { + return registerMutation(parent1.species, parent2, chance, chancedivider); + } + + protected final IBeeMutationCustom registerMutation(String parent1, String parent2, int chance, float chancedivider) { + return registerMutation(getGregtechBeeType(parent1), getGregtechBeeType(parent2), chance, chancedivider); + } + + @Override + public final IAllele[] getTemplate() { + return Arrays.copyOf(template, template.length); + } + + @Override + public final IBeeGenome getGenome() { + return genome; + } + + @Override + public final IBee getIndividual() { + return new Bee(genome); + } + + @Override + public final ItemStack getMemberStack(EnumBeeType beeType) { + return BeeManager.beeRoot.getMemberStack(getIndividual(), beeType.ordinal()); + } + + public final IBeeDefinition getRainResist() { + return new BeeVariation.RainResist(this); + } + + public static IAlleleBeeSpecies getGregtechBeeType(String name){ + Class<?> gtBees; + try { + Class gtBeeTypes = Class.forName("gregtech.loaders.misc.GT_BeeDefinition"); + Enum gtBeeEnumObject = Enum.valueOf(gtBeeTypes, name); + Field gtBeesField = FieldUtils.getDeclaredField(gtBeeTypes, "species", true); + gtBeesField.setAccessible(true); + ReflectionUtils.makeFieldAccessible(gtBeesField); + Object beeType = gtBeesField.get(gtBeeEnumObject); + return (IAlleleBeeSpecies) beeType; + } + catch (ClassNotFoundException | IllegalArgumentException | IllegalAccessException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java new file mode 100644 index 0000000000..35dbb1ded6 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java @@ -0,0 +1,33 @@ +package gtPlusPlus.xmod.forestry.bees.registry; + +import static gregtech.api.enums.GT_Values.MOD_ID_FR; + +import cpw.mods.fml.common.Loader; +import gregtech.GT_Mod; +import gtPlusPlus.xmod.forestry.bees.items.output.*; + +public class GTPP_Bees { + + public final static byte FORESTRY = 0; + public final static byte EXTRABEES = 1; + public final static byte GENDUSTRY = 2; + public final static byte MAGICBEES = 3; + public final static byte GREGTECH = 4; + + public static GTPP_Propolis propolis; + public static GTPP_Pollen pollen; + public static GTPP_Drop drop; + public static GTPP_Comb combs; + + public GTPP_Bees() { + if (Loader.isModLoaded(MOD_ID_FR) && GT_Mod.gregtechproxy.mGTBees) { + propolis = new GTPP_Propolis(); + pollen = new GTPP_Pollen(); + drop = new GTPP_Drop(); + drop.initDropsRecipes(); + combs = new GTPP_Comb(); + combs.initCombsRecipes(); + GTPP_BeeDefinition.initBees(); + } + } +} diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java new file mode 100644 index 0000000000..36ea72d1d1 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java @@ -0,0 +1,87 @@ +package gtPlusPlus.xmod.forestry.bees.registry; + +import forestry.api.apiculture.BeeManager; +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IClassification; +import forestry.apiculture.genetics.alleles.AlleleEffect; +import forestry.core.genetics.alleles.AlleleHelper; + +import java.util.Arrays; +import java.util.function.Consumer; + +import static forestry.api.apiculture.EnumBeeChromosome.*; +import static forestry.core.genetics.alleles.EnumAllele.*; +import static gtPlusPlus.xmod.forestry.bees.registry.GTPP_BeeDefinition.getEffect; +import static gtPlusPlus.xmod.forestry.bees.registry.GTPP_BeeDefinition.getFlowers; +import static gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees.EXTRABEES; + +public enum GTPP_BranchDefinition { + + HEE("Finis Expansiones", alleles -> { + AlleleHelper.instance.set(alleles, TEMPERATURE_TOLERANCE, Tolerance.BOTH_2); + AlleleHelper.instance.set(alleles, HUMIDITY_TOLERANCE, Tolerance.BOTH_2); + AlleleHelper.instance.set(alleles, NOCTURNAL, true); + AlleleHelper.instance.set(alleles, FLOWER_PROVIDER, getFlowers(EXTRABEES, "book")); + AlleleHelper.instance.set(alleles, LIFESPAN, Lifespan.SHORT); + AlleleHelper.instance.set(alleles, FLOWERING, Flowering.SLOW); + AlleleHelper.instance.set(alleles, SPEED, Speed.FASTEST); + AlleleHelper.instance.set(alleles, TERRITORY, Territory.LARGER); + } + ), + SPACE("Cosmicis", alleles -> { + AlleleHelper.instance.set(alleles, TEMPERATURE_TOLERANCE, Tolerance.DOWN_2); + AlleleHelper.instance.set(alleles, TOLERANT_FLYER, true); + AlleleHelper.instance.set(alleles, NOCTURNAL, true); + AlleleHelper.instance.set(alleles, FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); + AlleleHelper.instance.set(alleles, FLOWERING, Flowering.FASTEST); + AlleleHelper.instance.set(alleles, LIFESPAN, Lifespan.LONGEST); + AlleleHelper.instance.set(alleles, SPEED, Speed.FAST); + AlleleHelper.instance.set(alleles, TERRITORY, Territory.LARGEST); + } + ), + ; + + private static IAllele[] defaultTemplate; + private final IClassification branch; + private final Consumer<IAllele[]> mBranchProperties; + + GTPP_BranchDefinition(String scientific, Consumer<IAllele[]> aBranchProperties) { + this.branch = BeeManager.beeFactory.createBranch(this.name().toLowerCase(), scientific); + this.mBranchProperties = aBranchProperties; + } + + private static IAllele[] getDefaultTemplate() { + if (defaultTemplate == null) { + defaultTemplate = new IAllele[EnumBeeChromosome.values().length]; + + AlleleHelper.instance.set(defaultTemplate, SPEED, Speed.SLOWEST); + AlleleHelper.instance.set(defaultTemplate, LIFESPAN, Lifespan.SHORTER); + AlleleHelper.instance.set(defaultTemplate, FERTILITY, Fertility.NORMAL); + AlleleHelper.instance.set(defaultTemplate, TEMPERATURE_TOLERANCE, Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, NOCTURNAL, false); + AlleleHelper.instance.set(defaultTemplate, HUMIDITY_TOLERANCE, Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, TOLERANT_FLYER, false); + AlleleHelper.instance.set(defaultTemplate, CAVE_DWELLING, false); + AlleleHelper.instance.set(defaultTemplate, FLOWER_PROVIDER, Flowers.VANILLA); + AlleleHelper.instance.set(defaultTemplate, FLOWERING, Flowering.SLOWEST); + AlleleHelper.instance.set(defaultTemplate, TERRITORY, Territory.AVERAGE); + AlleleHelper.instance.set(defaultTemplate, EFFECT, AlleleEffect.effectNone); + } + return Arrays.copyOf(defaultTemplate, defaultTemplate.length); + } + + protected final void setBranchProperties(IAllele[] template) { + this.mBranchProperties.accept(template); + } + + public final IAllele[] getTemplate() { + IAllele[] template = getDefaultTemplate(); + setBranchProperties(template); + return template; + } + + public final IClassification getBranch() { + return branch; + } +} |
