@Override public void registerTemplate(String identifier, IAllele[] template) { treeTemplates.add(new Tree(TreeManager.treeRoot.templateAsGenome(template))); speciesTemplates.put(identifier, template); }
return TreeManager.treeRoot.templateAsGenome(template);
@Override public Collection<IAlleleSpecies> getTreesThatHaveWood(final ItemStack wood, final boolean master, final World world, final GameProfile player) { final Collection<IAlleleSpecies> set = master ? this.getAllSpecies() : this.getDiscoveredSpecies(world, player); final List<IAlleleSpecies> found = new ArrayList<>(); for (final IAlleleSpecies species : set) { IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; ITreeGenome genome = TreeManager.treeRoot.templateAsGenome(TreeManager.treeRoot.getTemplate(tSpecies)); IAlleleTreeSpecies treeSpecies = genome.getPrimary(); final ItemStack woodStack = treeSpecies.getWoodProvider().getWoodStack(); if (woodStack.isItemEqual(wood)) { found.add(species); } } return found; }
private static void generateBiomeCache(World world, Random rand) { for (IAlleleTreeSpecies species : getSpecies()) { IAllele[] template = TreeManager.treeRoot.getTemplate(species); ITreeGenome genome = TreeManager.treeRoot.templateAsGenome(template); ITree tree = TreeManager.treeRoot.getTree(world, genome); String treeUID = genome.getPrimary().getUID(); IGrowthProvider growthProvider = species.getGrowthProvider(); for (Biome biome : Biome.REGISTRY) { Set<ITree> trees = biomeCache.computeIfAbsent(biome.getRegistryName(), k -> new HashSet<>()); if (growthProvider.isBiomeValid(tree, biome) && TreeConfig.isValidBiome(treeUID, biome)) { trees.add(tree); } } } } }
private void init() { template = branch.getTemplate(); AlleleHelper.getInstance().set(template, EnumTreeChromosome.SPECIES, species); setAlleles(template); genome = TreeManager.treeRoot.templateAsGenome(template); TreeManager.treeRoot.registerTemplate(template); }
public void init() { template = new AlleleTemplate(); template.set(EnumTreeChromosome.SPECIES, species); setAlleles(template); genome = TreeManager.treeRoot.templateAsGenome(template.getAlleles()); TreeManager.treeRoot.registerTemplate(template.getAlleles()); }
private static Collection<IAlleleSpecies> getTreesThatMakePlanks(ItemStack fruit, boolean master, World world, GameProfile player) { if (fruit == null) { return new ArrayList<>(); } ITreeRoot treeRoot = TreeManager.treeRoot; IBreedingSystem system = Binnie.GENETICS.getSystem(treeRoot); final Collection<IAlleleSpecies> set = master ? system.getAllSpecies() : system.getDiscoveredSpecies(world, player); final List<IAlleleSpecies> found = new ArrayList<>(); for (final IAlleleSpecies species : set) { final IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; ITreeGenome genome = treeRoot.templateAsGenome(treeRoot.getTemplate(tSpecies)); IAlleleTreeSpecies treeSpecies = genome.getPrimary(); final ItemStack woodStack = treeSpecies.getWoodProvider().getWoodStack(); ItemStack plankProduct = LumbermillRecipeManager.getPlankProduct(woodStack, world); if (!plankProduct.isEmpty() && fruit.isItemEqual(plankProduct)) { found.add(species); } } return found; } }