public IGenome getGenome() { Preconditions.checkNotNull(individual, "Database Element has not been initialised."); return individual.getGenome(); }
@Override public ISpeciesRoot getSpeciesRoot(IIndividual individual) { return individual.getGenome().getSpeciesRoot(); }
@Override public boolean isGeneticEqual(IIndividual other) { return getGenome().isGeneticEqual(other.getGenome()); }
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(); } }
@Nullable @Override public String getCreatorModId(ItemStack itemStack) { IIndividual individual = getIndividual(itemStack); if (individual != null) { IAlleleSpecies species = individual.getGenome().getPrimary(); return species.getModID(); } return super.getCreatorModId(itemStack); }
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 int getColorFromItemstack(ItemStack stack, int tintIndex) { if (stack.getTagCompound() != null) { IIndividual individual = AlleleManager.alleleRegistry.getIndividual(stack); if (individual != null) { IAlleleSpecies species = individual.getGenome().getPrimary(); return species.getSpriteColour(tintIndex); } } return 0xffffff; }
public int getTokenColour() { if (tokenIndividual == null || !isVisible()) { return 0xffffff; } int iconColor = tokenIndividual.getGenome().getPrimary().getSpriteColour(0); if (state == State.MATCHED) { return ColourUtil.multiplyRGBComponents(iconColor, 0.7f); } else { return iconColor; } }
public final void drawSplitLine(String text, int x, int maxWidth, IIndividual individual, IChromosomeType chromosome, boolean inactive) { if (!inactive) { textLayout.drawSplitLine(text, x, maxWidth, getColorCoding(individual.getGenome().getActiveAllele(chromosome).isDominant())); } else { textLayout.drawSplitLine(text, x, maxWidth, getColorCoding(individual.getGenome().getInactiveAllele(chromosome).isDominant())); } }
public final void drawLine(String text, int x, IIndividual individual, IChromosomeType chromosome, boolean inactive) { if (!inactive) { textLayout.drawLine(text, x, getColorCoding(individual.getGenome().getActiveAllele(chromosome).isDominant())); } else { textLayout.drawLine(text, x, getColorCoding(individual.getGenome().getInactiveAllele(chromosome).isDominant())); } }
public final void drawRow(String text0, String text1, String text2, IIndividual individual, IChromosomeType chromosome) { textLayout.drawRow(text0, text1, text2, ColourProperties.INSTANCE.get("gui.screen"), getColorCoding(individual.getGenome().getActiveAllele(chromosome).isDominant()), getColorCoding(individual.getGenome().getInactiveAllele(chromosome).isDominant())); }
public final void drawChromosomeRow(String chromosomeName, IIndividual individual, IChromosomeType chromosome) { IAllele active = individual.getGenome().getActiveAllele(chromosome); IAllele inactive = individual.getGenome().getInactiveAllele(chromosome); textLayout.drawRow(chromosomeName, active.getAlleleName(), inactive.getAlleleName(), ColourProperties.INSTANCE.get("gui.screen"), getColorCoding(active.isDominant()), getColorCoding(inactive.isDominant())); }
@Override public NBTTagCompound writeToNBT(NBTTagCompound nbttagcompound) { nbttagcompound.setInteger("state", state.ordinal()); if (tokenIndividual != null) { nbttagcompound.setString("tokenSpecies", tokenIndividual.getGenome().getPrimary().getUID()); } return nbttagcompound; }
@Override public void mateWith(IIndividual individual) { if (getFlower() == null || !(individual instanceof IFlower)) { return; } IAlleleFlowerSpecies primary = (IAlleleFlowerSpecies) individual.getGenome().getPrimary(); IAlleleFlowerSpecies primary2 = getFlower().getGenome().getPrimary(); if (primary == primary2 || world.rand.nextInt(4) == 0) { getFlower().mate((IFlower) individual); world.markBlockRangeForRenderUpdate(pos, pos); } }
@Override public void writeData(PacketBufferForestry data) { data.writeEnum(state, State.VALUES); if (tokenIndividual != null) { data.writeBoolean(true); data.writeString(tokenIndividual.getGenome().getPrimary().getUID()); } else { data.writeBoolean(false); } }
public boolean canAlter(final ItemStack stack, final ItemStack acclim) { 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 float effect = this.type.getEffect(acclim); return (effect > 0.0f && tol.getBounds()[1] < 5) || (effect < 0.0f && tol.getBounds()[0] > -5); }
public ControlIndividualDisplay(IWidget parent, int x, int y, int size, IIndividual ind) { super(parent, x, y, size); IBreedingSystem system = Binnie.GENETICS.getSystem(ind.getGenome().getSpeciesRoot()); setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); setTooltip(); }
@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); }
private void processTurnResult(GameProfile gameProfile) { if (getGame().getStatus() != EscritoireGame.Status.SUCCESS) { return; } IIndividual individual = AlleleManager.alleleRegistry.getIndividual(getStackInSlot(InventoryEscritoire.SLOT_ANALYZE)); if (individual == null) { return; } IAlleleSpecies species = individual.getGenome().getPrimary(); for (ItemStack itemstack : species.getResearchBounty(world, gameProfile, individual, game.getBountyLevel())) { InventoryUtil.addStack(getInternalInventory(), itemstack, InventoryEscritoire.SLOT_RESULTS_1, InventoryEscritoire.SLOTS_RESULTS_COUNT, true); } }