@Override public void calculateMutations(ISpeciesRoot speciesRoot) { this.allMutations = new ArrayList<>(); List<? extends IMutation> speciesMutations = speciesRoot.getMutations(false); if (!speciesMutations.isEmpty()) { final Set<IMutation> mutations = new LinkedHashSet<>(speciesMutations); for (final IMutation mutation : mutations) { this.allMutations.add(mutation); final Set<IAlleleSpecies> participatingSpecies = new LinkedHashSet<>(); participatingSpecies.add(mutation.getAllele0()); participatingSpecies.add(mutation.getAllele1()); for (final IAlleleSpecies species : participatingSpecies) { this.allFurtherMutations.put(species, mutation); if (this.allActiveSpecies.contains(species)) { this.furtherMutations.put(species, mutation); } } IAllele[] template = mutation.getTemplate(); IAlleleSpecies speciesAllele = (IAlleleSpecies) template[0]; this.allResultantMutations.put(speciesAllele, mutation); this.resultantMutations.put(speciesAllele, mutation); } } }
private static String getMutationString(IMutation mutation) { String species0 = mutation.getAllele0().getUID(); String species1 = mutation.getAllele1().getUID(); String resultSpecies = mutation.getTemplate()[0].getUID(); return String.format(MUTATION_FORMAT, species0, species1, resultSpecies); }
private static int getGeneticAdvancement(IAlleleSpecies species, Set<IAlleleSpecies> exclude, IChromosomeType speciesChromosome) { int highest = 0; exclude.add(species); for (IMutation mutation : species.getRoot().getPaths(species, speciesChromosome)) { highest = getHighestAdvancement(mutation.getAllele0(), highest, exclude, speciesChromosome); highest = getHighestAdvancement(mutation.getAllele1(), highest, exclude, speciesChromosome); } return 1 + highest; }
Map<Object, Object> out = Maps.newHashMapWithExpectedSize(5); out.put("species1", mutation.getAllele0().getUID()); out.put("species2", mutation.getAllele1().getUID()); out.put("chance", mutation.getBaseChance());
private float getSpecificChance(IIndividual ind, IMutation mutation, IBreedingSystem system) { return system.getChance(mutation, getWindow().getPlayer(), mutation.getAllele0(), mutation.getAllele1()); }
@Override public void registerMutation(IMutation mutation) { if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getTemplate()[0].getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele0().getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele1().getUID())) { return; } butterflyMutations.add((IButterflyMutation) mutation); }
@Override public void registerMutation(IMutation mutation) { if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getTemplate()[0].getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele0().getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele1().getUID())) { return; } beeMutations.add((IBeeMutation) mutation); }
@Override public void registerMutation(IMutation mutation) { if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getTemplate()[0].getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele0().getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele1().getUID())) { return; } treeMutations.add((ITreeMutation) mutation); }
@Override public void registerMutation(IMutation mutation) { if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getTemplate()[0].getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele0().getUID())) { return; } if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele1().getUID())) { return; } FlowerRoot.flowerMutations.add((IFlowerMutation) mutation); }
@Nullable public IElementGroup createMutationResultant(int x, int y, int width, int height, IMutation mutation, IBreedingTracker breedingTracker) { if (breedingTracker.isDiscovered(mutation)) { IElementGroup element = new PaneLayout(x, y, width, height); IAlyzerPlugin plugin = mutation.getRoot().getAlyzerPlugin(); Map<String, ItemStack> iconStacks = plugin.getIconStacks(); ItemStack firstPartner = iconStacks.get(mutation.getAllele0().getUID()); ItemStack secondPartner = iconStacks.get(mutation.getAllele1().getUID()); element.add(new ItemElement(0, 0, firstPartner), createProbabilityAdd(mutation, 21, 4), new ItemElement(33, 0, secondPartner)); return element; } // Do not display secret undiscovered mutations. if (mutation.isSecret()) { return null; } return createUnknownMutationGroup(x, y, width, height, mutation); }
String species1 = encoded.getAllele0().getAlleleName(); String species2 = encoded.getAllele1().getAlleleName(); String mutationChanceKey = EnumMutateChance.rateChance(encoded.getBaseChance()).toString().toLowerCase(Locale.ENGLISH);
@Override protected void onIndexUpdate(int index, IMutation mutation) { ISpeciesRoot root = mutation.getRoot(); // Collection<String> conditions = mutation.getSpecialConditions(); String conditionText; if (!conditions.isEmpty()) { conditionText = String.format("[%.0f%%]", mutation.getBaseChance()); } else { conditionText = String.format("%.0f%%", mutation.getBaseChance()); } selectedElement.label(conditionText, 58, 0, -1, 12, GuiElementAlignment.TOP_LEFT, GuiConstants.BLACK_STYLE).addTooltip(conditions); selectedElement.drawable(62, 6, MUTATION_ARROW).addTooltip(conditions); // selectedElement.item(1, 1, root.getMemberStack(mutation.getAllele0(), root.getTypeForMutation(0))); selectedElement.item(40, 1, root.getMemberStack(mutation.getAllele1(), root.getTypeForMutation(1))); selectedElement.item(85, 1, root.getMemberStack(mutation.getTemplate(), root.getTypeForMutation(2))); } }
@Override public void getTooltip(final Tooltip tooltip, ITooltipFlag tooltipFlag) { if (this.type == 1 && this.discovered) { final IAlleleSpecies species1 = this.value.getAllele0(); final IAlleleSpecies species2 = this.value.getAllele1(); final IBreedingSystem system = ((WindowAbstractDatabase) this.getTopParent()).getBreedingSystem(); final float chance = system.getChance(this.value, Window.get(this).getPlayer(), species1, species2); tooltip.add(I18N.localise(DatabaseConstants.CONTROL_KEY + ".chance", chance)); for (final String string : this.value.getSpecialConditions()) { tooltip.add(string); } } } }
public static ResearchNote createMutationNote(GameProfile researcher, IMutation mutation) { NBTTagCompound compound = new NBTTagCompound(); compound.setString("ROT", mutation.getRoot().getUID()); compound.setString("AL0", mutation.getAllele0().getUID()); compound.setString("AL1", mutation.getAllele1().getUID()); compound.setString("RST", mutation.getTemplate()[0].getUID()); return new ResearchNote(researcher, MUTATION, compound); }
public ControlMutationItem(final ControlList<IMutation> controlList, final IMutation option, @Nullable final IAlleleSpecies species, final int y) { super(controlList, option, y); ControlIndividualDisplay firstIndividual = new ControlIndividualDisplay(this, 4, 4); ControlIndividualDisplay secondIndividual = new ControlIndividualDisplay(this, 44, 4); ControlIndividualDisplay resultIndividual = new ControlIndividualDisplay(this, 104, 4); ControlMutationSymbol addSymbol = new ControlMutationSymbol(this, 24, 4, 0); ControlMutationSymbol arrowSymbol = new ControlMutationSymbol(this, 64, 4, 1); final boolean isMaster = ((WindowAbstractDatabase) this.getTopParent()).isMaster(); final IBreedingSystem system = ((WindowAbstractDatabase) this.getTopParent()).getBreedingSystem(); if (this.getValue() != null) { final boolean isMutationDiscovered = system.isMutationDiscovered(this.getValue(), Window.get(this).getWorld(), Window.get(this).getUsername()); IAlleleSpecies allele = this.getValue().getAllele0(); EnumDiscoveryState state = ((isMaster || isMutationDiscovered) ? EnumDiscoveryState.SHOW : ((species.equals(allele)) ? EnumDiscoveryState.SHOW : EnumDiscoveryState.UNDETERMINED)); firstIndividual.setSpecies(allele, state); allele = this.getValue().getAllele1(); state = ((isMaster || isMutationDiscovered) ? EnumDiscoveryState.SHOW : ((species.equals(allele)) ? EnumDiscoveryState.SHOW : EnumDiscoveryState.UNDETERMINED)); secondIndividual.setSpecies(allele, state); allele = (IAlleleSpecies) this.getValue().getTemplate()[0]; state = ((isMaster || isMutationDiscovered) ? EnumDiscoveryState.SHOW : ((species.equals(allele)) ? EnumDiscoveryState.SHOW : EnumDiscoveryState.UNDETERMINED)); resultIndividual.setSpecies(allele, state); addSymbol.setValue(this.getValue()); arrowSymbol.setValue(this.getValue()); } } }
new ControlUnknownMutation(this, ox + dx, y, 44, 16); } else { new ControlResultantMutation(this, ox + dx, y, mutation, specificChance, system, mutation.getAllele0(), mutation.getAllele1());
IAlleleSpecies species0 = encoded.getAllele0(); IAlleleSpecies species1 = encoded.getAllele1(); IAlleleSpecies speciesResult = (IAlleleSpecies) encoded.getTemplate()[root.getSpeciesChromosomeType().ordinal()];