@Override public boolean isValid() { for (ItemStack item : items) { if (!item.isEmpty() && AlleleManager.alleleRegistry.getSpeciesRoot(item) != null) { return true; } } return false; }
@Override public boolean test(ItemStack itemStack) { ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(speciesRootUid); return speciesRoot != null && speciesRoot.isMember(itemStack); } }
private ITreeRoot getRoot() { if (root == null && NullHelper.untrust(AlleleManager.alleleRegistry) != null) { root = (ITreeRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees"); } return root; }
@Override public boolean canSlotAccept(int slotIndex, ItemStack itemStack) { itemStack = GeneticsUtil.convertToGeneticEquivalent(itemStack); ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(itemStack); return speciesRoot != null; }
@Override public boolean isValid(final ItemStack object) { final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(object); return root != null && Binnie.GENETICS.getSystem(root).isDNAManipulable(object); }
@Override public boolean isValid(final ItemStack object) { final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(object); return root != null && Binnie.GENETICS.getSystem(root).isDNAManipulable(object); }
@ModuleContainerObjectMethod.Inject( module = IntegrationForestry.analyzerMod, worldThread = false, modId = Constants.MOD_ID, doc = "function():table -- Get a list of all species roots" ) public static Object[] getSpeciesRoots(IContext<IModuleContainer> context, Object[] args) { return new Object[]{new LuaList<>(alleleRegistry.getSpeciesRoot().keySet()).asMap()}; }
@Nullable private static ToleranceSystem getToleranceSystem(final ItemStack stack, final ItemStack acclim) { final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); if (root != null) { for (final ToleranceSystem system : Acclimatiser.toleranceSystems) { if (Objects.equals(root.getUID(), system.getSpeciesRootUid()) && system.getType().hasEffect(acclim)) { return system; } } } return null; }
@Override public void putStack(@Nonnull ItemStack stack, int realsize) { if (AlleleManager.alleleRegistry.getSpeciesRoot(stack) != null) { stack = stack.copy(); stack.setCount(1); setItem(getSlot(), stack); } else { setItem(getSlot(), ItemStack.EMPTY); } cb.run(); }
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 List<String> getHints() { ItemStack specimen = itemInventory.getSpecimen(); if (!specimen.isEmpty()) { ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(specimen); if (speciesRoot != null) { IAlyzerPlugin alyzerPlugin = speciesRoot.getAlyzerPlugin(); return alyzerPlugin.getHints(); } } return Collections.emptyList(); } }
@Override public void registerMutation(IMutation mutation) { String mutationString = getMutationString(mutation); if (!discoveredMutations.contains(mutationString)) { discoveredMutations.add(mutationString); markDirty(); ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(speciesRootUID()); ForestryEvent event = new ForestryEvent.MutationDiscovered(speciesRoot, username, mutation, this); MinecraftForge.EVENT_BUS.post(event); syncToPlayer(emptyStringCollection, Collections.singleton(mutationString), emptyStringCollection); } }
private static void syncBreedingTrackers(EntityPlayer player) { IAlleleRegistry alleleRegistry = AlleleManager.alleleRegistry; Collection<ISpeciesRoot> speciesRoots = alleleRegistry.getSpeciesRoot().values(); for (ISpeciesRoot speciesRoot : speciesRoots) { IBreedingTracker breedingTracker = speciesRoot.getBreedingTracker(player.getEntityWorld(), player.getGameProfile()); breedingTracker.synchToPlayer(player); } }
@Override public void registerSpecies(IAlleleSpecies species) { if (!discoveredSpecies.contains(species.getUID())) { discoveredSpecies.add(species.getUID()); ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(speciesRootUID()); ForestryEvent event = new ForestryEvent.SpeciesDiscovered(speciesRoot, username, species, this); MinecraftForge.EVENT_BUS.post(event); syncToPlayer(Collections.singleton(species.getUID()), emptyStringCollection, emptyStringCollection); } }
public Gene(final NBTTagCompound nbt) { this.allele = AlleleManager.alleleRegistry.getAllele(nbt.getString("allele")); String rootKey = nbt.getString("root"); ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(rootKey); Preconditions.checkArgument(root != null, "Could not find root: %s", rootKey); this.root = root; final int chromoID = nbt.getByte("chromo"); Preconditions.checkArgument(chromoID >= 0 && chromoID < this.root.getKaryotype().length, "Invalid chromosomeId: %s", chromoID); this.chromosome = this.root.getKaryotype()[chromoID]; }
@Override public void readFromNBT(final NBTTagCompound nbt) { this.allele = AlleleManager.alleleRegistry.getAllele(nbt.getString("allele")); String rootKey = nbt.getString("root"); ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(rootKey); Preconditions.checkArgument(root != null, "Could not find root: %s", rootKey); this.root = root; final int chromoID = nbt.getByte("chromo"); Preconditions.checkArgument(chromoID >= 0 && chromoID < this.root.getKaryotype().length, "Invalid chromosomeId: %s", chromoID); this.chromosome = this.root.getKaryotype()[chromoID]; }
@Override public boolean isValid(ItemStack itemStack, EnumFacing facing) { ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(itemStack); IIndividual individual = null; ISpeciesType type = null; if (root != null) { individual = root.getMember(itemStack); type = root.getType(itemStack); } return isValid(facing, itemStack, new FilterData(root, individual, type)); }
public static ItemStack convertToGeneticEquivalent(ItemStack foreign) { if (AlleleManager.alleleRegistry.getSpeciesRoot(foreign) == null) { IIndividual individual = getGeneticEquivalent(foreign); if (individual != null) { ItemStack equivalent = TreeManager.treeRoot.getMemberStack(individual, EnumGermlingType.SAPLING); equivalent.setCount(foreign.getCount()); return equivalent; } } return foreign; }
@Override protected void dropFewItems(boolean playerKill, int lootLevel) { for (ItemStack stack : contained.getLootDrop(this, playerKill, lootLevel)) { ItemStackUtil.dropItemStackAsEntity(stack, world, posX, posY, posZ); } // Drop pollen if any IIndividual pollen = getPollen(); if (pollen != null) { ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(pollen); ItemStack pollenStack = root.getMemberStack(pollen, EnumGermlingType.POLLEN); ItemStackUtil.dropItemStackAsEntity(pollenStack, world, posX, posY, posZ); } }
public ItemHoneyComb() { super(EnumHoneyComb.values()); this.setCreativeTab(Tabs.tabApiculture); this.setUnlocalizedName("honey_comb"); setRegistryName("honey_comb"); BeeManager.beeRoot.setResearchSuitability(new ItemStack(this, 1, OreDictionary.WILDCARD_VALUE), RESEARCH_SUITABILITY); setResearchSuitability(TreeManager.treeRoot); setResearchSuitability(ButterflyManager.butterflyRoot); setResearchSuitability(AlleleManager.alleleRegistry.getSpeciesRoot(BOTANY_UID)); }