@Override protected void getLeafDrop(NonNullList<ItemStack> drops, World world, @Nullable GameProfile playerProfile, BlockPos pos, float saplingModifier, int fortune) { ITree tree = getTree(world, pos); if (tree == null) { return; } // Add saplings List<ITree> saplings = tree.getSaplings(world, playerProfile, pos, saplingModifier); for (ITree sapling : saplings) { if (sapling != null) { drops.add(TreeManager.treeRoot.getMemberStack(sapling, EnumGermlingType.SAPLING)); } } // Add fruitsk ITreeGenome genome = tree.getGenome(); IFruitProvider fruitProvider = genome.getFruitProvider(); if (fruitProvider.isFruitLeaf(genome, world, pos)) { NonNullList<ItemStack> produceStacks = tree.produceStacks(world, pos, Integer.MAX_VALUE); drops.addAll(produceStacks); } }
@Override protected void getLeafDrop(NonNullList<ItemStack> drops, World world, @Nullable GameProfile playerProfile, BlockPos pos, float saplingModifier, int fortune) { ITree tree = getTree(world, pos); if (tree == null) { return; } // Add saplings List<ITree> saplings = tree.getSaplings(world, playerProfile, pos, saplingModifier); for (ITree sapling : saplings) { if (sapling != null) { drops.add(TreeManager.treeRoot.getMemberStack(sapling, EnumGermlingType.SAPLING)); } } // Add fruitsk ITreeGenome genome = tree.getGenome(); IFruitProvider fruitProvider = genome.getFruitProvider(); if (fruitProvider.isFruitLeaf(genome, world, pos)) { NonNullList<ItemStack> produceStacks = tree.produceStacks(world, pos, Integer.MAX_VALUE); drops.addAll(produceStacks); } }
@Override public void setTree(ITree tree) { ITree oldTree = getTree(); super.setTree(tree); ITreeGenome genome = tree.getGenome(); species = genome.getPrimary(); if (oldTree != null && !tree.equals(oldTree)) { checkFruit = true; } if (tree.canBearFruit() && checkFruit && world != null && !world.isRemote) { IFruitProvider fruitProvider = genome.getFruitProvider(); if (fruitProvider.isFruitLeaf(genome, world, getPos())) { isFruitLeaf = fruitProvider.getFruitChance(genome, world, getPos()) >= world.rand.nextFloat(); } } if (isFruitLeaf) { IFruitProvider fruitProvider = genome.getFruitProvider(); if (world != null && world.isRemote) { fruitSprite = fruitProvider.getSprite(genome, world, getPos(), getRipeningTime()); } ripeningPeriod = (short) tree.getGenome().getFruitProvider().getRipeningPeriod(); } else if (world != null && world.isRemote) { fruitSprite = null; } markDirty(); }
String speciesUid = genome.getPrimary().getUID(); IBlockState defaultLeaves; if (fruitProvider.isFruitLeaf(genome, world, pos) && rand.nextFloat() <= fruitProvider.getFruitChance(genome, world, pos)) { defaultLeaves = ModuleArboriculture.getBlocks().getDefaultLeavesFruit(speciesUid); } else {
String speciesUid = genome.getPrimary().getUID(); IBlockState defaultLeaves; if (fruitProvider.isFruitLeaf(genome, world, pos) && rand.nextFloat() <= fruitProvider.getFruitChance(genome, world, pos)) { defaultLeaves = ModuleArboriculture.getBlocks().getDefaultLeavesFruit(speciesUid); } else {