@Override public ISpeciesRoot getSpeciesRoot() { return AlleleManager.alleleRegistry.getSpeciesRoot("rootFlowers"); } }
@Nullable private IAlleleBeeSpecies getExtraBeesSpecies(String species) { return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele("extrabees.species." + species); } }
public IClassification getBranch() { if (branch == null) { String scientific = branchName.substring(0, 1).toUpperCase() + branchName.substring(1).toLowerCase(); String uid = "flowers." + branchName.toLowerCase(); IClassification branch = AlleleManager.alleleRegistry.getClassification("genus." + uid); if (branch == null) { branch = AlleleManager.alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.GENUS, uid, scientific); } this.branch = branch; } return branch; }
private static void markAllelesAsValid(IChromosomeType existingType, IChromosomeType newType) { IAlleleRegistry alleleRegistry = AlleleManager.alleleRegistry; Collection<IAllele> alleles = alleleRegistry.getRegisteredAlleles(existingType); for (IAllele allele : alleles) { alleleRegistry.addValidAlleleTypes(allele, newType); } }
public Gene(final NBTTagCompound nbt) { this.allele = AlleleManager.alleleRegistry.getAllele(nbt.getString("allele")); String rootKey = nbt.getString("root"); ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(rootKey); Preconditions.checkArgument(root != null, "Could not find root: %s", rootKey); this.root = root; final int chromoID = nbt.getByte("chromo"); Preconditions.checkArgument(chromoID >= 0 && chromoID < this.root.getKaryotype().length, "Invalid chromosomeId: %s", chromoID); this.chromosome = this.root.getKaryotype()[chromoID]; }
public static void registerCocoonAlleles() { for (IAlleleButterflyCocoon cocoonAllele : cocoonAlleles) { AlleleManager.alleleRegistry.registerAllele(cocoonAllele, EnumButterflyChromosome.COCOON); } }
@Override public List<IAlleleButterflyCocoon> getAllowedValues() { List<IAlleleButterflyCocoon> trees = new ArrayList<>(); for (IAllele allele : AlleleManager.alleleRegistry.getRegisteredAlleles().values()) { if (allele instanceof IAlleleButterflyCocoon) { trees.add((IAlleleButterflyCocoon) allele); } } return trees; }
private void refreshSpecies() { final ItemStack item = this.getWindowInventory().getStackInSlot(INDIVIDUAL_SLOT); if (item.isEmpty() || !AlleleManager.alleleRegistry.isIndividual(item)) { return; final IIndividual ind = AlleleManager.alleleRegistry.getIndividual(item); if (ind == null) { return; final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(item); if (root == null) { return;
@Override public boolean isValid(final ItemStack itemStack) { return AlleleManager.alleleRegistry.getIndividual(itemStack) != null; }
public ItemStack alter(final ItemStack stack, final ItemStack acc) { final Random rand = new Random(); final float effect = this.type.getEffect(acc); if (rand.nextFloat() > Math.abs(effect)) { return stack; } final IIndividual member = AlleleManager.alleleRegistry.getIndividual(stack); final IGenome genome = member.getGenome(); final IAlleleTolerance tolAllele = (IAlleleTolerance) genome.getActiveAllele(this.chromosomeType); final Tolerance tol = Tolerance.get(tolAllele.getValue()); final Tolerance newTol = Acclimatiser.alterTolerance(tol, effect); if (rand.nextFloat() > 1.0f / (-newTol.getBounds()[0] + newTol.getBounds()[1])) { return stack; } final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); boolean setPrimary = rand.nextBoolean(); boolean setSecondary = !setPrimary; Gene gene = new Gene(newTol.getAllele(), this.chromosomeType, root); Splicer.setGene(gene, stack, setPrimary, setSecondary); return stack; }
@Override public boolean canSlotAccept(int slotIndex, ItemStack itemStack) { if (slotIndex >= SLOT_INPUT_1 && slotIndex < SLOT_INPUT_1 + tile.getGame().getSampleSize(SLOTS_INPUT_COUNT)) { ItemStack specimen = getStackInSlot(SLOT_ANALYZE); if (specimen.isEmpty()) { return false; } IIndividual individual = AlleleManager.alleleRegistry.getIndividual(specimen); return individual != null && individual.getGenome().getPrimary().getResearchSuitability(itemStack) > 0; } return slotIndex == SLOT_ANALYZE && (AlleleManager.alleleRegistry.isIndividual(itemStack) || GeneticsUtil.getGeneticEquivalent(itemStack) != null); }
@Override public final boolean isBlacklisted(final IAllele allele) { return AlleleManager.alleleRegistry.isBlacklisted(allele.getUID()); }
@Override public boolean isValid(ItemStack value) { return AlleleManager.alleleRegistry.isIndividual(value) || Binnie.GENETICS.getConversion(value) != null; } }
ExtraBeeBranchDefinition(String scientific) { branch = BeeManager.beeFactory.createBranch(name().toLowerCase(Locale.ENGLISH), scientific); IClassification parent = AlleleManager.alleleRegistry.getClassification("family.apidae"); if (parent != null) { parent.addMemberGroup(branch); } }
@Override public void readFromNBT(final NBTTagCompound nbt) { this.allele = AlleleManager.alleleRegistry.getAllele(nbt.getString("allele")); String rootKey = nbt.getString("root"); ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(rootKey); Preconditions.checkArgument(root != null, "Could not find root: %s", rootKey); this.root = root; final int chromoID = nbt.getByte("chromo"); Preconditions.checkArgument(chromoID >= 0 && chromoID < this.root.getKaryotype().length, "Invalid chromosomeId: %s", chromoID); this.chromosome = this.root.getKaryotype()[chromoID]; }
@Override public IAlleleBeeSpecies build() { AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES); return this; }
@Override public Collection<IAlleleSpecies> getSpecies() { Collection<IAlleleSpecies> species = new ArrayList<>(); for (IAllele allele : AlleleManager.alleleRegistry.getRegisteredAlleles().values()) { if (allele instanceof IAlleleTreeSpecies) { species.add((IAlleleTreeSpecies) allele); } } return species; }
@Nonnull @Override public Map<Object, Object> getMeta(@Nonnull IPartialContext<ItemStack> context) { ItemStack stack = context.getTarget(); IIndividual individual = AlleleManager.alleleRegistry.getIndividual(stack); return individual != null ? context.makePartialChild(individual).getMeta() : Collections.emptyMap(); } }
if (focusValue instanceof ItemStack) { ItemStack focusStack = (ItemStack) focusValue; if (AlleleManager.alleleRegistry.isIndividual(focusStack)) { if (focus.getMode() == IFocus.Mode.INPUT) { ItemStack serum = recipeWrapper.getInputSerum(); return; } else if (focus.getMode() == IFocus.Mode.OUTPUT) { IIndividual individual = AlleleManager.alleleRegistry.getIndividual(focusStack); if (individual != null) { ISpeciesRoot speciesRoot = individual.getGenome().getSpeciesRoot();
private static int getHighestAdvancement(IAlleleSpecies mutationSpecies, int highest, Set<IAlleleSpecies> exclude, IChromosomeType speciesChromosome) { if (exclude.contains(mutationSpecies) || AlleleManager.alleleRegistry.isBlacklisted(mutationSpecies.getUID())) { return highest; } int otherAdvance = getGeneticAdvancement(mutationSpecies, exclude, speciesChromosome); return otherAdvance > highest ? otherAdvance : highest; } }