Posted June 20, 20178 yr Hello, I would like to plant sapling, based on leaf or wood type. I am in BreakEvent method and I have information about leaf and wood (log) - variable Block. Is it possible to plant specific sapling based on information given by wood (log) or leaf block? The thing is I need this planting as much flexibile as possible (across mods).. Thanks
June 20, 20178 yr Author Cool, so I need to get drop from leaf block? Something like this? Item leafAsDrop = world.getBlockState(blockPos).getBlock().getItemDropped(world.getBlockState(blockPos), null, 100);
June 20, 20178 yr Author Ok, could you give me some hint? I am getting empty list, because sapling doesnt drop every time. world.getBlockState(blockPos).getBlock().getDrops(world, blockPos, world.getBlockState(blockPos), 0).iterator().next() Besides, I thing that apple or whatever that can drop from leaf block could be in this list, right?
June 20, 20178 yr Set fortune to a level so that it drops leaves every time, use a for loop to get every individual itemstack Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 20, 20178 yr Author Ok I see One last question, how to plant that sapling? Because it is a ItemStack type.
June 20, 20178 yr world.setBlockState(pos, Block.getBlockFromItem(stack.getItem()).getDefaultState().withProperty(BlockSapling.TYPE, BlockPlanks.EnumType.TYPE)) Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 20, 20178 yr K Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 20, 20178 yr Author Yes this works, but I need to hold something in my hand. E.g. if I hold a sword and use onItemUse, the sword will disappear. Set<ItemStack> leafDrop = new HashSet<>(); int counter = 0; while (leafDrop.isEmpty() && counter <= 100) { leafDrop.addAll(world.getBlockState(blockPos).getBlock().getDrops(world, blockPos, world.getBlockState(blockPos), 3)); counter++; } for (ItemStack itemStack : leafDrop) { itemStack.onItemUse(entityPlayer, world, plantPos, EnumHand.MAIN_HAND, EnumFacing.NORTH, 0, 0, 0); } Am I doing something wrong?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.