@Override public boolean isValid(final ItemStack itemStack) { return AlleleManager.alleleRegistry.getIndividual(itemStack) != null; }
@Nonnull @Override public Map<Object, Object> getMeta(@Nonnull IPartialContext<ItemStack> context) { ItemStack stack = context.getTarget(); IIndividual individual = AlleleManager.alleleRegistry.getIndividual(stack); return individual != null ? context.makePartialChild(individual).getMeta() : Collections.emptyMap(); } }
@SideOnly(Side.CLIENT) public void setStack(ItemStack stack) { IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); setIndividual(ind); }
public static boolean isAnalysable(final ItemStack stack) { final IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); return ind != null || stack.getItem() instanceof IItemAnalysable || Binnie.GENETICS.getConversion(stack) != null; }
@Override public void readFromNBT(NBTTagCompound nbttagcompound) { super.readFromNBT(nbttagcompound); tankManager.readFromNBT(nbttagcompound); ItemStack stackToAnalyze = getStackInSlot(InventoryAnalyzer.SLOT_ANALYZE); if (!stackToAnalyze.isEmpty()) { specimenToAnalyze = AlleleManager.alleleRegistry.getIndividual(stackToAnalyze); } }
@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 static boolean isAnalysed(final ItemStack stack) { if (stack.isEmpty()) { return false; } final IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); if (ind != null) { return ind.isAnalyzed(); } return stack.getItem() instanceof IItemAnalysable && ((IItemAnalysable) stack.getItem()).isAnalysed(stack); }
public ItemStack alter(final ItemStack stack, final ItemStack acc) { final Random rand = new Random(); final float effect = this.type.getEffect(acc); if (rand.nextFloat() > Math.abs(effect)) { return stack; } 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 Tolerance newTol = Acclimatiser.alterTolerance(tol, effect); if (rand.nextFloat() > 1.0f / (-newTol.getBounds()[0] + newTol.getBounds()[1])) { return stack; } final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); boolean setPrimary = rand.nextBoolean(); boolean setSecondary = !setPrimary; Gene gene = new Gene(newTol.getAllele(), this.chromosomeType, root); Splicer.setGene(gene, stack, setPrimary, setSecondary); return stack; }
public boolean initialize(ItemStack specimen) { IIndividual individual = AlleleManager.alleleRegistry.getIndividual(specimen); if (individual == null) { return false; } IGenome genome = individual.getGenome(); ISpeciesRoot root = genome.getPrimary().getRoot(); tokenCount = getTokenCount(genome); for (int i = 0; i < tokenCount / 2; i++) { IAllele[] randomTemplate = root.getRandomTemplate(rand); String speciesUid = randomTemplate[root.getSpeciesChromosomeType().ordinal()].getUID(); gameTokens.add(new EscritoireGameToken(speciesUid)); gameTokens.add(new EscritoireGameToken(speciesUid)); } Collections.shuffle(gameTokens); return true; }
return; final IIndividual ind = AlleleManager.alleleRegistry.getIndividual(item); if (ind == null) { return;
public void probe(ItemStack specimen, IInventory inventory, int startSlot, int slotCount) { if (status != Status.PLAYING) { return; } IIndividual individual = AlleleManager.alleleRegistry.getIndividual(specimen); if (individual == null) { return; } if (bountyLevel > 1) { bountyLevel--; } IAlleleSpecies species = individual.getGenome().getPrimary(); gameBoard.hideProbedTokens(); int revealCount = getSampleSize(slotCount); for (int i = 0; i < revealCount; i++) { ItemStack sample = inventory.decrStackSize(startSlot + i, 1); if (!sample.isEmpty()) { if (rand.nextFloat() < species.getResearchSuitability(sample)) { gameBoard.probe(); } } } lastUpdate = System.currentTimeMillis(); }
@Override public void getTooltip(Tooltip tooltip, ITooltipFlag tooltipFlag) { ItemStack stack = getItemStack(); if (stack.isEmpty()) { return; } IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); if (ind == null) { return; } tooltip.add(ind.getGenome().getPrimary().getAlleleName()); } }
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); }
@Override public ModelResourceLocation getModelLocation(ItemStack itemstack) { NBTTagCompound tagCompound = itemstack.getTagCompound(); IButterflyGenome genome; int age; if (tagCompound == null) { genome = ButterflyDefinition.CabbageWhite.getGenome(); age = 0; } else { if (!tagCompound.hasKey(NBT_AGE)) { tagCompound.setInteger(NBT_AGE, 0); } age = tagCompound.getInteger(NBT_AGE); IIndividual individual = AlleleManager.alleleRegistry.getIndividual(itemstack); Preconditions.checkNotNull(individual); genome = (IButterflyGenome) individual.getGenome(); } return genome.getCocoon().getCocoonItemModel(age); }
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); } }
@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); }
@Override public void handleMouseClick(int mouseX, int mouseY, int mouseButton) { ItemStack stack = gui.mc.player.inventory.getItemStack(); if (!stack.isEmpty()) { IIndividual individual = AlleleManager.alleleRegistry.getIndividual(stack); if (individual != null) { IGenome genome = individual.getGenome(); onSelect(mouseButton == 0 ? genome.getPrimary() : genome.getSecondary()); return; } } if (mouseButton == 1) { onSelect(null); } else { SoundUtil.playButtonClick(); gui.onModuleClick(this); } }
IIndividual individual = AlleleManager.alleleRegistry.getIndividual(stack); if (individual == null) { return;
public static int getGenesToUse(ItemStack serum, ItemStack target) { if (serum.isEmpty() || target.isEmpty()) { return 1; } final IIndividual ind = AlleleManager.alleleRegistry.getIndividual(target); final IGene[] genes = ((IItemSerum) serum.getItem()).getGenes(serum); if (ind.getGenome().getSpeciesRoot() != ((IItemSerum) serum.getItem()).getSpeciesRoot(serum)) { return 1; } int i = 0; for (final IGene gene : genes) { if (ind.getGenome().getActiveAllele(gene.getChromosome()) != gene.getAllele() || ind.getGenome().getInactiveAllele(gene.getChromosome()) != gene.getAllele()) { ++i; } } return (i < 1) ? 1 : i; }
specimenToAnalyze = AlleleManager.alleleRegistry.getIndividual(inputStack); if (specimenToAnalyze == null) { return;