@Override public NonNullList<ItemStack> produceStacks(World world, BlockPos pos, int ripeningTime) { return genome.getFruitProvider().getFruits(genome, world, pos, ripeningTime); } }
@Override public WorldGenerator getTreeGenerator(World world, BlockPos pos, boolean wasBonemealed) { return genome.getPrimary().getGenerator().getWorldGenerator(this); }
@Override public EnumPlantType getPlantType() { return tree.getGenome().getPrimary().getPlantType(); }
@Override public IFruitFamily getFruitFamily() { ITree tree = getTree(); if (tree == null) { return EnumFruitFamily.NONE; } return tree.getGenome().getFruitProvider().getFamily(); }
@Override public float getFermentationModifier(ItemStack itemstack) { itemstack = GeneticsUtil.convertToGeneticEquivalent(itemstack); ITree tree = TreeManager.treeRoot.getMember(itemstack); if (tree == null) { return 1.0f; } return tree.getGenome().getSappiness() * 10; }
public String getUnlocalizedName() { ITree tree = getTree(); if (tree == null) { return "for.leaves.corrupted"; } return tree.getGenome().getPrimary().getUnlocalizedName(); }
@Override public Map<ItemStack, Float> getProducts() { return genome.getFruitProvider().getProducts(); }
@Override public IFruitFamily getFruitFamily() { return allele.getProvider().getFamily(); }
private static int getRequiredMaturity(World world, ITree tree) { ITreekeepingMode treekeepingMode = TreeManager.treeRoot.getTreekeepingMode(world); float maturationModifier = treekeepingMode.getMaturationModifier(tree.getGenome(), 1f); return Math.round(tree.getRequiredMaturity() * maturationModifier); }
@Override public boolean setLogBlock(World world, BlockPos pos, EnumFacing facing) { return genome.getPrimary().getGenerator().setLogBlock(genome, world, pos, facing); }
@Override public Map<ItemStack, Float> getSpecialties() { return genome.getFruitProvider().getSpecialty(); }
/** * The chance that this leaves contains fruits or the chance that a pod block spawns. * * @param genome The genome of the tree of the pod / leaves block. * @return The chance that this leaves contains fruits or the chance that a pod block spawns. */ default float getFruitChance(ITreeGenome genome, World world, BlockPos pos) { ITreeRoot treeRoot = TreeManager.treeRoot; if (treeRoot == null) { return 0.0F; } float yieldModifier = treeRoot.getTreekeepingMode(world).getYieldModifier(genome, 1.0F); return genome.getYield() * yieldModifier * 2.5F; }
@Override public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos) { return genome.getPrimary().getPlantType(); }
@Override public String getModeName(World world) { return TreeManager.treeRoot.getTreekeepingMode(world).getName(); }
@Override public boolean setMode(World world, String modeName) { ITreekeepingMode mode = TreeManager.treeRoot.getTreekeepingMode(modeName); if (mode != null) { TreeManager.treeRoot.setTreekeepingMode(world, mode); return true; } return false; }
@Override protected void setSpeciesProperties(IAlleleTreeSpeciesBuilder treeSpecies) { treeSpecies.addFruitFamily(EnumFruitFamily.PRUNES) .addFruitFamily(EnumFruitFamily.POMES); }
@Override public String getPlankTexture() { if (this == DARK_OAK) { return "blocks/planks_big_oak"; } return "blocks/planks_" + getName(); }
@Override public EnumPlantType getPlantType() { ITree tree = getTree(); if (tree == null) { return EnumPlantType.Plains; } return tree.getGenome().getPrimary().getPlantType(); }
@Override protected void setSpeciesProperties(IAlleleTreeSpeciesBuilder treeSpecies) { treeSpecies.addFruitFamily(EnumFruitFamily.NUX) .addFruitFamily(EnumFruitFamily.PRUNES) .addFruitFamily(EnumFruitFamily.POMES); }
@Override protected void setSpeciesProperties(IAlleleTreeSpeciesBuilder treeSpecies) { treeSpecies.addFruitFamily(EnumFruitFamily.PRUNES) .addFruitFamily(EnumFruitFamily.POMES); }