@Nonnull @Override public Map<Object, Object> getMeta(@Nonnull IPartialContext<IIndividual> context) { IIndividual individual = context.getTarget(); Map<Object, Object> out = Maps.newHashMap(); out.put("id", individual.getIdent()); out.put("analyzed", individual.isAnalyzed()); if (individual.isAnalyzed()) { out.put("genome", context.makePartialChild(individual.getGenome()).getMeta()); Map<String, Boolean> pureBred = Maps.newHashMap(); for (IChromosomeType type : individual.getGenome().getSpeciesRoot().getKaryotype()) { pureBred.put(type.getName().toLowerCase(Locale.ENGLISH), individual.isPureBred(type)); } out.put("pureBred", pureBred); } return out; } }
@Override public void registerPickup(IIndividual individual) { ISpeciesRoot speciesRoot = individual.getGenome().getPrimary().getRoot(); if (!speciesRoot.getUID().equals(speciesRootUID())) { return; } if (!individual.isPureBred(EnumBeeChromosome.SPECIES)) { return; } if (!speciesRoot.getCombinations(individual.getGenome().getPrimary()).isEmpty()) { return; } registerSpecies(individual.getGenome().getPrimary()); }
@Override protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { super.drawGuiContainerBackgroundLayer(f, i, j); String header = Translator.translateToLocal("for.gui.page") + " " + (pageCurrent + 1) + "/" + pageMax; fontRenderer.drawString(header, guiLeft + 95 + textLayout.getCenteredOffset(header, 98), guiTop + 10, ColourProperties.INSTANCE.get("gui.title")); IIndividual individual = getIndividualAtPosition(i, j); if (individual == null) { displayBreedingStatistics(10); } if (individual != null) { RenderHelper.enableGUIStandardItemLighting(); textLayout.startPage(); displaySpeciesInformation(true, individual.getGenome().getPrimary(), iconStacks.get(individual.getIdent()), 10); if (!individual.isPureBred(EnumTreeChromosome.SPECIES)) { displaySpeciesInformation(individual.isAnalyzed(), individual.getGenome().getSecondary(), iconStacks.get(individual.getGenome().getSecondary().getUID()), 10); } textLayout.endPage(); } }