@Override public boolean plantSapling(World world, ITree tree, GameProfile owner, BlockPos pos) { BlockRegistryArboriculture blocks = ModuleArboriculture.getBlocks(); IBlockState state = blocks.saplingGE.getDefaultState().withProperty(BlockSapling.TREE, tree.getGenome().getPrimary()); boolean placed = world.setBlockState(pos, state); if (!placed) { return false; } IBlockState blockState = world.getBlockState(pos); Block block = blockState.getBlock(); if (blocks.saplingGE != block) { return false; } TileSapling sapling = TileUtil.getTile(world, pos, TileSapling.class); if (sapling == null) { world.setBlockToAir(pos); return false; } sapling.setTree(tree.copy()); sapling.getOwnerHandler().setOwner(owner); PacketFXSignal packet = new PacketFXSignal(PacketFXSignal.SoundFXType.BLOCK_PLACE, pos, blockState); NetworkUtil.sendNetworkPacket(packet, pos, world); return true; }