@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 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; } }
@Override public final void calculateArrays() { super.calculateArrays(); for (final IAlleleSpecies species : this.allActiveSpecies) { final IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; final ITreeGenome genome = (ITreeGenome) this.getSpeciesRoot().templateAsGenome(this.getSpeciesRoot().getTemplate(tSpecies)); IAlleleTreeSpecies treeSpecies = genome.getPrimary(); final ItemStack wood = treeSpecies.getWoodProvider().getWoodStack(); if (!wood.isEmpty()) { this.allWoods.add(wood); } /*for (final ItemStack wood : tSpecies.getRoot().templateAsIndividual(getSpeciesRoot().getTemplate(tSpecies.getUID())).getProduceList()) { this.allWoods.add(wood); }*/ this.allFruits.addAll(genome.getFruitProvider().getProducts().keySet()); } }
@Override public void onSyncBreedingTracker(final IBreedingTracker tracker) { this.discoveredFruits.clear(); this.discoveredWoods.clear(); for (final IAlleleSpecies species : this.getDiscoveredSpecies(tracker)) { final IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; final ITreeGenome genome = (ITreeGenome) this.getSpeciesRoot().templateAsGenome(this.getSpeciesRoot().getTemplate(tSpecies)); IAlleleTreeSpecies treeSpecies = genome.getPrimary(); final ItemStack wood = treeSpecies.getWoodProvider().getWoodStack(); if (!wood.isEmpty()) { this.discoveredWoods.add(wood); } /*for (final ItemStack wood : tSpecies.getRoot().templateAsIndividual(getSpeciesRoot().getTemplate(tSpecies.getUID())).getProduceList()) { this.discoveredWoods.add(wood); }*/ this.discoveredFruits.addAll(genome.getFruitProvider().getProducts().keySet()); } }
ItemStack stackWood = treeSpecies.getWoodProvider().getWoodStack(); if (!stackWood.isEmpty()) { products.add(stackWood);
ItemStack log = treeSpecies.getWoodProvider().getWoodStack(); if (log.isEmpty()) { new ControlText(contents, new Area(0, y, w2, th2), I18N.localise("extratrees.gui.database.log") + " : ", TextJustification.MIDDLE_RIGHT);