default ItemStack getMemberStack(IAllele[] template, ISpeciesType type) { return getMemberStack(templateAsIndividual(template), type); }
@Override @Nullable public IIndividual getIndividual(String uid) { IAllele[] template = this.getSpeciesRoot().getTemplate(uid); if (template == null) { return null; } return this.getSpeciesRoot().templateAsIndividual(template); }
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(); } }
public static List<GenepoolRecipeWrapper> create() { List<GenepoolRecipeWrapper> recipes = new ArrayList<>(); Collection<ISpeciesRoot> roots = AlleleManager.alleleRegistry.getSpeciesRoot().values(); for (ISpeciesRoot root : roots) { ISpeciesType[] speciesTypes = root.getIconType().getClass().getEnumConstants(); IAllele[] defaultTemplate = root.getDefaultTemplate(); IIndividual individual = root.templateAsIndividual(defaultTemplate); for (ISpeciesType speciesType : speciesTypes) { ItemStack memberStack = root.getMemberStack(individual, speciesType); memberStack.setItemDamage(OreDictionary.WILDCARD_VALUE); GenepoolRecipeWrapper recipeWrapper = new GenepoolRecipeWrapper(memberStack); recipes.add(recipeWrapper); } } return recipes; } }
@Override public final IIndividual getDefaultIndividual() { return this.getSpeciesRoot().templateAsIndividual(this.getSpeciesRoot().getDefaultTemplate()); }
@Override public ItemStack apply(ItemStack stack, Random rand, LootContext context) { ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(stack); if (speciesRoot != null) { ISpeciesType speciesType = speciesRoot.getType(stack); if (speciesType != null) { IAllele[] template = speciesRoot.getTemplate(speciesUid); if (template != null) { IIndividual individual = speciesRoot.templateAsIndividual(template); return speciesRoot.getMemberStack(individual, speciesType); } } } return stack; }
private void setTokenSpecies(String speciesUid) { IAllele allele = AlleleManager.alleleRegistry.getAllele(speciesUid); if (allele instanceof IAlleleSpecies) { IAlleleSpecies species = (IAlleleSpecies) allele; ISpeciesRoot root = species.getRoot(); IAllele[] template = root.getTemplate(species); this.tokenIndividual = root.templateAsIndividual(template); this.tokenStack = root.getMemberStack(this.tokenIndividual, root.getIconType()); } }
public static List<IsolatorRecipeWrapper> create() { List<IsolatorRecipeWrapper> recipes = new ArrayList<>(); Collection<ISpeciesRoot> roots = AlleleManager.alleleRegistry.getSpeciesRoot().values(); for (ISpeciesRoot root : roots) { ISpeciesType[] speciesTypes = root.getIconType().getClass().getEnumConstants(); IChromosomeType speciesChromosomeType = root.getSpeciesChromosomeType(); IAllele[] defaultTemplate = root.getDefaultTemplate(); IIndividual individual = root.templateAsIndividual(defaultTemplate); for (ISpeciesType speciesType : speciesTypes) { ItemStack memberStack = root.getMemberStack(individual, speciesType); memberStack.setItemDamage(OreDictionary.WILDCARD_VALUE); IAllele species = defaultTemplate[speciesChromosomeType.ordinal()]; ItemStack filledSequence = ItemSequence.create(new Gene(species, speciesChromosomeType, root), false); IsolatorRecipeWrapper recipeWrapper = new IsolatorRecipeWrapper(memberStack, filledSequence); recipes.add(recipeWrapper); } } return recipes; } }
IChromosomeType speciesChromosomeType = root.getSpeciesChromosomeType(); IAllele[] defaultTemplate = root.getDefaultTemplate(); IIndividual individual = root.templateAsIndividual(defaultTemplate); for (ISpeciesType speciesType : system.getActiveTypes()) { if (system.isDNAManipulable(speciesType)) {
public ItemScrollList(final AnalystPageDatabase analystPageDatabase, Collection<IAlleleSpecies> options, IBreedingSystem system) { super(analystPageDatabase.scroll, 0, 0, analystPageDatabase.scroll.getWidth(), analystPageDatabase.scroll.getHeight()); this.options = options; this.system = system; this.analystPageDatabase = analystPageDatabase; int maxBiomePerLine = (getWidth() - 4 + 2) / 18; int biomeListX = -6 + (getWidth() - (maxBiomePerLine * 18 - 2)) / 2; int dx = 0; int dy = 0; for (IAlleleSpecies species : options) { IIndividual ind = system.getSpeciesRoot().templateAsIndividual(system.getSpeciesRoot().getTemplate(species)); new SpeciesIndividualDisplay(this, biomeListX, dx, dy, ind, species); dx += 18; if (dx >= 18 * maxBiomePerLine) { dx = 0; dy += 18; } } setSize(new Point(getWidth(), 4 + dy + 18)); }
private void refreshPickup() { this.panelPickup.deleteAllChildren(); int i = 0; IBreedingSystem system = Binnie.GENETICS.getSystem(this.root); for (ISpeciesType type : system.getActiveTypes()) { IIndividual ind = this.root.templateAsIndividual(this.template); ind.analyze(); ItemStack stack = this.root.getMemberStack(ind, type); ControlItemDisplay display = new ControlItemDisplay(this.panelPickup, 4 + i % 3 * 18, 4 + i / 3 * 18); display.setItemStack(stack); display.setTooltip(); display.addEventHandler(EventMouse.Down.class, EventHandlerOrigin.SELF, display, event -> { NBTTagCompound nbt = new NBTTagCompound(); stack.writeToNBT(nbt); Window.get(event.getOrigin()).sendClientAction(ACTION_GENESIS, nbt); }); ++i; } }
IIndividual individual = speciesRoot.templateAsIndividual(primaryAlleles, secondaryAlleles); if (original.isAnalyzed()) { individual.analyze();
public void setSpecies(final IAlleleSpecies species, EnumDiscoveryState state) { final ISpeciesRoot speciesRoot = Binnie.GENETICS.getSpeciesRoot(species); final IBreedingSystem system = Binnie.GENETICS.getSystem(speciesRoot); final IAllele[] template = system.getSpeciesRoot().getTemplate(species); final IIndividual ind = system.getSpeciesRoot().templateAsIndividual(template); super.setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); this.species = species; final GameProfile username = Window.get(this).getUsername(); if (state == EnumDiscoveryState.UNDETERMINED) { state = (system.isSpeciesDiscovered(species, Window.get(this).getWorld(), username) ? EnumDiscoveryState.DISCOVERED : EnumDiscoveryState.UNDISCOVERED); } if (Window.get(this) instanceof WindowAbstractDatabase && ((WindowAbstractDatabase) Window.get(this)).isMaster()) { state = EnumDiscoveryState.SHOW; } this.discovered = state; this.addAttribute(Attribute.MOUSE_OVER); }