@Override public ItemStack getItemStackRepresentitive() { final IIndividual first = this.getSpeciesRoot().getIndividualTemplates().get(0); return this.getSpeciesRoot().getMemberStack(first, this.getDefaultType()); }
private static ImmutableMap<IAlleleSpecies, ItemStack> createEntries() { ImmutableMap.Builder<IAlleleSpecies, ItemStack> entries = ImmutableMap.builder(); for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { for (IIndividual individual : root.getIndividualTemplates()) { IAlleleSpecies species = individual.getGenome().getPrimary(); ItemStack itemStack = root.getMemberStack(root.templateAsIndividual(root.getTemplate(species)), root.getIconType()); entries.put(species, itemStack); } } return entries.build(); } }
private void loadAlleles() { this.invalidChromosomeTypes.clear(); for (IBreedingSystem system : BREEDING_SYSTEMS.values()) { ISpeciesRoot root = system.getSpeciesRoot(); Map<IChromosomeType, List<IAllele>> chromosomeMap = new LinkedHashMap<>(); for (IChromosomeType chromosome : root.getKaryotype()) { TreeSet<IAllele> alleles = new TreeSet<>(new ComparatorAllele()); for (IIndividual individual : root.getIndividualTemplates()) { IGenome genome = individual.getGenome(); IAllele activeAllele = genome.getActiveAllele(chromosome); IAllele inactiveAllele = genome.getInactiveAllele(chromosome); if (chromosome.getAlleleClass().isInstance(activeAllele)) { alleles.add(activeAllele); } if (!chromosome.getAlleleClass().isInstance(inactiveAllele)) { continue; } alleles.add(inactiveAllele); } system.addExtraAlleles(chromosome, alleles); if (alleles.size() == 0) { this.invalidChromosomeTypes.add(chromosome); } else { final List<IAllele> alleleList = new ArrayList<>(alleles); chromosomeMap.put(chromosome, alleleList); } } this.chromosomeArray.put(root, chromosomeMap); } }
public GuiNaturalistInventory(ISpeciesRoot speciesRoot, EntityPlayer player, Container container, int page, int maxPages) { super(Constants.TEXTURE_PATH_GUI + "/apiaristinventory.png", container); this.speciesRoot = speciesRoot; this.pageCurrent = page; this.pageMax = maxPages; xSize = 196; ySize = 202; for (IIndividual individual : speciesRoot.getIndividualTemplates()) { iconStacks.put(individual.getIdent(), speciesRoot.getMemberStack(individual, speciesRoot.getIconType())); } breedingTracker = speciesRoot.getBreedingTracker(player.world, player.getGameProfile()); }
public SpeciesDisplayHelper(ISpeciesRoot root) { this.root = root; ISpeciesType type = root.getIconType(); for (IIndividual individual : root.getIndividualTemplates()) { ItemStack itemStack = root.getMemberStack(individual, type); iconStacks.put(type, individual.getGenome().getPrimary().getUID(), itemStack); } }
@Override public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) { if (this.isInCreativeTab(tab)) { for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { for (IIndividual template : root.getIndividualTemplates()) { if (template.getGenome().getPrimary().isSecret()) { continue; } IGeneItem geneItem = new GeneArrayItem(); for (IChromosomeType type : root.getKaryotype()) { IChromosome chromosome = template.getGenome().getChromosomes()[type.ordinal()]; if (chromosome != null) { IAllele active = chromosome.getActiveAllele(); geneItem.addGene(new Gene(active, type, root)); } } ItemStack array = new ItemStack(this); geneItem.writeToItem(array); items.add(array); } } } }